| | |
urgent: modify code please
Please support our C advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved |
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.
•
•
Join Date: Jul 2008
Posts: 41
Reputation:
Solved Threads: 0
i think i have to sleep now because i am living in someone else house now a days
but tomorrow i will be here at same time
and at morning time i will check for updates
PLEASE RUN THIS PROGRAM ON UR COMPUTER AND SEE WHAT EXCEPTIONS COME THERE
I AM USING BLOODSHED DEV C++ 4.96 VERSION
THANKS ALOT I REALLY APPREICAITE YOU PEOPLE GIVING ME UR IMPORTANT TIME
but tomorrow i will be here at same time
and at morning time i will check for updates
PLEASE RUN THIS PROGRAM ON UR COMPUTER AND SEE WHAT EXCEPTIONS COME THERE
I AM USING BLOODSHED DEV C++ 4.96 VERSION
THANKS ALOT I REALLY APPREICAITE YOU PEOPLE GIVING ME UR IMPORTANT TIME
•
•
Join Date: Jul 2008
Posts: 41
Reputation:
Solved Threads: 0
c Syntax (Toggle Plain Text)
#include<stdio.h>[LIST=1] #include<string.h> #include<conio.h> #pragma warning(disable: 4996) float avg(float x); main() { FILE *fp; int k,students=10,subjects=4,i,j,id_number,fail; float marks[100],total=0,average; char name[30],course_enrolled[30],filename[255],date_of_birth[30]; printf("filename\n"); scanf("%s",filename); fp=fopen(filename,"w"); for(i=1;i<=2;i++) { printf("Enter Name of Student\n"); fscanf(stdin,"%s",name); fprintf(fp,"%s\n",name); printf("Enter Course In Which Student Is Enrolled\n"); fscanf(stdin,"%s",course_enrolled); fprintf(fp,"%s\n",course_enrolled); printf("Enter Date Of Birth\n"); fscanf(stdin,"%s",date_of_birth); fprintf(fp," %s\n",date_of_birth); printf("Enter ID Number\n"); fscanf(stdin,"%d",&id_number); fprintf(fp," %d\n",id_number); for(j=1;j<=4;j++) { printf("Enter Marks for Subject\n"); scanf("%f",&marks[j]); total=total+marks[j]; if(marks[j]<50) fail=fail+1; else continue; } average=avg(total); total=0.0; printf("AVERAGE=%2f\n",average); fprintf(fp," %2f\n",average); if(average>=70) printf("Grade A\n"); else if(average>=60&&average<70) printf("Grade B\n"); else if(average>=50&&average<60) printf("Grade C\n"); else if(average>=45&&average<50) printf("Grade D\n"); else if(average>=40&&average<45) printf("Grade E\n"); else if(average<40) printf("Fail\n"); else continue; if(fail>=2) printf("Student is failed and cann;t promote\n"); else continue; fail=0; } fclose(fp); printf("Input filename"); scanf("%s",filename); fp=fopen(filename,"r"); for(k=1;k<=2;k++) { fscanf(fp,"NAME= %s\tCOURSE ENTITLLED= %s\t ID NUMBER= %d\t DATE OF BIRTH= %s AVERAGE= %2f\n",name,course_enrolled,&id_number,date_of_birth,average); fprintf(stdout,"NAME= %s\tCOURSE ENTITLLED= %s\t ID NUMBER= %d\t DATE OF BIRTH= %s AVERAGE= %2f\n",name,course_enrolled,id_number,date_of_birth,average); } fclose(fp); getch(); } float avg(float x) { float a=0.0; a=(x/400)*100; return (a); }[/LIST]
Last edited by Ancient Dragon; Jul 22nd, 2008 at 7:15 pm. Reason: add line numbers
delete lines 70 and 71 because the program already knows the filename from lines 13 and 14. No point in asking for the filename again.
line 75: fscanf() is mal-formed. Here is correction
line 75: fscanf() is mal-formed. Here is correction
C Syntax (Toggle Plain Text)
while(fscanf(fp,"%s%s%s%d%f", name, course_enrolled, date_of_birth, &id_number, &average) > 0) { fprintf(stdout,"NAME= %s\tCOURSE ENTITLLED= %s\t ID NUMBER= %d\t DATE OF BIRTH= %s\tAVERAGE= %f\n",name,course_enrolled,id_number,date_of_birth,average); }
Last edited by Ancient Dragon; Jul 22nd, 2008 at 7:28 pm.
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.
•
•
Join Date: Jun 2008
Posts: 79
Reputation:
Solved Threads: 7
I believe this will work better. Note that you were writing out the variables in a slightly different order than you were fscanf'ing them back in, and the failing message shouldn't go into the data file, because you have no way of handling it when the data is read back in.
Instead, just add an if statement to your program after the data is read back in from the file, and then print the "student has failed and can't promote" message, onto the screen.
Instead, just add an if statement to your program after the data is read back in from the file, and then print the "student has failed and can't promote" message, onto the screen.
C Syntax (Toggle Plain Text)
#include<stdio.h> #include<string.h> #include<conio.h> #pragma warning(disable: 4996) float avg(float x); int main() { FILE *fp; int k,students=10,subjects=4,i,j,id_number,fail; float marks[100],total=0,average; char name[30],course_enrolled[30],filename[10],date_of_birth[30]; //printf("filename\n"); //scanf("%s",filename); printf("\n\n\n\n"); fp=fopen("filename","w"); for(i=1;i<=10;i++) { printf("Enter Name of Student\n"); fscanf(stdin,"%s",name); fprintf(fp,"%s\n",name); printf("Enter Course In Which Student Is Enrolled\n"); fscanf(stdin,"%s",course_enrolled); fprintf(fp,"%s\n",course_enrolled); printf("Enter Date Of Birth\n"); fscanf(stdin,"%s",date_of_birth); fprintf(fp," %s\n",date_of_birth); printf("Enter ID Number\n"); fscanf(stdin,"%d",&id_number); fprintf(fp," %d\n",id_number); for(j=0;j<4;j++) { printf("Enter Marks for Subject\n"); scanf("%f",&marks[j]); total=total+marks[j]; if(marks[j]<50) fail=fail+1; // else // continue; } average=avg(total); total=0.0; printf("AVERAGE=%f\n",average); fprintf(fp," %f\n",average); if(average>=70) printf("Grade A\n"); else if(average>=60&&average<70) printf("Grade B\n"); else if(average>=50&&average<60) printf("Grade C\n"); else if(average>=45&&average<50) printf("Grade D\n"); else if(average>=40&&average<45) printf("Grade E\n"); else if(average<40) printf("Fail\n"); // else // continue; if(fail>=2) { printf("Student is failed and can't promote\n"); //fprintf(fp,"Student is failed and can't promote\n"); } // else // continue; fail=0; } fclose(fp); fp=fopen("filename","r"); for(k=1;k<=10;k++) { //printf("Input filename"); //scanf("%s",filename); //fscanf(fp,"NAME= %s\tCOURSE ENTITLLED= %s\t ID NUMBER= %d\t DATE OF BIRTH= %s\tAVERAGE= %f\n",name,course_enrolled,&id_number,date_of_birth,average); fscanf(fp,"%s %s %s %d %f",name,course_enrolled,date_of_birth, &id_number,&average); fprintf(stdout,"NAME= %s\tCOURSE= %s\t ID= %d\t DOB= %s\tAVERAGE= %f\n",name,course_enrolled,id_number,date_of_birth,average); if(average < 40) printf("\n*This student has failed and can't promote*\n"); } fclose(fp); getch(); return 0; } float avg(float x) { float a=0.0; a=(x/400)*100; return (a); }
Last edited by Adak; Jul 22nd, 2008 at 7:38 pm.
![]() |
Similar Threads
- Urgent help on Applet (Java)
- I am struk up with this problem (ASP.NET)
- Urgent!!!!!!URGENTTTTT! (Python)
- Help me in username and password validation through accessing the database (ASP.NET)
- urgent (Java)
- data grid.... very urgent...... (C#)
- how to read data from database page by page, please it is urgent... (JSP)
- Urgent help needed over here (C++)
- login code in C#(its urgent) (C#)
Other Threads in the C Forum
- Previous Thread: two letters = one number?
- Next Thread: please help with this question.....
| Thread Tools | Search this Thread |
* ansi api array arrays bash binarysearch calculate centimeter changingto char character convert copyanyfile copypdffile creafecopyofanytypeoffileinc createcopyoffile createprocess() dynamic execv fflush file floatingpointvalidation fork forloop frequency function getlogicaldrivestrin givemetehcodez grade graphics gtkwinlinux histogram homework i/o ide inches include infiniteloop initialization input intmain() iso keyboard km license linked linkedlist linux list looping loopinsideloop. lowest matrix microsoft multi mysql oddnumber open opendocumentformat openwebfoundation overwrite pdf pointer pointers posix power program programming pyramidusingturboccodes radix read recursion recv recvblocked reversing scanf scheduling segmentationfault send shape single socketprogramming stack standard strchr string strings suggestions test testautomation testing threads unix urboc user variable whythiscodecausesegmentationfault win32api windowsapi






