C语言学生成绩标准管理系统.doc
《C语言学生成绩标准管理系统.doc》由会员分享,可在线阅读,更多相关《C语言学生成绩标准管理系统.doc(22页珍藏版)》请在咨信网上搜索。
「 「 天不老,情难绝。心似双丝网,中有千千结。-张先《千秋岁》 似此星辰非昨夜,为谁风露立中宵。-黄景仁《绮怀诗二首其一》 直道相思了无益,未妨惆怅是清狂。-李商隐《无题六首其三》 深知身在情长在,怅望江头江水声。-李商隐《暮秋独游曲江》 26、自由代表是内心永久孤单。 27、现实太假,还是自己太傻? 28、一切由于寂寞,才开始了暧昧。 29、生活真正意义是:生下来,活下去。 30、年龄不是差距,身高不是距离。 31、人生是一张单程车票,没有后退,没有返回! 32、虽然有时候我会心痛,但是我却拥有别人不曾拥有幸福,因此我知足了! 33、在爱与被爱选取里,我选取了被爱,错、又能如何? 34、在你世界,没有我存在,因此你感受不到我内心深处苍桑! C语言程序设计 探究式自主设计报告 系 部: 电子电气工程系 专 业: 电气自动化 班 级: 姓 名: 课题名称: 学生成绩管理体统 指引教师: ********** 学 院 12月12日 说 明 1、设计目 1)复习巩固C语言基本知识,进一步加深对C语言编程理解和掌握; 2)运用所学知识,理论和实际结合,运用资源,采用模块化构造,使用模仿修改自主设计相结合办法,锻炼学生综合分析解决实际问题编程能力; 3)培养学生在项目开发中团队合伙精神、创新意识及实战能力。 2、设计任务 依照学生实际状况,进行分组选题。重要课程设计题目如下(学生也可自主选题): 1、图书管理系统 2、学生信息管理系统 3、学生成绩管理系统 4、学生通讯录管理系统 5、职工信息管理系统 6、设计简朴计算器 课程设计采用学生自主设计和指引教师辅导相结合方式。 3、设计规定与设计报告 设计规定: 1、任选上述题目之一,或自选题目。 2、模块化程序设计 3、锯齿形程序书写格式。 4、必要通过编译连接运营 设计报告: 1、设计目和任务 2、总体设计:涉及程序设计构成框图、流程图。 3、详细设计:涉及模块功能阐明:函数功能、入口及出口参数阐明,函数调用关系描述等。 4、调试与测试:涉及调试办法,测试成果分析与讨论,测试过程中遇到重要问题及采用解决办法。 5、源程序清单和执行成果:清单中应有足够注释。 设计目和任务 (重要简介设计任务,为什么要设计,设计要达到什么样目。) 设计目:(1)基本掌握面向过程程序设计基本思路和办法; (2)达到纯熟掌握C语言基本知识和技能; (3)可以运用所学基本知识和技能,解决简朴程序设计问题 程序功能:(1). 学生基本信息及成绩所选科目成绩录入。 (2). 基本信息查询(分系、班级;分科目)与修改。 (3). 对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和先进率); (4). 对所开课程成绩分析(求其平均成绩,最高分和最低分); (5). 对学生考试成绩进行排名; 目 录 一、总体设计 1 二、详细设计 1 三、调试与测试 1 四、源程序清单和执行成果 1 五、建议和体会 1 六、参照文献 1 一:总体设计 设计流程图如下: 二、详细设计 1、输入初始学生信息:其中涉及学生姓名、学号和性别以及学生语文、数学、英语和计算机等有关信息;可用函数cin(stu *p1)来实现此操作。 2、查询模块:可用stu *lookdata(stu *p1) 来实现。找到就输出此学生所有信息涉及学生语文、数学、英语和计算机等成绩。 3、插入模块:可用insert( )函数来实现。其中通过学号大小来比较,并且以此来排序。 4、输出学生信息以及成绩:通过学生姓名来查看学生语文、数学、英语和计算机等有关成绩,同步也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩平均分数、最高和最低分数。 5、退出系统:可用一种函数exit()来实现,一方面将信息保存到文献中,释放动态创立内存空间,再退出此程序。 三、调试与测试 四、源程序设计和测试成果 五、建议和体会 六、参照文献 指引教师评语及评分 考核小组意见及评分 综合评分 三:调试与测试 问题一、学生初始信息模块: 其中涉及学生姓名、学号和性别以及学生语文、数学、英语和计算机等有关信息;可用函数cin(stu *p1)来实现此操作。当对的输入存在学生学号,系统进行判断时,提示不存在此学生。 解决办法及环节: 1、一种个输出所有学生学号,检查文献中与否有此学生,发既有。 2、既然有此学生,那么检查循环判断与否有此学生语句发现没有错 3、输出用于循环检查语句中学生信息,发现乱码 4、仔细分析乱码因素,最后发现是变量类型错误,错将学生类型构造体指针变量定义为了其她类型指针变量。 问题二、查询模块: 可用stu *lookdata(stu *p1) 来实现。找到就输出此学生所有信息涉及学生语文、数学、英语和计算机等成绩。当对的输入查找信息时,系统却不可以得到所要查找学生信息以及学生语文、数学、英语和计算机成绩。 解决办法及环节: 1、检查所编写程序代码与否完全对的,若不是,则改之,然后再继续对的输入查找信息看能否得到所要查找学生信息以及学生语文、数学、英语和计算机成绩。 2、检查当咱们在输入查找信息时,看与否咱们输入信息有误,若是这样话,咱们应当仔细输入查找信息。 四:源程序清单和执行成果 源程序如下: #include "stdio.h" #include "math.h" #define N 30 struct student { long int num; char name[10]; char sex[3]; int Chinese,Math,English,total,average; }stu[N]={{4001,"lks","m",100,100,100},{4002,"lyt","w",99,63,89},{4003,"asd","w",60,70,80},{4004,"fgh","m",41,100,98}, {4005,"asd","m",74,74,87},{4006,"yt","m",85,58,78},{4007,"qwe","w",74,100,87},{4008,"dcs","w",74,85,96}, {4009,"qfg","m",74,78,36},{4010,"gft","m",45,85,98},{4011,"mn","m",60,77,17},{4012,"yer","w",78,78,100},{4013,"lsd","m",100,89,85}},s; int M=13; void modify(struct student stu[]) { int t;long num;char z; t=search(stu)-400; printf("input num:"); scanf("%ld",&stu[t].num); printf("input name:"); scanf("%s",stu[t].name); printf("input sex:"); scanf("%s",stu[t].sex); printf("input score of Chinese:"); scanf("%d",&stu[t].Chinese); printf("input score of Math:"); scanf("%d",&stu[t].Math); printf("input score of English:"); scanf("%d",&stu[t].English); stu[t].average=(stu[t].English+stu[t].Math+stu[t].Chinese)/3; stu[t].total=stu[t].English+stu[t].Math+stu[t].Chinese; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); printf("\t%4ld\t",stu[t].num); printf(" %s\t",stu[t].name); printf("%s\t",stu[t].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[t].Chinese,stu[t].Math,stu[t].English,stu[t].total,stu[t].average); printf("Next?y/n???"); scanf("%s",&z); if(z=='y') modify(stu); } void output(struct student stu[]) { int i; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); for(i=0;i<M;i++) { printf("\t%4ld\t",stu[i].num); printf(" %s\t",stu[i].name); printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); } } void sort(struct student stu[]) { int i,j,t; printf("1.an yingyu chengcheji paixu\n2.an yuwen chengji paixu\n3.an shuxue chengji paixu\n4.an pingjue chengji paixu\n5.an zongfen paixu\n"); scanf("%d",&t); switch(t) { case 1: for(i=0;i<M-1;i++) for(j=0;j<M-i-1;j++) { if(stu[j].English<stu[j+1].English) { s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } output(stu); getch(); break; case 2: for(i=0;i<M-1;i++) for(j=0;j<M-i-1;j++) { if(stu[j].Chinese<stu[j+1].Chinese) { s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } output(stu); getch(); break; case 3: for(i=0;i<M-1;i++) for(j=0;j<M-i-1;j++) { if(stu[j].Math<stu[j+1].Math) { s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } output(stu); getch(); break; case 4: for(i=0;i<M-1;i++) for(j=0;j<M-i-1;j++) { if(stu[j].average<stu[j+1].average) { s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } output(stu); getch(); break; case 5: for(i=0;i<M-1;i++) for(j=0;j<M-i-1;j++) { if(stu[j].total<stu[j+1].total) { s=stu[j]; stu[j]=stu[j+1]; stu[j+1]=s; } } output(stu); getch(); break; } } int search(struct student stu[]) { long t,i,z,K='y';char name[20]; printf("1.an xuehao chazhao\n2.an xingming chazhao\n"); scanf("%d",&z); switch(z) { case 1: printf("qing shuru xuehao:\n"); scanf("%ld",&t); for(i=0;i<M;i++) { if(stu[i].num==t) { K='x'; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); printf("\t%4ld\t",stu[i].num); printf(" %s\t",stu[i].name); printf(" %s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); return(stu[i].num); getche(); break; } } if(K='y') { printf("No find"); getchar(); } break; case 2: printf("qing shuru xingming:"); scanf("%s",name); for(i=0;i<M;i++) { if(strcmp(stu[i].name,name)==0) { K='x'; printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); printf("\t%4ld\t",stu[i].num); printf(" %s\t",stu[i].name); printf(" %s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%6d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); getche(); break; } } if(K='y') { printf("No find"); getchar(); } break; } } void insert(struct student stu[]) { int i;char z='y'; for(i=M;i<=N&&z=='y';i++) { printf("input num:"); scanf("%ld",&stu[i].num); printf("input name:"); scanf("%s",stu[i].name); printf("input name:"); scanf("%s",stu[i].sex); printf("input score of Chinese:"); scanf("%d",&stu[i].Chinese); printf("input score of Math:"); scanf("%d",&stu[i].Math); printf("input score of English:"); scanf("%d",&stu[i].English); stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3; stu[i].total=stu[i].English+stu[i].Math+stu[i].Chinese; printf("Next?y/n???"); z=getche(); if(z!='y') { M=i+1; sort(stu); output(stu); } } } void delete(struct student stu[]) { long t,i,z;char l,name[20]; printf("1.an xuehao shanchu/n2.an xingming chanchu"); scanf("%d",&z); switch(z) { case 1: printf("qing shuru xuehao:"); scanf("%ld",&t); for(i=0;i<M;i++) { if(stu[i].num==t) { printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); printf("\t%4ld\t",stu[i].num); printf(" %s\t",stu[i].name); printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); break; } } printf("Go on?y/n???"); scanf("%s",&l); if(l=='y') { for(;i<M;i++) { stu[i]=stu[i+1]; } stu[M-1].num=0; output(stu); } else break; case 2: printf("qing shuru xingming:"); scanf("%s",name); for(i=0;i<M;i++) { if(strcmp(stu[i].name,name)==0) { printf("\tNUM\tNAME\tSEX\tCHINESE\tMATH\tENGLISH\tTOTAL\tAVERAGE\n"); printf("\t%4ld\t",stu[i].num); printf(" %s\t",stu[i].name); printf("%s\t",stu[i].sex); printf("%4d\t%4d\t%4d\t%4d%8d\n",stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average); break; } } printf("Go on?y/n???"); scanf("%s",&l); if(l=='y') { for(;i<M;i++) { stu[i]=stu[i+1]; } stu[M-1].num=0; output(stu); } else break; } } main() { int choice,i; clrscr(); for(i=0;i<M;i++) { stu[i].average=(stu[i].English+stu[i].Math+stu[i].Chinese)/3;; stu[i].total=stu[i].English+stu[i].Math+stu[i].Chinese; } for(;;) { printf("\n------ xuesheng chengji guanli xitong------\n"); printf("1.modify xuesheng jilu \n"); printf("2.output xuesheng jilu\n"); printf("3.sort xuesheng jilu\n"); printf("4.search xuesheng jilu\n"); printf("5.insert xuesheng jilu\n"); printf("6.delete xuesheng jilu\n"); printf("7. exit\n"); printf("pllease input(1-7):\n"); scanf("%d",&choice); switch(choice) { case 1: modify(stu); break; case 2: output(stu); break; case 3: sort(stu); break; case 4: search(stu); break; case 5: insert(stu); break; case 6: delete(stu); break; case 7: exit();break; } } getch(); } 五:建议和体会 本学期咱们C语言程序设计课程考试题目是让学生自主设计。全班共分了6个小组,咱们3组需要完毕题目是设计学生成绩管理系统 。 C语言实质就是以一定语法规范为准,通过对数据量复杂构造运算,完毕一定功能程序,是一门计算机基本语言,咱们通过这一学期学习,对于其特点和算法有了一定限度理解。这两周课程设计正是让咱们巩固此前知识并在此基本上可以有所突破。 在人们共同努力下,忙碌了两个星期,咱们顺利完毕了对此程序编译及试运营。在设计程序过程中,咱们理解到要设计一种完整程序,其中最难也许就属设计整个程序框架,其中也许会需要通过诸多次修改与调试,因此必要要有耐心,直至最后设计出自己想要程序。 此外平时学习c语言基本也很核心,由于如果平时学得就不怎么样,那么你面对这样一种比较有难度程序,也许会望而却步,看懂她人程序都是个难点,更别说让自己去设计。为理解决此类问题,最佳就是多向同窗,教师请教,查找资料。 设计一种程序过程就是解决一种实际问题过程,从解决实际问题角度,咱们可以这样来看:一方面要理解这个问题基本规定,即输入、输出、完毕从输入到输出规定是什么;在次咱们必要捋清思路,逐个解决问题各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可拟定所需变量、数组、函数,然后拟定解决过程--算法。 感谢这次课程设计,它使我更加深刻地体会到c语言程序编写过程严谨与细致,尚有就是无论做任何事都要有耐心。固然团队合伙也是非常重要一种环节,这会使你在学习过程中倍感轻松,因此在本次课程设计过程中,通过咱们小组全体成员共同努力,终于完毕了这个学生管理系统设计。 总来说,这次程序设计让我获益匪浅,对C语言也有了进一步结识:C语言功能高、表达能力强、使用灵活以便、目的程序效率高等等。C语言是在国内外广泛使用一种计算机语言,相信除了以上长处,尚有许多咱们尚未发现,但愿能在后来学习中有更进一步结识。 六:参照文献 教材:C语言程序设计 C程序编程技术 指引教师评语及评分 考核小组意见及评分 综合评分- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文