中易网

C语言工程 学生管理系统

答案:2  悬赏:10  
解决时间 2021-02-20 03:32




最佳答案
类似的问题太多了,还是根据有关文档进行修改吧。
全部回答

#include <malloc.h> #include <stdio.h> #include <stdlib.h> #define len sizeof(struct scorenode) #define debug #include <string.h> struct scorenode {int number; char name[10]; float yuwen; float yingyu; float shuxue; struct scorenode *next; }; typedef struct scorenode score; int n,k; score *creat2311(void) { score*head; score *p1,*p2,*p3,*max; int i,j; float fen; char t[10]; n=0; p1=p2=p3=(score *)malloc(len);head=p3; printf("请输入学生资料,输0退出!\n"); repeat1: printf("请输入学生学号(学号应大于0):"); scanf("%d",&p1->number); while(p1->number<0) {getchar(); printf("输入错误,请重新输入学生学号:"); scanf("%d",&p1->number);} if(p1->number==0) goto end; else { p3=head; if(n>0) {for(i=0;i<n;i++) {if(p1->number!=p3->number) p3=p3->next; else {printf("学号重复,请重输!\n"); goto repeat1; } } } } printf("请输入学生姓名:"); scanf("%s",&p1->name); printf("请输入语文成绩(0~100):"); scanf("%f",&p1->yuwen); while(p1->yuwen<0||p1->yuwen>100) {getchar(); printf("输入错误,请重新输入语文成绩"); scanf("%f",&p1->yuwen);} printf("请输入英语成绩(0~100):"); scanf("%f",&p1->yingyu); while(p1->yingyu<0||p1->yingyu>100) {getchar(); printf("输入错误,请重新输入英语成绩"); scanf("%f",&p1->yingyu);} printf("请输入数学成绩(0~100):"); scanf("%f",&p1->shuxue); while(p1->shuxue<0||p1->shuxue>100) {getchar(); printf("输入错误,请重新输入数学成绩"); scanf("%f",&p1->shuxue);} head=null; while(p1->number!=0) { n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(score *)malloc(len); printf("请输入学生资料,输0退出!\n"); repeat2:printf("请输入学生学号(学号应大于0):"); scanf("%d",&p1->number); while(p1->number<0) {getchar(); printf("输入错误,请重新输入学生学号:"); scanf("%d",&p1->number);} if(p1->number==0) goto end; else { p3=head; if(n>0) {for(i=0;i<n;i++) {if(p1->number!=p3->number) p3=p3->next; else {printf("学号重复,请重输!\n"); goto repeat2; } } } } printf("请输入学生姓名:"); scanf("%s",&p1->name); printf("请输入语文成绩(0~100):"); scanf("%f",&p1->yuwen); while(p1->yuwen<0||p1->yuwen>100) {getchar(); printf("输入错误,请重新输入语文成绩"); scanf("%f",&p1->yuwen);} printf("请输入英语成绩(0~100):"); scanf("%f",&p1->yingyu); while(p1->yingyu<0||p1->yingyu>100) {getchar(); printf("输入错误,请重新输入英语成绩"); scanf("%f",&p1->yingyu);} printf("请输入数学成绩(0~100):"); scanf("%f",&p1->shuxue); while(p1->shuxue<0||p1->shuxue>100) {getchar(); printf("输入错误,请重新输入数学成绩"); scanf("%f",&p1->shuxue);} }

end: p1=head; p3=p1; for(i=1;i<n;i++) { for(j=i+1;j<=n;j++) { max=p1; p1=p1->next; if(max->number>p1->number) { k=max->number; max->number=p1->number; p1->number=k; strcpy(t,max->name); strcpy(max->name,p1->name); strcpy(p1->name,t); fen=max->yuwen; max->yuwen=p1->yuwen; p1->yuwen=fen; fen=max->yingyu; max->yingyu=p1->yingyu; p1->yingyu=fen; fen=max->shuxue; max->shuxue=p1->shuxue; p1->shuxue=fen; }

} max=head;p1=head; } p2->next=null; printf("输入的学生数为:%d个!\n",n); return(head);

} score *load2311(score *head) { score *p1,*p2; int m=0; char filepn[10]; file *fp; printf("请输入文件路径及文件名:"); scanf("%s",filepn); if((fp=fopen(filepn,"r+"))==null) { printf("不能打开文件!\n"); return 0; } fscanf(fp," 考试成绩管理系统 \n"); fscanf(fp,"作者:周纯钢 班级: 信息023 学号:11 \n"); fscanf(fp,"-----------------------------------------\n"); fscanf(fp,"|学号\t|姓名\t|语文\t|英语\t|数学\t|\n"); fscanf(fp,"-----------------------------------------\n"); printf(" 考试成绩管理系统 \n"); printf(" 作者:周纯钢 班级: 信息023 学号:11 \n"); printf("-----------------------------------------\n"); printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|\n"); printf("-----------------------------------------\n"); m=m+1; if(m==1) { p1=(score *)malloc(len); fscanf(fp,"%d%s%f%f%f",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue); printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue); head=null; do { n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(score *)malloc(len); fscanf(fp,"%d%s%f%f%f\n",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue); printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue); }while(!feof(fp)); p2->next=p1; p1->next=null; n=n+1; }printf("-----------------------------------------\n"); fclose(fp); return (head); }

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
感染HPV高危型59阳性,低危型81阳性是什么意
仁义电器家私城在哪里啊,我有事要去这个地方
温州学车考理论去哪里报名?要带什么?钱要多
尺码7,9,5,3,13,11是什么意思
文士的 笛子强化 是什么意思
好听激情的钢琴曲
在哪有剑侠世界2手游辅助脚本下载
中国众筹行业,比较好的网站有哪些?
为什么朋友发给我的位置打不开腾讯地图,和街
南宁市旅游发展委员会地址在哪,我要去那里办
我从他的失败中得到了一个很好教训怎么翻译?
洪增宾馆这个地址在什么地方,我要处理点事
关于玫瑰花的问题
独立显卡往哪个地方插啊?? 附主板图片.....
用振动的按摩器按摩头好吗?
推荐资讯
三元桥地铁站:有没有852公交车
安全生产规章制度:我是音箱厂的安全管理员,
外地人和北京市人结婚什么时候能落北京户口
…一个可视为质点的质量m为2千克的木块从p点
固始六路公交车经过秀水公园吗
你对你的宠物狗狗到底了解多少?狗狗的哪些疾
打字时如何变成大写字母
中铁十七局集团中心医院-1号住院楼地址有知道
杭州机场离温州机场多远
宁德市公路局柘荣分局岭头店道班在什么地方啊
求霍比特人1-3超清+字幕,整整3小时无删减的!
白色污染 诗歌
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?