2022年c语言程序设计课程学籍管理系统源代码 .pdf

上传人:C****o 文档编号:33385874 上传时间:2022-08-10 格式:PDF 页数:14 大小:92.40KB
返回 下载 相关 举报
2022年c语言程序设计课程学籍管理系统源代码 .pdf_第1页
第1页 / 共14页
2022年c语言程序设计课程学籍管理系统源代码 .pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年c语言程序设计课程学籍管理系统源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言程序设计课程学籍管理系统源代码 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、附表 1.程序源码#include #include #include #include #define N 100 struct student char num13; char name18; float math; float english; float cprogram; float circuit; float law; float pingjun; float score5; ; void mainprint(); void scoreprint(); void studentprint(); void scoreInput(); void scoreStat(); void s

2、tudentStatus(); void bukao(); /* 生成并打印补考通知单*/ void tuixue(); /* 生成并打印退学通知单*/ void xinmingdan(); /* 生成并打印新名单*/ void sortAnhao(); /*按学号排序 */ void jisuanPingjun(); /* 计算平均分并排序*/ void tongjiFenshu(); /*统计分数段 */ void fenxi(); /*分析学生成绩,算出不及格门数*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

3、心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - void mynew(); /*创新功能 */ void outstudent(); void outdanke(); void teshutuixue(); void main() char choose=0,yes_no=0; do system(color 4f); system(cls); mainprint(); printf( ); choose=getche( ); switch(choose) case1:scoreInput();break; /*成绩录入 */ case2:sc

4、oreStat();break; case3:studentStatus();break; case4:mynew();break; case0:break; default:printf(n %c 是非法选项! n); break; if(choose=0) break; printf(n 即将进入主菜单,要继续选择吗(Y/N) ?n); do yes_no=getche( ); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); void mainprint() printf( |*|n); p

5、rintf( | 欢迎使用学籍管理系统|n); printf( |*|n); printf( | 请输入选项编号 (04) |n); printf( |-|n); printf( | 1-录入成绩|n); printf( | 2-统计成绩|n); printf( | 3-处理学籍|n); printf( | 4-创新功能|n); printf( | 0- 退出|n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - print

6、f( |-|n); void scoreInput() int i=0;char yes_no=0; struct student ex1N=0; FILE *fp=NULL; system(color 5f); system(cls); 学生基本信息 .txt,w); if(fp=NULL) printf(n 打开文件失败!n); return; printf(n 欢迎进入成绩录入系统n); printf(n 请输入第 %d 个记录 :n,i+1); printf(n 输入学生学号: (用#结束程序 ); scanf(%s,ex1i.num); printf(n 输入学生姓名: (用#结束程

7、序 ); scanf(%s,ex1i.name); printf(n 请依次输入学生的数学、英语、c 编程、电路设计和法律基础的成绩:n); scanf(%f%f%f%f%f,&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); while(ex1i.num0!=#&ex1i.name0!=#) fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex1i.num,ex1i.name,ex1i.math,ex1i.english,ex1i.cprogram,ex1i.

8、circuit,ex1i.law); i+; printf(n 请输入第 %d 个记录 :n,i+1); printf(n 输入学生学号:(用#结束程序 ); scanf(%s,ex1i.num); printf(n 输入学生姓名:(用#结束程序 ); scanf(%s,ex1i.name); printf(n 请依次输入学生的数学、英语、c 编程、电路设计和法律基础的成绩:n); scanf(%f%f%f%f%f,&ex1i.math,&ex1i.english,&ex1i.cprogram,&ex1i.circuit,&ex1i.law); fclose(fp); void scoreSt

9、at() char choose=0,yes_no=0; system(color 9f); do system(cls); printf(n 欢 迎 选 择 成 绩 统 计 系 统 n); /*显示菜单 */ printf(n |-|); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - printf(n | 请输入选项编号 (04) |); printf(n |-|); printf(n | 1-按学号排序|); print

10、f(n | 2-按平均分数排序|); printf(n | 3-统计分数段|); printf(n | 4-返回|); printf(n | 0-退出系统|); printf(n |-|n); choose=getch(); switch(choose) case1:sortAnhao();break; case2:jisuanPingjun();break; case3:tongjiFenshu();break; case4:main(); break; case0:break; default:printf(n %c 是非法选项! n);break; if(choose=0) break;

11、 printf(n 要继续选择吗 (Y/N) ?n); do yes_no=getche(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); void sortAnhao() int i=0,j=0,n=0; struct student ex2N=0,temp=0; FILE *fp=NULL; system(color 9f); 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; printf(n 欢迎进入按学号排序系统n);

12、while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,&ex2i.num,ex2i.name,&ex2i.math,&ex2i.english,&ex2i.cprogram,&ex2i.circuit,&ex2i.law); i+; n+; fclose(fp); for(i=0;in-1;i+) for(j=i+1;j0) temp=ex2i; ex2i=ex2j; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 1

13、4 页 - - - - - - - - - ex2j=temp; 按学号排序 .txt,w); if(fp=NULL) printf(n 打开文件失败! n); return; fprintf(fp, 序号学号姓名高数英语编程电路法律 n); for(i=0;in;i+) fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex2i.num,ex2i.name,ex2i.math,ex2i.english,ex2i.cprogram,ex2i.circuit,ex2i.law); printf(n 文件已保存至按学号排序 .txtn); fcl

14、ose(fp); void jisuanPingjun() int i=0,j=0,n=0; char c=0; struct student ex2N=0,temp=0; FILE *fp=NULL; system(color 9f); 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; printf(n 欢迎使用按学号排序系统n); while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex2i.num,ex2i.name,&ex2i.math,&ex2i.english,&

15、ex2i.cprogram,&ex2i.circuit,&ex2i.law); i+; n+; fclose(fp); for(i=0;in;i+) ex2i.pingjun=(ex2i.math+ex2i.english+ex2i.cprogram+ex2i.circuit+ex2i.law)/5; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(ex2i.pingjunex2j.pingjun) temp=ex2i; ex2i=ex2j; ex2j=temp; 按平均成绩排序.txt,w); if(fp=NULL) printf(n 打开文件失败! n); ret

16、urn; fprintf(fp, 序号学号姓名高数英语编程电路法律平均n); for(i=0;in;i+) fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex2i.num,ex2i.name,ex2i.math,ex2i.english,ex2i.cprogram,ex2i.circuit,ex2i.law,ex2i.pingjun); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - -

17、- - - - - - printf(n 文件已保存至按平均成绩排序.txtn); fclose(fp); void tongjiFenshu() int i=0,j=0,t=0,n=0,e=0,a55=0; char yes_no=0; float list55=0; struct student ex2N=0; FILE *fp=NULL; system(color 9f); 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败!n); return; printf(n 欢迎进入分数段统计系统!); while(feof(fp)=0) fscanf(fp,

18、%3d%15s%16s%f%f%f%f%fn,&i,ex2i.num,ex2i.name,&listi0,&listi1,&listi2,&listi3,&listi4); i+; n+; fclose(fp); for(j=0;j5;j+) a0j=0; for(j=0;j5;j+) for(i=0;i100|listij0) e+; else t=(int)listij/10; switch(t) case 10:aj0+;break; case 9:aj0+;break; case 8:aj1+;break; case 7:aj2+;break; case 6:aj3+;break; d

19、efault:aj4+;break; printf(nnnn 各门课、个分数段学生人数); printf(n -); printf(n | 90 分以上| 8089 分| 7079 分| 6069 分| 60 分以下); printf(n -); printf(n 高数| %3d | %3d | %3d | %3d | %3d ,a00,a01,a02,a03,a04); printf(n -); printf(n 英语| %3d | %3d | %3d | %3d | %3d ,a10,a11,a12,a13,a14); printf(n -); 名师资料总结 - - -精品资料欢迎下载 -

20、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - printf(n 编程| %3d | %3d | %3d | %3d | %3d ,a20,a21,a22,a23,a24); printf(n -); printf(n 电路| %3d | %3d | %3d | %3d | %3d ,a30,a31,a32,a33,a34); printf(n -); printf(n 法律| %3d | %3d | %3d | %3d | %3d ,a40,a41,a42,a43,a

21、44); printf(n -); if(e!=0) printf(n 有%d 个错误的成绩,请检查。n,e); void studentStatus() int i=1; char choose=0,yes_no=0; struct student ex3N=0; FILE *fp=NULL; 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败!n); return; system(color 2f); do system(cls); printf ( |-|n); printf ( | 请输入选项编号 (0-4) |n); printf ( |-|n);

22、 printf ( | 1- 生成并打印补考通知单|n); printf ( | 2- 生成并打印退学通知单|n); printf ( | 3- 生成并打印新名册|n); printf ( | 4- 返回|n); printf ( | 0- 退出系统|n); printf ( |-|n); choose=getche(); while(choose!=0&choose!=1&choose!=2&choose!=3&choose!=4) printf( %c 为非法选项!请重新输入:,choose); choose=getchar(); switch(choose) case 1:bukao()

23、; break; case 2:tuixue(); break; case 3:xinmingdan(); break; case 4:main(); break; case 0:break; if(choose=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - printf(n); printf( 感谢您的使用!n); break; printf(n 要继续选择吗 (Y/N) ?n); do yes_no=getche(

24、 ); while(yes_no!=Y & yes_no!=y& yes_no!=N & yes_no!=n); while(yes_no=Y | yes_no=y); void bukao() int i=0,j=0,count=0,n=0; char time510=,site515=,sbj510=高数 ,英语 ,c 语言编程,电路设计 ,法律基础 ; struct student ex3N=0; FILE *fp=NULL; system(color 2f); 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; printf

25、(n 欢迎进入生成并打印补考通知单系统!n); while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.score3,&ex3i.score4); i+; n+; fclose(fp); for(i=0;i5;i+) printf(n 请输入 %s 的补考时间、地点:,sbji); scanf(%s%s,&timei,&sitei); for(i=0;i4;i+) for(j=i+1;j5;j+) while(str

26、cmp(timei,timej)=0&strcmp(sitei,sitej)=0) printf(nn%s科 目 与 %s 科 目 相 冲 突 , 请 重 新 输 %s 的 考 试 时 间 、 地 点 :,sbji,sbjj,sbjj); scanf(%s%s,&timej,&sitej); for(i=0;in;i+) for(j=0;j5;j+) if(ex3i.scorej0&count3) printf(nn); printf(n%15s 学生 %d 门课不及格,补考科目、时间、地点:,ex3i.name,count); for(j=0;j5;j+) 名师资料总结 - - -精品资料欢

27、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - if(ex3i.scorej60) switch(j) case 0:printf(n高数:%3.1f,时间 %s, 地点%s,ex3i.scorej,timej,sitej);break; case 1:printf(n英语:%3.1f,时间 %s, 地点%s,ex3i.scorej,timej,sitej);break; case 2:printf(nc语言编程:%3.1f,时间%s, 地点%s,ex3i.s

28、corej,timej,sitej);break; case 3:printf(n电路设计:%3.1f,时间%s, 地点%s,ex3i.scorej,timej,sitej);break; case 4:printf(n法律基础:%3.1f,时间%s, 地点%s,ex3i.scorej,timej,sitej);break; void tuixue() int i=0,j=0,count=0,n=0,k=0; struct student ex3N=0; FILE *fp=NULL; system(color 2f); 学生基本信息 .txt,r); if(fp=NULL) printf(n

29、打开文件失败! n); return; printf(n 进入生成并打印退学通知单系统!n); while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.score3,&ex3i.score4); i+; n+; fclose(fp); for(i=0;in;i+) count=0; for(j=0;j5;j+) if(ex3i.scorej=4) printf(nn%15s同学,您本学期共%d 门不及格科目,满足退学

30、标准。请尽快处理n,ex3i.name,count); for(j=0;j5;j+) if(ex3i.scorej60) switch(j) case 0:printf( 高数 :%-7.1f,ex3i.scorej);break; case 1:printf( 英语 :%-7.1f,ex3i.scorej);break; case 2:printf(c 语言编程 :%-7.1f,ex3i.scorej);break; case 3:printf( 电路设计 :%-7.1f,ex3i.scorej);break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

31、 - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 14 页 - - - - - - - - - case 4:printf( 法律基础 :%-7.1f,ex3i.scorej);break; printf(n); for(k=i;kn-1;k+) ex3k=ex3k+1; n-; 升学名单 .txt,w); if(fp=NULL) printf(n 打开文件失败! n); return; for(i=0;in;i+) fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex3i.num,ex3i.nam

32、e,ex3i.score0,ex3i.score1,ex3i.score2,ex3i.score3,ex3i.score4); fclose(fp); void xinmingdan() int i=0; struct student ex3N=0; FILE *fp=NULL; system(color 2f); 升学名单 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; printf(n 欢迎进入生成并打印新名册系统!n); printf(n 序号学号姓名高数英语编程电路法律 n); while(feof(fp)=0) fscanf(fp,

33、%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.score3,&ex3i.score4); printf(%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex3i.num,ex3i.name,ex3i.score0,ex3i.score1,ex3i.score2,ex3i.score3,ex3i.score4); i+; fclose(fp); void mynew() char choose=0,yes_no=0; do syst

34、em(color 8f); system(cls); printf(n |*|); printf(n | 欢迎进入创新部分|); printf(n |*|); printf(n | 1-查找学生|); printf(n | 2-输出单科成绩|); printf(n | 3-特殊原因退学|); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - printf(n | 0-退出|); printf(n |-|); printf(n

35、输入你的选择:); scanf(%s,&choose); while(choose!=1&choose!=2&choose!=3&choose!=0) printf(n 请正确输入的您选择:); scanf(%c,&choose); switch(choose) case1:outstudent();break; case2:outdanke();break; case3:teshutuixue();break; case0:break; if(choose=0) break; printf(n 要继续选择吗 (Y/N) ?n); do yes_no=getche(); while(yes_n

36、o!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); void outstudent() int i=0,j=0,count=0,n=0; char ch20=,yes_no=0; struct student ex4N=0; FILE *fp=NULL; 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex4i.num,ex4i.name,&ex4i

37、.score0,&ex4i.score1,&ex4i.score2,&ex4i.score3,&ex4i.score4); i+; n+; fclose(fp); do system(color 8f); system(cls); printf(n 欢迎进入查询学生系统!n); printf(n 请输入要查学的学生的姓名:); scanf(%s,&ch); for(i=0;in;i+) if(strcmp(ex4i.name,ch)=0) printf(n 您查询的是学号为%s的学生,他的成绩如下:,ex4i.num); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

38、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - printf(n 高数 :%-7.1f, 英语 :%-7.1f,c语言编程:%-7.1f, 电路设计:%-7.1f, 法律基础:%-7.1fn,ex4i.score0,ex4i.score1,ex4i.score2,ex4i.score3,ex4i.score4); break; if(i=n)printf(n 查无此人 .n); printf(n 要继续选择查询学生吗(Y/N) ?n); do yes_no=getche(); while(yes

39、_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); void outdanke() int i=0,j=0,count=0,n=0; char sbj510=math,english,cprogram,circuit,law; char ch20=,yes_no=0; struct student ex4N=0; FILE *fp=NULL; 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; while(feof(fp)=0) fscanf(fp,%3d

40、%15s%16s%f%f%f%f%fn,&i,ex4i.num,ex4i.name,&ex4i.score0,&ex4i.score1,&ex4i.score2,&ex4i.score3,&ex4i.score4); i+; n+; fclose(fp); do system(color 8f); system(cls); printf(n 欢迎进入查询单科成绩系统!n); printf(n 备选科目名称:math,english,cprogram,circuit,lawn); printf(n 请输入要查寻的科目名称:); scanf(%s,&ch); for(i=0;i5;i+) if(s

41、trcmp(sbji,ch)=0) j=i; printf(n 序号学号姓名%s ,sbjj); for(i=0;in;i+) printf(n%3d%15s%16s%7.1f,i,ex4i.num,ex4i.name,ex4i.scorej); break; if(i=5) printf(n 您的输入有误! n); printf(n 要继续选择输出单科成绩吗(Y/N) ?n); do 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - -

42、 - - yes_no=getche(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); void teshutuixue() int i=0,j=0,count=0,n=0; char ch20=,yes_no=0; struct student ex4N=0; FILE *fp=NULL; 学生基本信息 .txt,r); if(fp=NULL) printf(n 打开文件失败! n); return; while(feof(fp)=0) fscanf(fp,%3d%15s%16s%f%f%

43、f%f%fn,&i,ex4i.num,ex4i.name,&ex4i.score0,&ex4i.score1,&ex4i.score2,&ex4i.score3,&ex4i.score4); i+; n+; fclose(fp); do system(color 8f); system(cls); printf(n 欢迎进入其他原因退学系统!n); printf(n 请输入要查学的学生的学号:); scanf(%s,&ch); for(i=0;in;i+) if(strcmp(ex4i.num,ch)=0) for(j=i;jn-1;j+) ex4j=ex4j+1; n-; break; if

44、(i=n)printf(n 查无此人 .n); printf(n 要继续选择退学学生吗(Y/N) ?n); do yes_no=getche(); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); 学生基本信息 .txt,w); if(fp=NULL) printf(n 打开文件失败! n); return; for(i=0;in;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第

45、13 页,共 14 页 - - - - - - - - - fprintf(fp,%3d%15s%16s%7.1f%7.1f%7.1f%7.1f%7.1f%7.1fn,i,ex4i.num,ex4i.name,ex4i.score0,ex4i.score1,ex4i.score2,ex4i.score3,ex4i.score4); printf(n 文件已更新 n); fclose(fp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁