#include #include struct student{ long FN; int oc[6]; double sru; }; int BrS; student MasStud[25]; char bf[5]; FILE *fp; char fime[31]; student stud; void readStud(student *st){ int i; printf("fak. Nomer: ");scanf("%d",&st->FN); printf("Ocenki po 3-te disciplini\n"); for (i=0;i<3;i++){ printf("Po %d-a disciplina:",i+1);scanf("%d",st->oc[i]); } gets(bf); } void srUsp (student *st){ int j,s=0; for (j=0;j<3;j++) s+=st->oc[j]; st->sru=s/3.0; } void writeStud(student st){ int i; printf("fakulteten nomer:%d\n",st.FN); printf("Ocenki:"); for (i=0;i<3;i++); printf("%d",st.oc[i]); printf("\n"); printf("Sreden uspeh: %4.2f\n",st.sru); } void sazdaj(){ fp=fopen(fime,"w");fclose(fp); printf("Fajlyt e syzdaden!\n"); } void dobavi(){ fp=fopen(fime,"a+b"); char ch; do { readStud(&stud); fwrite(&stud,sizeof(stud),1,fp); printf("Îshte (y/n)?");ch=getchar();getchar(); }while (ch!='n'); fclose(fp); } void spisAll(){ int k=0; fp = fopen(fime,"rb"); fread(&stud,sizeof(stud),1,fp); while (!feof(fp)){ writeStud(stud); k++; fread(&stud,sizeof(stud),1,fp); } fclose(fp); printf("Namereni: %d\n",k); } void main() { char otg[3]; printf("Zadajte ime na fail:");gets(fime); do{ printf(" MENU\n"); printf(" 1. Syzdavane na prazen file\n"); printf(" 2. Dobavqne na student\n"); printf(" 3. Spisyk na vsi4ki\n"); // printf(" 4. Sreden uspeh\n"); printf("Izbor (0-kraj):");gets(otg); switch(otg[0]){ case '1':sazdaj();break; case '2':dobavi();break; case '3':spisAll();break; // case '4':srUsp();break; } }while (otg[0]!='0'); }