antreas18 Δημοσ. 31 Ιανουαρίου 2010 Δημοσ. 31 Ιανουαρίου 2010 Εχουμε φτιαξει το παρακατω και ψαχνουμε να βρουμε τα λαθη που εχει και δεν γινεται η διορθωση. Κομματι του κωδικα που υποτιθεται οτι κανει την διορθωση σε μια εγγραφη. //DIORTHOSI STOIXEIWN if (choice == 2) { if( (fptr=fopen("mathitis.rec","rb+"))==NULL) /* open file */ {printf("Can't open file agents.rec"); exit(1);} do { printf("\nEnter AM: "); gets(numstr); οκ το εφτιαξα...μπορει να κλειδωθει το θεμα. //mathitis.AM = atoi(numstr); am = atoi(numstr); //mathitis.AM; offset=(am)*sizeof(mathitis); if(fseek(fptr,offset,0)!=0) { printf("Can't move pointer there."); getch(); exit(1); } fread(&mathitis,sizeof(mathitis),1,fptr); //fclose(fptr); if(mathitis.AM == am) { //fclose(fptr); //fptr=fopen("mathitis.rec","wb"); printf("\nEnter name: "); /* get name */ gets(mathitis.name); printf("Enter bathmos1: "); /* get number */ gets(numstr); mathitis.b1=atoi(numstr); printf("Enter bathmos2: "); /* get height */ gets(numstr); mathitis.b2=atoi(numstr); printf("Enter bathmos3: "); /* get number */ gets(numstr); mathitis.b3=atoi(numstr); printf("Enter bathmos4: "); /* get height */ gets(numstr); mathitis.b4=atoi(numstr); printf("Enter bathmos5: "); /* get number */ gets(numstr); mathitis.b5=atoi(numstr); fwrite(&mathitis, sizeof(mathitis),1,fptr); /* write struct to file */ } else { printf("\nStudent not found!\n"); } printf("Edit another student (y/n)? "); } while(getche()=='y'); fclose(fptr); /* close file */ getch(); } ουσιαστικα γινεται η αναζητηση με βαση το αμ και μας παει εκει και του αλλαζουμε ονομα η βαθμους.. *Η δομη ειναι αυτη struct { int AM; char name[20]; int b1,b2,b3,b4,b5; } mathitis; οκ το εφτιαξα μπορει να κλειδωθει το θεμα!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.