中易网

C语言学生成绩管理系统 有全部代码 可以直接运行的

答案:2  悬赏:60  
解决时间 2021-02-10 11:18
C语言学生成绩管理系统 有全部代码 可以直接运行的
最佳答案
c语言学生成绩统计 如果没有文件读写操作 50rmb帮写 私信
全部回答

#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); }

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
we need to wait for the bus () the bus sto
滴滴顺风车2个人走不划算怎么办
k73车次15号车厢079靠窗不
蔚蓝国际二期地址在什么地方,想过去办事
黄土岗街道社区居委会地址在什么地方,想过去
信奉玉皇大帝念诵什么经文
为什么安装3Dmax的时候总是会弹出一个这样的
为什么玩云交易的那么多人亏损
阳台与客厅之间做推拉门,门口2.4米*2.4米,
梅湖樱花园地址在什么地方,想过去办事
贵州张明权花江狗肉总店地址在哪,我要去那里
在电脑上跟号怎么打啊比如说根号2
下列物质转化需要加入还原剂才能实现的是( 
国家电网平台没有填写本科毕业证学位证编号,
江南大学生物工程要多少分才能进?
推荐资讯
移动一根火柴,使等式成立:217+2=2
上海大众典当有限公司这个地址在什么地方,我
元宝鸽是不是不爱繁殖
试用期过后一起补交保险,这样的单位可信吗
博远美术书法苑地址有知道的么?有点事想过去
华为居然发布了mate9 pro,跟小米note2,哪个
YES OK COME ON 什么意思啊?
什么是TTT培训中的训前9维度分析
小明的体重是36千克,小强的体重比小明的体重
问一下玩过海岛奇兵的友友们!我以前是用的苹
乡思居山庄地址在什么地方,想过去办事
vivox5怎么把数字锁的按钮变成圆的
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?