欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生成绩管理c语言课程设计报告大学论文.doc

    • 资源ID:91709821       资源大小:183.50KB        全文页数:29页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩管理c语言课程设计报告大学论文.doc

    课程设计(论文)任务书 信息工程 学院 通信工程 专业 15-1 班 一、课程设计(论文)题目 :学生成绩管理 二、课程设计(论文)工作自 2016 年 6 月27日起至 2016 年 7 月 1 日止 三、课程设计(论文) 地点: 8栋601 四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“C程序设计”课程基本知识的理解和掌握,了解C语言在项目开发中的应用。(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。 2. 课程设计的任务及要求1) 基本要求:(1) 对系统功能进行需求分析;(2) 使用Visual C+编译器进行程序编译;(3) 提出系统的设计方案;(4) 编写源程序代码并进行调试。2) 创新要求在基本要求达到后,可进行创新设计。3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。报告按如下内容和顺序用A4纸进行打印并装订成册。(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。(2)设计任务书(3)评阅书(4)目录 (5)正文 (6)主要参考文献4) 课程设计评分标准: 每人按指定题目进行设计,严禁抄袭,各选题2人/组。要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5) 课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4) 撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求: 学生成绩管理系统要求从键盘输入某班级30个学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别实现1.统计平均分和总分2.按总分大小排出名次3.打印成绩在班平均分之上的学生成绩和信息4.输入任意学号查找该学生的成绩和名次。要求:各个功能要求分别用独立的函数来实现,在主函数中通过菜单选择来实现各个功能。且要求使用结构体数组来存储和处理30个学生信息,定义的结构体主要包括:学号、姓名、三门课成绩、总分、平均分、名次等成员。可以有创新内容。学生签名: 2016年 6 月24 日课程设计(论文)评阅意见序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人 职称 副教授 2016年7月2日 目录一、功能介绍5二、摘要6三、程序设计8四、运行的图文分析21五、使用说明24六、课程设计心得29七、参考文献30一、功能介绍 菜单是应用程序非常重要的组成部分,通过菜单,应用程序可以实现不同的功能,通过本系统的设计,可以实现应用程序的菜单。(1) 进入系统之前,用户敲回车键开始输入学生信息(姓名和各科成绩,之后进入菜单,可选择1-5实现五种不同功能。(2) 用户根据需要输入1-5,若输入其他字符,则显示按键错误,请重新选择。(3) 实现完各功能之后用户可输入BB返回返单,若输入错误需要重新输入。(4) 选择功能1后,程序自动输各科的平均分以及总分平均分,还有各学生的学号、姓名、各科成绩、总成绩。(5) 选择功能2后,程序自动给各学生排名,并输出各学生的名次和相关信息。(6) 选择功能3后,程序自动打印出分数高于平均分的学生的信息。(7) 选择功能4后,输入学号可查询现骨干学生的信息,系统会自动计算该学生的成绩绩点,并判断该学生是否拿得到学位证。若输入无关学号则会提醒未查到该学生请重新输入学号。(8) 选择功能5后,程序运行结束,输出图形,按任意键关闭程序。二、摘要步骤:1. 打开应用程序,弹出“欢迎使用”界面。2. 输入每位学生的相关信息。3. 进入菜单栏,可选择各项功能。4.对输入信息进行判断,若正确则执行相关功能,错误就需要重新选择。5. 实现功能后可以返回菜单栏。6. 继续判断输入信息,然后执行下一个功能。7. 可输入相关信息进行选择相应功能使程序结束运行。8. 程序运行结束时会出现一个心形的图案,并显示出“感谢使用,再见!”流程图三、程序设计源代码 #include<stdio.h>#include<string.h>#include<math.h>struct student /*创建结构体1 */int num;char name99;float Chinese;float English;float Math;st30;struct student2 /* 创建结构体2*/int num;char name99;float Chinese;float English;float Math;st230;main()int a,i,j,b,d,e,m,n,o,z;char c99,f;float AVE,aveC,aveE,aveM,sum30,sum230,sumC=0,sumE=0,sumM=0,jC30,jE30,jM30,avej30,w,x,y,k,p;printf(" * * n");printf(" * * * n");printf(" * * * n");printf(" * * * n");printf(" * * n");printf(" * * n");printf(" * * * 欢迎使用 n");printf(" * * * n");printf(" * * * n");printf(" * * 学生成绩管理系统 n");printf(" * * * n");printf(" * * * n");printf(" * * 按回车键开始输入学生信息n");printf(" * * * n");printf(" * * * n");printf(" * * * n");printf(" * * n"); /* 以上代码均用于图形设计*/getchar();printf("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn");printf("请输入学生姓名,成绩n"); /* 循环语句输入学生信息*/for(i=15001;i<=15030;i+)printf("学号%dn",i);sti-15001.num=i;st2i-15001.num=i;printf("请输入姓名");gets(sti-15001.name);strcpy(st2i-15001.name,sti-15001.name);printf("请输入语文成绩");scanf("%f",&sti-15001.Chinese);st2i-15001.Chinese=sti-15001.Chinese;printf("请输入英语成绩");scanf("%f",&sti-15001.English);st2i-15001.English=sti-15001.English;printf("请输入数学成绩");scanf("%f",&sti-15001.Math);st2i-15001.Math=sti-15001.Math;sumC+=sti-15001.Chinese; /*计算总分、平均分、成绩绩点 */sumE+=sti-15001.English;sumM+=sti-15001.Math;sumi-15001=sti-15001.Chinese+sti-15001.English+sti-15001.Math;sum2i-15001=st2i-15001.Chinese+st2i-15001.English+st2i-15001.Math;if(sti-15001.Chinese<60)jCi-15001=0;else jCi-15001=(sti-15001.Chinese-60)/10;if(sti-15001.English<60)jEi-15001=0;else jEi-15001=(sti-15001.English-60)/10;if(sti-15001.Math<60)jMi-15001=0;else jMi-15001=(sti-15001.Math-60)/10;aveji-15001=(jCi-15001+jEi-15001+jMi-15001)/3;getchar();aveC=sumC/30;aveE=sumE/30;aveM=sumM/30;AVE=aveC+aveE+aveM;lable2:printf("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn");printf("请输入序号选择功能(请输入15之间的数字并按回车键确认)n1.统计平均分和总分n2.排序n3.打印n4.查找(可查成绩绩点)n5.退出n请输入序号:"); /*输出菜单栏 */scanf("%d",&a);switch(a)case 1: /* 模块1 实现输出总分平均分等功能*/printf("语文平均分=%fn",aveC);printf("英语平均分=%fn",aveE);printf("数学平均分=%fn",aveM);printf("总分平均分=%fn",AVE);for(j=0;j<30;j+)printf("姓名:");puts(stj.name);printf("学号%d 语文%f 英语%f 数学%f 总分%f n",stj.num,stj.Chinese,stj.English,stj.Math,sumj);printf("输入BB返回选择界面(按回车键确认)");lable3:scanf("%c",&f);getchar();if(f='B')goto lable2; /*goto语句实现返回功能 */elseprintf("");goto lable3; /*goto语句实现返回功能 */;break;case 2: /*模块二实现排序功能 */for(m=0;m<30;m+)o=m;for(n=m+1;n<30;n+)if(sum2o<sum2n)o=n;if(o!=m)p=sum2m;sum2m=sum2o;sum2o=p;y=st2m.Chinese;st2m.Chinese=st2o.Chinese;st2o.Chinese=y;x=st2m.English;st2m.English=st2o.English;st2o.English=x;w=st2m.Math;st2m.Math=st2o.Math;st2o.Math=w;z=st2m.num;st2m.num=st2o.num;st2o.num=z;strcpy(c,st2m.name);strcpy(st2m.name,st2o.name);strcpy(st2o.name,c);for(m=0;m<30;m+)printf("姓名:");puts(st2m.name);printf("名次%d 学号%d 语文%f 英语%f 数学%f 总分%f n",m+1,st2m.num,st2m.Chinese,st2m.English,st2m.Math,sum2m);printf("输入BB返回选择界面");lable4:scanf("%c",&f);getchar();if(f='B')goto lable2; /*goto语句实现返回功能 */elseprintf("");goto lable4; /*goto语句实现返回功能 */;break;case 3: /*模块3实现打印功能 */printf("总分大于平均分的有n");for(b=0;b<30;b+)if(sumb>=AVE)printf("姓名:");puts(stb.name);printf("学号%d 总分%f n",stb.num,sumb);printf("语文大于平均分的有n");for(b=0;b<30;b+)if(stb.Chinese>aveC)printf("姓名:");puts(stb.name);printf("学号%d 语文%f n",stb.num,stb.Chinese);printf("英语大于平均分的有n");for(b=0;b<30;b+)if(stb.English>aveE)printf("姓名:");puts(stb.name);printf("学号%d 英语%f n",stb.num,stb.English);printf("数学大于平均分的有n");for(b=0;b<30;b+)if(stb.Math>aveM)printf("姓名:");puts(stb.name);printf("学号%d 数学%f n",stb.num,stb.Math);printf("输入BB返回选择界面");lable5:scanf("%c",&f);getchar();if(f='B')goto lable2; /*goto语句实现返回功能 */elseprintf("");goto lable5; /*goto语句实现返回功能 */;break;case 4: /*模块4实现查询功能 */printf("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn");printf("请输入要查询的学号");lable6:scanf("%d",&d);if(d>15030|d<15001)printf("未查询到该学号,请检查是否输入正确n");printf("请重新输入学号");goto lable6; /*goto语句实现返回功能 */for(e=15001;e<=15030;e+)if(d=e)printf("姓名:");puts(ste-15001.name);printf("学号%d 语文%f 英语%f 数学%f 总分%f n",ste-15001.num,ste-15001.Chinese,ste-15001.English,ste-15001.Math,sume-15001); printf("该学生成绩绩点为 语文%f 英语%f 数学%f 平均 %f n",jCe-15001,jEe-15001,jMe-15001,aveje-15001);if(aveje-15001>=2.2) /*判断是否能拿到学位证 */printf("该学生可以拿到学位证n");else printf("该学生不能拿到学位证n");printf("输入BB返回选择界面");lable7:scanf("%c",&f);getchar();if(f='B')goto lable2; /*goto语句实现返回功能 */elseprintf("");goto lable7; /*goto语句实现返回功能 */;break;case 5: /*模块5实现退出功能(不含goto语句)*/printf("nnnn");double X, Y;int H = 3;for (Y = -4; Y <= 0; Y += 0.3)for (X = -4; X <= 4; X += 0.2)if (fabs(sqrt(X * X + Y * Y) - H * sin(2 * atan(Y / X) <= 1| fabs(sqrt(X * X + Y * Y) - H * sin(2 * atan(-Y / X) <= 1)printf("*");elseprintf(" ");printf("n");for (Y = -1; Y <= 0; Y += 0.2)for (X = -4; X <= 4; X += 0.2)if (fabs(Y) - 0.65 * X * X >= 0.2)printf("*");elseprintf(" ");printf("n");printf(" 感谢使用,再见!n ");return 0; /*以上代码输出图形 */break;default: /*模块6输入错误重新输入 */goto lable2; /*goto语句实现返回功能 */break;本实验由管宇和卢俊共同完成。管宇负责设计框架和构思,模块2、4、5的设计。卢俊负责模块1和模块3的设计。功能调试两人一起完成。四、运行的图文分析 打开程序后按照预期输出了封面执行功能1(正常运行)执行功能2(正常运行)执行功能3(正常运行)执行功能4(正常运行)执行功能5(正常运行)本次实验程序正常运行。五、使用说明打开程序后首先输出图片按回车键后依次输入学生信息输完学生信息进入菜单栏选择功能输入1实现功能1可输入BB执行返回功能输入后回到菜单栏输入2实现功能2,学生成绩从大到小排序返回后输入3实现功能3返回后输入4实现功能4输入错误学号则提示输入正确学号则输出该学生信息返回后输入5实现功能5若输入1-5之外的数不会执行功能,需要重新输入。六、课程设计心得 大一刚开始接触这个C语言的时候,我内心是崩溃的.后来慢慢发现有点意思哈,老师也讲得津津有味,我们听着也很有兴致。现在有关C语言的基础差不多都会吧,什么头文件#include<stdio.h>,scanf(“%.”,&.),还有我们平时说的等号“=”,在C语言中就是赋值的意思啦,而C语言中的等号则是“=”,还有就是一些基础的,比如分号哪些时候不该加,但大多数情况都要记得加上那个分号。还有switch语句后面忘记加break语句而不能循环语句。还有定义形参的时候应该在函数体外面,而局部变量应该在函数体内定义。总之,这些困难都不算困难,如果你抽一点玩的时间出来看一下书,有时候可以在课堂上打盹,但是无论学什么东西都要经过自己的大脑过滤一遍,这样下来自己看书也会好一些。编这个程序我一开始也有点无所适从,但还是跟小伙伴一起努力做了出来,有些还是在网上查找了资料,不懂的再咨询一下老师,结果大功告成了。合作的力量是强大的,自身的基础也是必不可少的。当困难都一个个解决了之后,不由自主想起一句歌词:天空飘来五个字儿-那都不是事。团结!团结!团结!七、参考文献1 杨文君,杨柳.C语言程序设计教程M.清华大学出版社. 2010.32 谭浩强. C语言程序设计教程M. 清华大学出版社. 2007.63 C语言程序设计精品课程4 谭浩强.C语言程序设计教程学习辅导M.北京:清华大学出版社,2005.5 陈朔鹰等编著,C语言程序设计基础教程,兵器工业出版社,1994年9月6 C语言趣味程序百例精解,陈朔鹰 陈英主编,北京理工大学出版社,1996.7 The C Programming Language,by Brian W. Kernighan and Dennis M. Ritchie.,Pubilished by Prentice-Hall in 1988.8 C语言编程常见问题解答,美Paul S. R. Chishohm等著,张芳妮 吕波译,清华大学出版社,11996年12月.9 裘宗燕 著,从问题到程序科学出版社,北京大学出版社,1999.10 Cline Marshall P. Cline and Greg A. Lomow, C+ FAQs, Addison-Wesley, 199511 Eckel Bruce Eckel, Thinking in C+(C+ 编程思想,刘宗田 等译),机械工业出版社,200012 Maguire Steve Maguire, Writing Clean Code(编程精粹,姜静波 等译),电子工业出版社,199313 Meyers Scott Meyers, Effective C+, Addison-Wesley, 199214 Murry Robert B. Murry, C+ Strategies and Tactics, Addison-Wesley, 199315 Summit Steve Summit, C Programming FAQs, Addison-Wesley, 199616 李海文,吴乃陵.C+程序设计实践教程. 北京:高等教育出版社,200317 张荣梅. Visual C+实用教程。中国铁道出版社,2008.9第 28 页

    注意事项

    本文(学生成绩管理c语言课程设计报告大学论文.doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开