c语言程序设计报告-班级学生成绩管理系统内容摘要:

amp。 savedTag==0) { printf(请选择您是要覆盖现有记录 (y),还是要将 )。 printf(读取的记录添加到现有记录之后 (n)?\n)。 printf(直接回车则覆盖现有记录 \n)。 gets(str)。 if(str[0]==39。 n39。 ||str[0]==39。 N39。 ) { savedTag=1。 } else { if(savedTag==1) { printf(读取文件将会更改原来的记录, )。 printf(是否保存原来记录。 ( y/n) )。 20 gets(str)。 if(str[0]!=39。 n39。 amp。 amp。 str[0]!=39。 N39。 ) saveRecords()。 } numStus=0。 } } printf( 请 输 入 要 读 取 的 文 件 名 ( 直 接 回 车 选 择 文 件stu_info) :)。 gets(fname)。 if(strlen(fname)==0) strcpy(fname,stu_info)。 if((fp=fopen(fname,rb))==NULL) { printf(打不开文件。 请重新选择 \39。 n)。 return 1。 } printf(\n取文件 ...\n)。 21 while(!feof(fp)) { if(numStus=arraySize) { records=realloc(records,(arraySize+INCR_SIZE)*sizeof(StuInfo))。 if(records==NULL) { printf(memory failed!)。 exit(1)。 } arraySize=arraySize+INCR_SIZE。 } if(fread(amp。 records[numStus],sizeof(StuInfo),1,fp)!=1) break。 //按照 addRecord 函数的方法,更新名次 records[numStus].index = getIndex(records[numStus].sum)。 numStus++。 22 } fclose(fp)。 printf(现在共有 %d 条记录。 ,numStus)。 return 0。 } include //********************* 学 生 信 息 排 序 函 数************************* void sortInfo(void) { char str[5]。 int i,j。 StuInfo tmps。 if(numStus==0) { printf(没有可供排序的记录。 )。 return。 } 23 printf(请输入您希望进行排序的方式: \n)。 printf( \n)。 printf( \n)。 printf( \n)。 printf( \n)。 printf( \n)。 printf( \n)。 printf(,现在并不想进行排序 \n)。 gets(str)。 if(str[0]39。 139。 ||str[0]39。 639。 ) return。 //进行排序 for(i=0。 inumStus1。 i++) { for(j=i+1。 jnumStus。 j++) { if((str[0]==39。 139。 amp。 amp。 strcmp(records[i].number,records[j].number)0) || (str[0]==39。 239。 amp。 amp。 strcmp(records[i].number,records[j].number)0) || (str[0]==39。 339。 amp。 amp。 24 strcmp(records[i].name,records[j].name)0) || (str[0]==39。 439。 amp。 amp。 strcmp(records[i].name,records[j].name)0) || (str[0]==39。 539。 amp。 amp。 records[i].indexrecords[j].index) || (str[0]==39。 639。 amp。 amp。 records[i].indexrecords[j].index)) { copyRecord(amp。 records[i],amp。 tmps)。 copyRecord(amp。 records[j],amp。 records[i])。 copyRecord(amp。 tmps,amp。 records[j])。 } } } printf(排序已经完成 \n)。 savedTag=1。 } include //初始化 int numStus=0。 //记录学生数 25 StuInfo *records=NULL。 //记录学生信息 char savedTag=0。 //信息保存标志, 1为未保存, 0 为已保存 int arraySize。 //数组大小 char* subject[]={高数 ,英语 ,线代 ,物理 ,电工 ,体育}。 //*****************主函数 ************************** int main() { records=(StuInfo*)malloc(sizeof(StuInfo)*INITIAL_SIZE)。 if(records==NULL) { printf(memory fall!)。 exit(1)。 } arraySize=INITIAL_SIZE。 printf(\n)。 printf(\t****************************\n)。 printf(\t* 这是一个 *\n)。 26 printf(\t* 学生成绩管理程序 *\n)。 printf(\t* 可以对学生成绩进行管理 *\n)。 printf(\t* 欢迎使用管理系统 *\n)。 printf(\t****************************\n)。 printf(\n)。 handle_menu()。 } //******************菜单处理函数 *********************** void handle_menu(void) { for(。 ){ switch(menu_select()) { case 1: addRecord()。 break。 case 2: modifyRecord()。 27 break。 case 3: display()。 break。 case 4: queryInfo()。 break。 case 5: removeRecord()。 break。 case 6: saveRecords()。 break。 case 7: loadRecords()。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。