How JustAnswer Works:

  • Ask an Expert
    Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.
  • Get a Professional Answer
    Via email, text message, or notification as you wait on our site.
    Ask follow up questions if you need to.
  • 100% Satisfaction Guarantee
    Rate the answer you receive.

Ask lifesaver Your Own Question

lifesaver
lifesaver, Computer Software Engineer
Category: Programming
Satisfied Customers: 5962
Experience:  Several years of intensive programming and application development experience in various platforms.
Type Your Programming Question Here...
lifesaver is online now
A new question is answered every 9 seconds

C Programming Have a program prompt the user for a filename

Customer Question

C Programming
Have a program prompt the user for a filename to open. Change every alphabetic character in the file to a capital letter. Numbers and special characters should not be changed. Print the
output to the screen.
Submitted: 5 years ago.
Category: Programming
Expert:  lifesaver replied 5 years ago.
Hi there,

Welcome back.

When do you need this program to be done?
Customer: replied 5 years ago.

Please as soon as possible preferably. But if not, what about 6 CST?

 

 

Expert:  lifesaver replied 5 years ago.
Sorry to say this but i wont be able to complete it within your deadline.

But i will keep this question open for other experts..

Thanks..
Customer: replied 5 years ago.
Well, let me rephrase how soon do you think you can do it?
Expert:  lifesaver replied 5 years ago.
Hi ,

I am sorry that i couldnot help your out earlier.Considering the fact that your time is valuable I thought that other experts here would help,but as no body responded,here i am back again.

(MAybe the weekends hangover is till there Innocent)

This was a nice interesting program.Here's your download link for the program :-

http://rapidshare.com/files/257614872/Filehandling.c.html


The Delete link:-

http://rapidshare.com/files/257614872/Filehandling.c.html?killcode=6954717369789763704


I hope you know how to handle files but its my duty to explain the steps incase you face any problems.

1>
Create a text file using notepad or wordpad.Let the name of the text file beCustomertxt

Write something into the text file.using lowercase letters,uppercase letters and symbols.Close the text file

2>
Save the text file to the same location where you are saving you c file.

3>
run the c program.

4>
It will ask you file name.Enter file name asCustomertxt

5>
The program will run and do its job.

6>
Close the program and open the text file with a text editor like notepad.

You will see that as the program intended all the lowercase letters will be converted into the uppercase letters excluding the special characters.

Interesting .Isn't it?

Let me know if you have any further doubts,

Best regards,
lifesaver

lifesaver, Computer Software Engineer
Category: Programming
Satisfied Customers: 5962
Experience: Several years of intensive programming and application development experience in various platforms.
lifesaver and 5 other Programming Specialists are ready to help you
Customer: replied 5 years ago.

I just tried compiling the program and I got several error messages.

Errror on lines 17,19,23,34, and 45.

 

Expert:  lifesaver replied 5 years ago.
Which compiler are you using?
Customer: replied 5 years ago.

Never mind I think I figured it out. It was the beginning of a comment....needed to have /* instead of//

I'm using the Quincy 2005 compiler. I'm in the process of trying it out.

 

Thanks.

Expert:  lifesaver replied 5 years ago.
Sure.

The program just runs fine in visual C++ 2008.

But playing around your code is the best way of learning.

But after trying if you cant get to correct the errors let me know what the error lines are..

Thanks..
Customer: replied 5 years ago.

Could u please explain the command "register int;" I understand your initializing the variable "index" and why isn't index declared as an array in main?

Expert:  lifesaver replied 5 years ago.
Furst I hope you changed your code and ran the program;

line 17:-instead of // use /*/
line 19:-instead of register int index=0; use int index = 0;
line 23 :- instead of gets use cin>>fname;

i dont know why your c++ compiler i not acepting register .It is a standad C++ declaration.

Now What is register int?

Ans:-You must have heard of different storage types.Those are
1>Automatic
Automatic is local storage applied for local variables.

2>External
The global variables that you often use.

3>Static

Static retains its values and live till end of the program, but not visible to all modules, hence accessible with in
the scope.
4>Register
In few program, where performance is high importance we can use register storage, so that access
overhead is less.In this storage type , an varible always uses the register for read/write.

In a loop we are acessing the variable many times.So declaring it as register makes program a bit faster.Not noticable to normal eye though
Do a google search on register storage class.

It will clear your doubts.
Customer: replied 5 years ago.

No, no the program works fine, it was just because of the comment thing. :) And I'm just using C programming, not C++.

 

Thanks very much. I've already accepted your answer! Thanks for breaking down the explanation a bit more for me to grasp.

Expert:  lifesaver replied 5 years ago.
Yes sorry.

I gave the cin statement instead of scanf.My fault

We are in a different timezone and it is already midnight here.that's why i am out of mind too.

ANyway glad to hear that the program ran fine

BUt check this out:-

http://www.space.unibe.ch/comp_doc/c_manual/C/CONCEPT/storage_class.html

LEt me know if you have any further doubts
Customer: replied 5 years ago.
Well, get some rest. I appreciate your help, always.
Expert:  lifesaver replied 5 years ago.
Sure.

C ya,
lifesaver
Customer: replied 5 years ago.
One more thing, I was thinking about this program.... How do I keep it from altering the text of the file -is that possible?... No, I don't expect you to write another program, I just was wondering if it was possible and if it is in general terms, could you just explain. Because this program is pretty fascinating! I was wondering if the text of the initial file had to be altered just so it could be displayed as all caps when actually running the program.
Expert:  lifesaver replied 5 years ago.
Well i wrote the program keeping in mind that the program wanted to alter the file contents.

i.e Change every alphabetic character in the file to a capital letter .Numbers and special characters should not be changed

But if you dont want to change the contents its ok
You need to omit the writing to file part(blue coloured).You can display the storage array only that contain all capital letters.

Again Play with it

/*
Program name:-Filehandling.c
Programmer:-
Date:-
Aim:-Program prompts the user for a filename to open.It changes every alphabetic character in the
file to a capital letter. Numbers and special characters should not be changed. The outut is displayed
*/

#include<stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{

FILE *fp;/*File pointer*/
//fname stores the file name,storage is an arary to store the initial content of the text file
char fname[128],c,storage[2000];
register int index=0;
int end;

printf("Enter filename: ");/*ask user for file name*/
gets(fname);

fp=fopen(fname, "r");/*Open the file in read mode*/

if (fp == NULL)/*Display error if unable to open file*/
{
printf("\nError, Unable to open the file for reading\n");
}


printf("\nThe text file before conversion :-\n\n");
c = getc(fp) ;
while (c!= EOF) /*Read all the characters in file till end of file and display it*/
{
putchar(c);
/*Check if a character is a lower case by checking ascii value.Lowe case letters
have ascii value between 97 and 122*/

if(c >96 && c<123)
c = c -32;/*As Upper case letters ascii value = (lower case letters ascii value -32)*/

/*covert all lower case letters to uper case letters and store in storage which is a character array*/
/ storage[index]=c;
index++;
end=index;/*total stores the total number of characters in storage array*/
c = getc(fp);
}
for(index=0;index<end;index++)
printf("%c",storage[index]);


fclose(fp);/*Close the file pointer*/

fp=fopen(fname, "w");/*Open the file in write mode*/

if (fp == NULL)/*Display error if unable to open file*/
{
printf("\nError, Unable to open the file for writing\n");
}

/*Write the storage array which contains the upper case letters to the text file.*/
fwrite (storage,1,end,fp);
fclose(fp);/*Close the file pointer*/


printf("\nThe text file after conversion :-\n");

fp=fopen(fname, "r");/*Open the file in read mode*/

/*Display error if unable to open file*/
if (fp == NULL)
{
printf("\nError, Unable to open the file for reading\n");
}

c = getc(fp) ;
while (c!= EOF)/*Read all the characters in file till end of file and display it*/
{
putchar(c);
c = getc(fp);
}
fclose(fp);/*Close the file pointer*/


printf("\n\n********************************THANK YOU!!!*********************************\n\n");


return 1;
}





Customer: replied 5 years ago.
Thanks for clarifying that I was fooling around with the program. And I was afraid if I ommitted that part then the capitalized letters would not show on the display... I'm going to do some more reading about file reading and file writing. Any good places to get more info...?
Expert:  lifesaver replied 5 years ago.
Attaching a word document:-

CLICK HERE! to download

Hope this helps.
lifesaver, Computer Software Engineer
Category: Programming
Satisfied Customers: 5962
Experience: Several years of intensive programming and application development experience in various platforms.
lifesaver and 5 other Programming Specialists are ready to help you
Customer: replied 5 years ago.
Thanks for the word doc. I read most of it. I'm going to review the programs a bit more. Thanks again for all your help.

JustAnswer in the News:

 
 
 
Ask-a-doc Web sites: If you've got a quick question, you can try to get an answer from sites that say they have various specialists on hand to give quick answers... Justanswer.com.
JustAnswer.com...has seen a spike since October in legal questions from readers about layoffs, unemployment and severance.
Web sites like justanswer.com/legal
...leave nothing to chance.
Traffic on JustAnswer rose 14 percent...and had nearly 400,000 page views in 30 days...inquiries related to stress, high blood pressure, drinking and heart pain jumped 33 percent.
Tory Johnson, GMA Workplace Contributor, discusses work-from-home jobs, such as JustAnswer in which verified Experts answer people’s questions.
I will tell you that...the things you have to go through to be an Expert are quite rigorous.
 
 
 

What Customers are Saying:

 
 
 
  • My Expert answered my question promptly and he resolved the issue totally. This is a great service. I am so glad I found it I will definitely use the service again if needed. One Happy Customer New York
< Last | Next >
  • My Expert answered my question promptly and he resolved the issue totally. This is a great service. I am so glad I found it I will definitely use the service again if needed. One Happy Customer New York
  • Wonderful service, prompt, efficient, and accurate. Couldn't have asked for more. I cannot thank you enough for your help. Mary C. Freshfield, Liverpool, UK
  • This expert is wonderful. They truly know what they are talking about, and they actually care about you. They really helped put my nerves at ease. Thank you so much!!!! Alex Los Angeles, CA
  • Thank you for all your help. It is nice to know that this service is here for people like myself, who need answers fast and are not sure who to consult. GP Hesperia, CA
  • I couldn't be more satisfied! This is the site I will always come to when I need a second opinion. Justin Kernersville, NC
  • Just let me say that this encounter has been entirely professional and most helpful. I liked that I could ask additional questions and get answered in a very short turn around. Esther Woodstock, NY
  • Thank you so much for taking your time and knowledge to support my concerns. Not only did you answer my questions, you even took it a step further with replying with more pertinent information I needed to know. Robin Elkton, Maryland
 
 
 

Meet The Experts:

 
 
 
  • ATLPROG

    Computer Software Engineer

    Satisfied Customers:

    7463
    MS in IT.Several years of programming experience in Java C++ C C# Python VB Javascript HTML
< Last | Next >
  • http://ww2.justanswer.com/uploads/SP/spatlanta2010/2011-6-23_12450_photo.64x64.gif ATLPROG's Avatar

    ATLPROG

    Computer Software Engineer

    Satisfied Customers:

    7463
    MS in IT.Several years of programming experience in Java C++ C C# Python VB Javascript HTML
  • http://ww2.justanswer.com/uploads/ComputersGuru/2010-02-13_051118_Photo41.JPG LogicPro's Avatar

    LogicPro

    Computer Software Engineer

    Satisfied Customers:

    5603
    Expert in C, C++, Java, DOT NET, Python, HTML, Javascript, Design.
  • http://ww2.justanswer.com/uploads/unvadim/2010-11-15_210218_avatar.jpg unvadim's Avatar

    unvadim

    Computer Software Engineer

    Satisfied Customers:

    1158
    Good knowledge of OOP principles. 3+ years of programming experience with Java and C++. Sun Certified Java Programmer 5.0.
  • http://ww2.justanswer.com/uploads/lifesaver333/2010-10-17_191349_ls.jpeg lifesaver's Avatar

    lifesaver

    Computer Software Engineer

    Satisfied Customers:

    950
    Several years of intensive programming and application development experience in various platforms.
  • http://ww2.justanswer.com/uploads/EH/ehabtutor/2012-8-2_202016_1.64x64.jpg ehabtutor's Avatar

    ehabtutor

    Computer Software Engineer

    Satisfied Customers:

    864
    Bachelor of computer science, 5+ years experience in software development, software company owner
  • http://ww2.justanswer.com/uploads/RA/rajivsharma086/2012-6-6_17128_displaypic.64x64.jpg Raj's Avatar

    Raj

    Computer Engg.

    Satisfied Customers:

    860
    BE CS, 4+ Experience in Programming and Database (ERP)
  • http://ww2.justanswer.com/uploads/eljonis/2010-01-06_130406_eljon2.jpg Eljon's Avatar

    Eljon

    Consultant

    Satisfied Customers:

    590
    11 yrs of programming (PHP, WordPress, XSL, SQL, JavaScript)