安徽工业大学计算机学院程序设计综合实习报告内容摘要:

f(q == NULL) T F 输出未找到数据 确认是否删除数据, pnext=qnext, free(q) 安徽工业大学计算机学院 软件 123 班 12 VI、 scorein()函数模块 VII、 change()函数模块 VIII、 load()函数模块 i=0 ps qm *p p=headnext 输入平时成绩所占的百分比 qm=100ps 输入平时成绩,期末成绩 while(p!=NULL) 计算总评成绩: pscore=pscore1*ps/100+pscore2*qm/100 p=pnext p=search(head,amp。 i) while(!p) if(p) 输出找到的数据 T F 输出未找到 i=0 xz x y *p *fp fn[12] *head,*p,*q 从文件 中进行导入 if((fp=fopen(fn,rb))==NULL) T F 输出打开文件时发生错误并退出 while(! feof(fp)) if(fread(p,sizeof(stud),1,fp)==1) T F pnext=qnext qnext=p。 q=p 安徽工业大学计算机学院 软件 123 班 13 IX、 save()函数模块 X、 mima()函数模块 *fp fn[12] *p 从文件中进行导入 if((fp=fopen(fn,wb))==NULL) T F 输出打开文件时发生错误并退出 while(p!=NULL) if(fwrite(p,sizeof(stud),1,fp)!=1) T F 输出文件打开错误 p=pnext i n name[8] name1[21] password1[21] flag1 flag2,输入用户名,密码 for(i = 0。 i 20。 ) *(password1 + i) = getch() if(*(password1 + i) == 39。 \b39。 ) T F if(i0) T F i 输出“退格” 输出“空格退格” continue if(*(password1 + i) == 39。 \r39。 ) T F break i++ printf(*) *(password1 + i) = 39。 \039。 flag2 = strcmp(password,password1) if(flag1 == 0amp。 amp。 flag2 == 0) T F 登陆成功 登陆失败 安徽工业大学计算机学院 软件 123 班 14 六、 程序源代码 include include include include include typedef struct st { char num[10],name[9],bclass[11]。 //学号、姓名、班级 float score1,score2,score。 //平时成绩、期末成绩、总评成绩 struct st*next。 }stud。 int xuanze()。 //选择学生或教师 char menu1()。 //教师选单 char menu2()。 //学生选单 void mima()。 //密码函数 stud*load()。 //导入 stud*search(stud*,int*)。 //查询 void save(stud*)。 //导出 void scorein(stud*)。 //成绩录入 void insert(stud*)。 //插入 void deletel(stud*)。 //删除 void change(stud*)。 //修改 void browse(stud*)。 //浏览 //************************************** int main(void) { char choice1, choice, c。 int i。 stud *head,*p。 head=(stud*)malloc(sizeof(stud))。 //准备好表头 headnext=NULL。 loop: choice1 = xuanze()。 //进入选择系统 if(choice1 == 1) { mima()。 //密码函数 while(1) { choice=menu1()。 //教师系统的表头 switch(choice) { 安徽工业大学计算机学院 软件 123 班 15 case 39。 139。 :system(cls)。 printf(浏览成绩情况。 \n)。 browse(head)。 getchar()。 break。 case 39。 239。 :system(cls)。 printf(插入学生成绩。 \n)。 insert(head)。 break。 case 39。 339。 :system(cls)。 printf(查询学生成绩。 \n)。 p=search(head,amp。 i)。 if(p!=NULL) //输出数据 { printf(%2d%10s %8s %10s,i,pnum,pname,pbclass)。 printf(% % %,pscore1,pscore2,pscore)。 } else printf(未找到。 )。 break。 case 39。 439。 :system(cls)。 printf(删除学生记录。 \n)。 deletel(head)。 break。 case 39。 539。 :system(cls)。 printf(学生成绩录入。 \n)。 scorein(head)。 break。 case 39。 639。 :system(cls)。 printf(修改学生记录。 \n)。 change(head)。 break。 case 39。 739。 :system(cls)。 printf(从文件中将成绩情况导入链表。 \n)。 head=load()。 break。 case 39。 839。 :system(cls)。 printf(将链表中成绩情况保存到文件。 \n)。 save(head)。 break。 case 39。 939。 :system(cls)。 printf(系统初始化。 \n)。 head=(stud*)malloc(sizeof(stud))。 headnext=NULL。 printf(%d %d\n,head,headnext)。 break。 case 39。 039。 :system(cls)。 printf(返回上一级 \n)。 printf(是否保存当前数据到文件。 (Y/N):)。 c=toupper(getchar())。 getchar()。 if(c==39。 Y39。 ) 安徽工业大学计算机学院 软件 123 班 16 save(head)。 else { system(cls)。 goto loop。 } break。 default:printf(输入错误。 )。 } if(choice == 39。 039。 )break。 printf(\n 按任意键继续 ......!)。 getchar()。 } } if(choice1 == 2) //学生系统的表头 { while(1) { choice=menu2()。 switch(choice) { case 39。 139。 :system(cls)。 printf(浏览成绩情况。 \n)。 browse(head)。 getchar()。 break。 case 39。 239。 :system(cls)。 printf(查询学生成绩。 \n)。 p=search(head,amp。 i)。 if(p!=NULL) //输出数据 { printf(%2d%10s %8s %10s,i,pnum,pname,pbclass)。 printf(% % %,pscore1,pscore2,pscore)。 } else printf(未找到。 )。 break。 case 39。 339。 : system(cls)。 goto loop。 default:printf(输入错误。 )。 } if(choice == 39。 339。 )break。 printf(\n 按任意键继续 ......!)。 getchar()。 } 安徽工业大学计算机学院 软件 123 班 17 } if(choice1 == 3) printf(Goodbay!)。 exit(0)。 } //*********************************************** int xuanze() { int choice。 system(color 21)。 printf(你好。 请选择入口: \n)。 printf( \ \ \n 请选择: )。 scanf(%d, amp。 choice)。 ff。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。