学生学分管理程序-c语言代码-学生成绩统计c语言代码

上传人:沈*** 文档编号:128466394 上传时间:2022-08-01 格式:DOC 页数:16 大小:106.04KB
收藏 版权申诉 举报 下载
学生学分管理程序-c语言代码-学生成绩统计c语言代码_第1页
第1页 / 共16页
学生学分管理程序-c语言代码-学生成绩统计c语言代码_第2页
第2页 / 共16页
学生学分管理程序-c语言代码-学生成绩统计c语言代码_第3页
第3页 / 共16页
资源描述:

《学生学分管理程序-c语言代码-学生成绩统计c语言代码》由会员分享,可在线阅读,更多相关《学生学分管理程序-c语言代码-学生成绩统计c语言代码(16页珍藏版)》请在装配图网上搜索。

1、北京信息职业技术学院程序设计基础实训项目名称:学生学分管理系 别: 计算机工程系专 业:计算机网络技术班 级:0922211学生姓名:指导教师:韦立蓉北 京 信 息 职 业 技 术 学 院2010年 1 月 日一、项目背景介绍(概要介绍此项目设计的意义和要求) 本程序为学生学分管理系统。本程序根据现实中的问题通过c语言形式编程。本程序要求能够登记学分,显示学分查询学分,修改学分,删除学分,统计学分。二、程序功能描述:(描述基本程序中每个函数的功能,给处各函数流程图)1、登记单流程图开始输入数据是否继续输入退出否2、显示学分流程图I=1输出I=2输出I=3输出I=n输出。3、查询学分流程图开始按

2、学号查询按姓名查询按姓名查询是否继续查询退出输出数据显示对不起没有该信息是否找到显示该信息按学号查询按姓名查询按姓名查询4、修改信息流程图开始按学号修改按姓名修改按班级修改是否继续修改是退出否重新输入数据5、删除信息流程图开始按学号删除按姓名删除按班级删除是否继续删除是退出否6、统计信息流程图开始是计算计算计算出结果是否继续统计否退出需补考专业课的需补考选修课的需补考基础课的需补考人文课的需补考实验课的计算计算计算计算统计能够毕业的学生三、设计方案介绍(基本思想函数调用的思路介绍)1、主流程图学生学分管理查询模块显示模块登记模块修改模块删除模块统计模块按学号查询按学分查询按班级查询按姓名查询按

3、学号修改按学分修改按班级修改按学号修改按学分修改按班级修改姓名班级基础课学分专业课学分选修课学分人文类课程学分实验性课程学分按学分统计按班级统计按学号统计显示全部2、界面设计(界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题.3、变量定义序号变量名变量性质(局部/全局)功能作用范围1typedef全局定义结构体类型整体2Int全局定义五门课类型整体.。Char全局定义学号班级姓名类型整体5、函数调用的类型四、测试与分析(简要介绍测试的作用及意义)测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合

4、现实。通过测试和反复修改可以使程序更加人性化。(一)测试列表(以表格的形式给出,不少于10个)测试数据或执行操作执行结果是否正确测试人签名调用主菜单显示了主菜单正确选择主菜单里的1请输入学生学生信息.正确输出有重复有乱码否查询无否修改按学号修改。是按学号查询显示了该信息是按班级查询只显示里一名同学的信息否按学好删除删除成功是须补考基础课的所有学生信息都显示否可升学学生显示了该显示的信息是(二)测试结果分析(根据以下表格,如实填写并签名)bug个数错误类型错误原因分析是否修改设计者签名1与count声名中的类型不匹配少了void count()是2错误 jia.c 19: 表达式语法错在 mai

5、n 函数中Scanf中少了s是4错误 jia.c 31: do语句中必须有while关键字在 main 函数中没写while是5错误 jia。c 30: 未定义的符号s在 main 函数中上面没int I;是6错误 1。c 335: 表达式语法错在 count 函数中Switch() 括号里没有变量是7五、实训总结 (总结实训过程中的所使用的知识和已实现的功能,总结自己掌握理论知识和动手能力的程度,提出自己的不足之处及改进措施)通过这一周的实训.我们充分运用了所学的东西编出了解决实际问题的程序。我们运用了函数的调用,循环,定义,比较,查找,删除等知识。通过实际动手,我更加深入的了解了课本上的知

6、识。同时提高了我的动手能力.实训中我找到了我许多的不足,以前我遇到不董的就会直接去问别人,不独自思考。试训中我学会了独自思考和团队合作。虽然我在编程当中遇到许多问题,但经过独自思考和学习解决了问题.最后编出了管理程序。C语言学生学分管理程序代码typedef struct student char num11,name7,class10; int jichu,renwen,xuanxiu,zhuanye,shiyan;STU;STU st37;static int n;void menu();void input();void print();void query();void modi();

7、void del();void count();main() int s; do menu(); printf(”ntttt 请选择:”); scanf(d,&s); switch(s) case 0:break; case 1:input();break; case 2:print();break; case 3:query();break; case 4:modi();break; case 5:del();break; case 6:count();break; default:printf(选择无效!”); while(s!=0); getch();void menu() clrscr

8、(); printf(ttt*n”); printf(ttt*欢迎您的使用*n”); printf(”ttt*学生学分管理程序*n); printf(”ttt 1登记学生学分 *n”); printf(ttt* 2-显示学生学分 *n”); printf(”ttt* 3-查询学生学分 *n”); printf(ttt* 4-修改学生学分 *n); printf(”ttt* 5删除学生学分 *n); printf(ttt 6统计学生学分 *n); printf(”ttt* 0-退出 *n);printf(”ttt*n”); void input() do printf(请输入学生信息:学号 姓名

9、 班级 基础课 专业课 选修课 人文课 实验课n); scanf(”%s%ssd%dd%dd,stn.num,stn。name,stn.class,stn。jichu,stn.zhuanye,stn.xuanxiu,&stn.renwen,&stn。shiyan); n+; printf(是否继续输入?(n退出,任意键继续):”); while(getche()!=n); void print() int i; printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); for(i=0;in;i+) printf(”%2d %7s %7s %5s %4dt4dt4d

10、t%4dt4dn,i+1,sti.num,sti.name,sti.class,sti。jichu,sti.zhuanye,sti。xuanxiu,sti.renwen,sti。shiyan); getch();void menu1() clrscr(); printf(”ttt*n); printf(”ttt*查询模块*n”); printf(”ttt 1-按学号查询 *n); printf(ttt 2-按姓名查询 *n); printf(ttt* 3-按班级查询 *n); printf(”ttt* 0-退出 *n”); printf(”ttt*n);void query1() char s

11、n11; int i; printf(请输入要查询的学号:”); scanf(s”,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) printf(”n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n”); printf(”2d 7s %7s %5s %4dt%4dt4dt4dt%4dn,i+1,sti。num,sti。name,sti.class,sti。jichu,sti.zhuanye,sti。xuanxiu,sti.renwen,sti.shiyan); printf(按任意键继续); break; else printf(”n

12、对不起!没有该学号,任意键继续”); getch(); void query2() char sn7; int i; printf(”请输入要查询的姓名:); scanf(”s,sn); for(i=0;in;i+) if(strcmp(sn,sti.name)=0) printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); printf(%2d 7s %7s 5s %4dt%4dt4dt4dt4dn”,i+1,sti.num,sti。name,sti。class,sti。jichu,sti。zhuanye,sti。xuanxiu,sti。renwen,sti.s

13、hiyan); printf(按任意键继续); break; else printf(”n对不起!没有该姓名,任意键继续”); getch();void query3() char sn10; int i; printf(请输入要查询的班级:”); scanf(s,sn); for(i=0;in;i+) if(strcmp(sn,sti。class)=0) printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); printf(%2d 7s 7s 5s 4dt%4dt%4dt4dt%4dn,i+1,sti。num,sti。name,sti.class,sti.ji

14、chu,sti.zhuanye,sti.xuanxiu,sti。renwen,sti.shiyan); printf(按任意键继续); break; else printf(n对不起!没有该班,任意键继续); getch();void query() int s; do menu1(); printf(ntttt 请选择:); scanf(%d”,s); switch(s) case 0:break; case 1:query1();break; case 2:query2();break; case 3:query3();break; default:printf(选择无效!”); whil

15、e(s!=0); getch();void menu2() clrscr(); printf(ttt*n); printf(ttt*修改模块*n); printf(ttt* 1按学号修改 *n); printf(”ttt* 2按姓名修改 *n”); printf(ttt* 3按班级修改 *n”); printf(ttt* 0-退出 *n); printf(ttt*n”);void modi1() char sn11; int i; printf(”请输入要修改学分学生的学号:”); scanf(”s”,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) p

16、rintf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); printf(2d %7s 7s 5s 4dt%4dt4dt%4dt%4dn”,i+1,sti.num,sti.name,sti。class,sti。jichu,sti.zhuanye,sti。xuanxiu,sti。renwen,sti。shiyan); printf(请输入学生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课n”); scanf(”s%ssdd%dd%d”,sti。num,sti.name,sti。class,sti。jichu,&sti。zhuanye,sti。xuan

17、xiu,sti。renwen,&sti.shiyan); printf(是否继续输入?(n退出,任意键继续):”); while(getche()!=n); break; getch();void modi2() char sn7; int i; printf(”请输入要修改学分学生的姓名:”); scanf(”s,sn); for(i=0;in;i+) if(strcmp(sn,sti.name)=0) printf(”n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); printf(”%2d 7s 7s %5s 4dt4dt%4dt4dt%4dn,i+1,sti。nu

18、m,sti。name,sti.class,sti.jichu,sti。zhuanye,sti。xuanxiu,sti.renwen,sti.shiyan); printf(请输入学生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课n”); scanf(%s%s%s%d%dd%dd,sti。num,sti。name,sti。class,&sti.jichu,sti。zhuanye,sti。xuanxiu,&sti。renwen,&sti.shiyan); printf(是否继续输入?(n-退出,任意键继续):); while(getche()!=n); break; getch

19、();void modi3() char sn10; int i; printf(请输入要修改学分学生的班级:”); scanf(”%s”,sn); for(i=0;in;i+) if(strcmp(sn,sti.class)=0) printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n”); printf(2d 7s %7s 5s 4dt4dt4dt%4dt4dn,i+1,sti.num,sti.name,sti。class,sti。jichu,sti.zhuanye,sti.xuanxiu,sti。renwen,sti。shiyan); printf(”请输入学

20、生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课n”); scanf(%ss%sd%ddd%d”,sti.num,sti。name,sti.class,&sti.jichu,sti.zhuanye,&sti。xuanxiu,sti。renwen,sti。shiyan); printf(是否继续输入?(n退出,任意键继续):”); while(getche()!=n); break; getch();void modi() int s; do menu2(); printf(ntttt 请选择:”); scanf(%d”,s); switch(s) case 0:break;

21、 case 1:modi1();break; case 2:modi2();break; case 3:modi3();break; default:printf(选择无效!); while(s!=0); getch();void menu3() clrscr(); printf(”ttt*n); printf(”ttt*删除模块*n”); printf(ttt* 1-按学号删除 *n); printf(ttt* 2-按姓名删除 *n); printf(ttt* 3按班级删除 n); printf(ttt 0-退出 *n”); printf(”ttt*n”);void del1() char

22、sn11; int i,j; printf(请输入要删除学分学生的学号:”); scanf(”s,sn); for(i=0;in;i+) if(strcmp(sn,sti.num)=0) printf(”n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); printf(”2d %7s 7s %5s %4dt%4dt%4dt4dt%4dn”,i+1,sti.num,sti.name,sti.class,sti.jichu,sti.zhuanye,sti。xuanxiu,sti。renwen,sti。shiyan); printf(”n是否删除(任意键确认,n取消)”); i

23、f(getche()!=n); if(i!=n-1); for(j=i;jn1;j+) stj=stj+1; n-; printf(”n该记录已删除); getch(); break ; else printf(n对不起!没有该学号,任意键继续”);void del2() char sn7; int i,j; printf(请输入要删除学分学生的姓名:”); scanf(”%s”,sn); for(i=0;i=60sti.xuanxiu=60sti。renwen=60&sti。shiyan=60) printf(2d 7s 7s 5s 4dt%4dt4dt4dt%4dn”,i+1,sti。nu

24、m,sti。name,sti。class,sti。jichu,sti。zhuanye,sti。xuanxiu,sti。renwen,sti。shiyan); getch();void count2() int i; printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); for(i=0;in;i+) if(sti.jichu=60) printf(2d 7s 7s 5s %4dt%4dt4dt%4dt4dn”,i+1,sti。num,sti。name,sti.class,sti。jichu,sti.zhuanye,sti。xuanxiu,sti.renwen,s

25、ti。shiyan); getch();void count3() int i; printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n); for(i=0;in;i+) if(sti。jichu=60&sti.zhuanye=60sti.shiyan=60) printf(”2d 7s 7s 5s 4dt4dt4dt4dt%4dn,i+1,sti.num,sti。name,sti。class,sti.jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti。shiyan); getch();void count4() int i;

26、printf(n序号t学号t 姓名t班级t基础课t专业课t选修课t人文课t实验课n”); for(i=0;i=60sti.zhuanye=60&sti.xuanxiu60sti.renwen=60sti.shiyan=60) printf(2d %7s 7s %5s 4dt%4dt%4dt%4dt%4dn”,i+1,sti.num,sti。name,sti.class,sti。jichu,sti.zhuanye,sti.xuanxiu,sti.renwen,sti。shiyan); getch();void count5() int i; printf(”n序号t学号t 姓名t班级t基础课t专

27、业课t选修课t人文课t实验课n); for(i=0;in;i+) if(sti。jichu=60&sti.zhuanye=60&sti.xuanxiu=60sti.renwen60&sti.shiyan=60) printf(”2d 7s 7s %5s 4dt%4dt%4dt%4dt4dn”,i+1,sti.num,sti.name,sti。class,sti.jichu,sti.zhuanye,sti。xuanxiu,sti。renwen,sti.shiyan); getch();void count6() int i; printf(”n序号t学号t 姓名t班级t基础课t专业课t选修课t人

28、文课t实验课n”); for(i=0;in;i+) if(sti.jichu=60&sti。zhuanye=60sti。xuanxiu=60&sti.renwen=60sti。shiyan60) printf(”%2d %7s %7s %5s 4dt%4dt4dt4dt4dn,i+1,sti.num,sti.name,sti.class,sti。jichu,sti。zhuanye,sti.xuanxiu,sti。renwen,sti.shiyan); getch();void count() int s; do menu4(); printf(ntttt 请选择:); scanf(%d”,s); switch(s) case 0:break; case 1:count1();break;case 2:count2();break;case 3:count3();break;case 4:count4();break;case 5:count5();break;case 6:count6();break; default:printf(”选择无效!); while(s!=0); getch();-15-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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