《上海应用技术学院课程设计报告》由会员分享,可在线阅读,更多相关《上海应用技术学院课程设计报告(14页珍藏版)》请在人人文库网上搜索。

1、上海应用技术学院课程设计报告课程名称 C语言课程设计 设计题目 成绩记录簿 姓 名 叶箭 专业班级 101041B2 学号 1010411232 组别 无 同 组 者 指导教师 日期 成绩 一、目的及要求(1) 目的1. 巩固和加深学生对C语言课程的基本知识的理解和掌握;2. 掌握C语言编程和程序调试的基本技能;3. 利用C语言进行基本的软件设计;提高学生的编程能力4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力。(2) 课程设计要求1. 分析课程设计题目的要求;2. 写出详细设计说明;用户提供的主操作界面应该为菜单形式3. 编写程序代码,调试程序使其能正确运行;4 。

2、设计完成后提交课程设计报告和源代码文件的电子文档最后提交的课程设计成果包括:a) 课程设计报告电子稿;b) 源程序文件;(.cpp 文件)二、课程设计内容说明1. 课程设计题目:成绩记录簿2. 设计理念:成绩记录簿中记录以下数据:学号、姓名 ,语文,数学,英语,学分,所有成绩都以百分制计分。在程序中可以输入新的成绩记录,可以按学号或姓名查询一个学生的所有成绩,和已完成的学分。也可以查出一个班的成绩表 输入信息时要检查数据项学号的合法性,学号:8位数字 ;成绩:0 100 之间的整数。程序的主界面如下:成绩记录簿1. 添加2. 删除3.查询学生成绩4.查询班级成绩 0. 退出1程序系统的结构:成。

3、绩记录簿查询学生成绩查询班成绩退出删除添加按姓名删除按学号查询按姓名查询按学号删除F.2.1程序描述:(1) 目的:对成绩录入簿进行良好的添加,查询,删除。(2) 特点:方便,灵活,直观,易用。意义: 编写此程序,可以巩固和加深我们对C语言课程的基本知识的理解和掌握;也使我们能掌握C语言编程和程序调试的基本技能;使我们有能力利用C语言进行基本的软件设计;更令我们掌握了书写程序设计说明文档的能力:且 提高运用C语言解决实际问题的能力。F.2.2功能:通过主菜单,我们可以迅速的选择我们所需的操作了,比如:添加或删除每个人的成绩,学分,学号等一系列的内容,又或者可以随时方便快捷的查询个人成绩或班级成。

4、绩,F.2.3性能: 可以应付简单的添加,删除和查询; F.2.4输人项 char name10 设置学生名称long int id 定义学号为长整型float avg 平均分为实数F. 2. 5输出项int m1,m2,m3,score,xf; 定义整型 float avg; 以浮点型输出平均分F.2.6算法 1.for 语句,不断循环接受新的信息2.if 语句,判断 ,然后选择输出3.switch语句,case语句负责到是以名字或是学号等一系列信息进行删除或查询开始F.2.7流程逻辑主菜单(成绩记录簿)查询班成绩查询学生成绩添加删除 选择查询方法选择删除方法输入输入输出要查询的内容确认是否。

5、删除成功这是总的流程图。该流程分为五大模块:模块一:主菜单退出checkclass()tj()查询班级成绩删除添加进入主菜单(成绩记录簿)开始查询学生成绩checkstudent()del()模块二:tj()函数接受添加的数据,模块三:del()是删除不需要的数据的内容,可以通过学号和姓名两种方式进行操作,其中有确认操作,防止误操作,删除结束返回主菜单。模块四:checkstident()是通过按姓名与学号两种方法来查询学生个人成绩模块五:checkclass()是通过一个for语句不断循环已经接受的内容来显示班级成绩F.2.8 接口#include stdio.h#include#inclu。

6、destruct stulong int id;char name10;int m1,m2,m3,score,xf; /xf为学分 float avg;f100;int x=0,a,choose,s=0,score1=0,score2=0,score3=0,c;long int id ; float avg1,avg2,avg3; char name10; void tj()void del()void checkstudent()voidcheckclass()void main()int a;while(1)printf(nnn);printf( 成绩记录簿n);printf( 1: 添加。

7、n);printf( 2: 删除n);printf( 3: 查询学生成绩n);printf( 4: 查询班成绩n);printf( 0: 退 出 n);printf( 请输入数字选择: );scanf(%d,&a);switch(a)case 1:tj(); break;case 2: del();break; case 3:checkstudent();break;case 4:checkclass(); break;case 0: exit(0);default: ;F.2.9限制条件:1. 一个学生必须有语文,数学,英语三门成绩2. 学号必须都是数字,且是八位,不能有0F.2.10测试计。

8、划主函数:进入就可以选择要操作的选项添加:进入主菜单,选择1,输入要添加的人数,输入学生学号,语文,数学,英语及学分,然后输出删除:进入主菜单,选择2,在选择删除方法时,我选择了1(按学号删除),然后输入学号,显示出要删除的内容,选0(确定删除),删除成功查询学生成绩:进入主菜单,选择3,在选择查询方法时,我选择了1(按学号查询),然后输入学号,显示出要查询的内容,查询班成绩:进入主菜单,选择4,显示出班成绩三、结论与体会结论:对完成情况的评价:可以进行一些简单操作,可以比较迅速地进行添加,删除与查询设计中存在的问题:目前程序虽然已经完成,但仍然有许多不足与漏洞。例如:1.在我的程序中查询班成。

9、绩是直接显出来的,不需要选择查询方法,然而,事实上,我本可以用switch语句,case语句来编程,这样的话,在查询班成绩时,就可以通过选择查询方法来查询了!可惜没时间了,否则一定将此不足改正。2.另一个不足之处是由于惯性,想当然的以为学号一定是数字,且通常是八位,所以在我的程序中,如果学号中有字母,程序将陷入死循环:如果学号超过八位,将提示输入有误!体会:短短的一周已经过去了,在此我将交出我一周的成果,我真是百感交错!事实上,与过去相比,我认为这短短的一周给我的感悟更为强烈。在此,首先我要感谢 老师,是 老师把我带进了这一门,俗话说的好“万丈高楼平地起”,所以说,基础很重要。而 老师讲课认真。

10、,讲也很透彻,使我们能较好的理解这门课,可以跟紧课堂进度,是我们有机会能打下结实良好的基础。而且 老师在平时也鼓励我们多提问,在我们遇到问题时 ,富有耐心地为我们解答。在此再次感谢老师对我们不辞操劳的讲解!谢谢!一开始,当我第一眼看到这课程设计的时候,我感到十分的“痛苦” ,老实说,在还未进行编程之前,我就感到这与我们之前的编程完全不一样,与这次相比,以前的上机实验就像是小孩子玩得,一点技术含量也没有。以前的那些实验只要看看书,花上一二个小时,基本就可以完成了,而且以前的小程序最多也不过二三十行,不像这次要百来行。从中可见它的难度,从而联想到那些专业编程员,我更深刻感到自己的不足。由于之前从未。

11、进行过如此大的编程,所以一开始根本没头绪,后来只好用死办法,像写作文一样,首先先在纸上列出大致的提纲,然后再一个个慢慢延伸展开,最后再输入计算机,用它来运行。可惜不运行还好,一运行只见一片的红色错误提示。有些错误很简单,很好改,是由于自己的粗枝大叶引起的,比如:有些字符未定义,漏了一个“;”等。但也有些高深莫测的问题,例如:当我好不容易把程序运行出来后,却发现当我选择删除这一项时,会发现不论我选择是按学号删除还是按姓名删除都不会出现我所要删除的内容,而是直接询问确定删除请按1。又或者是当我添加时是添加了三个同学的成绩,但当我查询全班成绩时,却只有两位同学的成绩。后来在百思不得其解之下,我只好向。

12、周围同学寻求帮助,最终在大家的帮助之下才解决的,诸如此类的问题还不少!有的已经解决,但有些还未,可惜时间不够,也只能如此。经过这一周的课程设计,我发现我懂得了很多,它使我在编程时更仔细了,也使我学会了向周围人求教,培养了我自我学习,独立思考。并且 ,使我更体会到了和高中的不一样,一切靠自觉,没有人会跟在你后面一直催你,告诉你该怎样怎样。同时,我也更加了解到自己的不足,基础严重不扎实。虽然这门课快结束了,但我会努力在假期中把自己的基础补好,期待在下次的课程设计时能够得心应手!参考文献C语言程序设计实用教程 周雅静主编 清华大学出版社 2009附录:程序清单附录源程序#include stdio.。

13、h#include#includestruct stulong int id;char name10;int m1,m2,m3,score,xf; /xf为学分 float avg;f100;int x=0,a,choose,s=0,score1=0,score2=0,score3=0,c;long int id ; float avg1,avg2,avg3; char name10; void pt() /分割线 printf(nn);void tj()printf(你要添加几个学生成绩:); scanf(%d,&a) ;printf(请输入:学号 姓名 语文 数学 英语 学分 n);a=a。

14、+s; for(;x100|fx.m2100|fx.m3100|fx.id99999999|fx.id10000000)printf(n输入有误n);s-;x-;break; /删除错误行并且退出程序 for(x=0;xs;x+)printf(学号 姓名 语文 数学 英语 平均分 总分 学分n); printf(%-2ld %s %5d %5d %5d %5.1f %5d %5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);void del()int y=0; pt();printf(按学号删除请按1n按姓名删除请按2n);s。

15、canf(%d,&choose);switch(choose)case 1:printf(n请输入学号);scanf(%ld,&id);for(x=0;xs;x+)if(fx.id=id)printf(学号 姓名 语文 数学 英语 平均分 总分 学分n); printf(%-2ld %s %5d %5d %5d %5.1f %5d %5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);y+; printf(确定删除该学生成绩按 0n其他数字退出删除n);scanf(%d,&c);if(c=0) for(y;ys;y+)fy.na。

16、me=fy+1.name;fy.id=fy+1.id;fy.m1=fy+1.m1;fy.m2=fy+1.m2; fy.m3=fy+1.m3;fy.avg=fy+1.avg;fy.score=fy+1.score;s-; printf(删除成功);break; else printf(删除以取消); break ; case 2:printf(n请输入姓名:);scanf(%s,&name);for(x=0;xs;x+) if(strcmp(fx.name,name)=0)printf(学号 姓名 语文 数学 英语 平均分 总分 学分n); printf(%-2ld %s %5d %5d %5d。

17、 %5.1f %5d %5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);y+;printf(确定删除该学生成绩按 1n其他数字退出删除n);scanf(%d,&c);if(c=1) for(y;ys;y+)fy.name=fy+1.name;fy.id=fy+1.id;fy.m1=fy+1.m1;fy.m2=fy+1.m2; fy.m3=fy+1.m3;fy.avg=fy+1.avg;fy.score=fy+1.score;s-; break; else printf(删除以取消); break; pt();void che。

18、ckstudent() pt();printf(按照学号查询请按1n按照名字查询请按2n);scanf(%d,&choose);switch(choose)case 1:printf(n请输入学号);scanf(%ld,&id);for(x=0;xs;x+)if(fx.id=id)printf(学号 姓名 语文 数学 英语 平均分 总分 学分n); printf(%-2ld %s %5d %5d %5d %5.1f %5d %5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);break;case 2:printf(n请输入姓名。

19、);scanf(%s,name); for(x=0;xs;x+)if(strcmp(fx.name,name)=0)printf(学号 姓名 语文 数学 英语 平均分 总分 学分n); printf(%-2ld %s %5d %5d %5d %5.1f %5d %5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);break;default: printf(输入有误);break; pt();void checkclass()float avg1,avg2,avg3; pt();printf(全班的成绩是:n); printf(。

20、学号 姓名 语文 数学 英语 平均分 总分 学分n); for(x=0;xs;x+)printf(%-2ld%st%5d%5d%5d%5.1f%5d%5dn,fx.id,fx.name,fx.m1,fx.m2,fx.m3,fx.avg,fx.score,fx.xf);pt();void main()int a;while(1)printf(nnn); printf(tt*成绩记录簿*n); /*菜单选择*/ printf(ntt| 1. 添加 |n); printf(ntt| 2. 删除 |n); printf(ntt| 3. 查学生成绩 |n); printf(ntt| 4. 查班级成绩 |n); printf(ntt| 5. 写入文件 |n); printf(ntt| 6. 读取文件 |n); printf(ntt| 0. 退出 |n); printf(tt*n); printf(tttGive your Choice(0-6):);scanf(%d,&a);switch(a)case 1:tj(); break;case 2:del();break; case 3:checkstudent();break;case 4:checkclass(); break;case 0:exit(0);default:。

上海应用技术学院c语言实验报告5,上海应用技术学院课程设计报告相关推荐

  1. c语言数据结构校园导游系统,校园导游系统课程设计报告

    校园导游系统课程设计报告 目录 1.需求分析1 2.总体设计1 2.1 抽象数据类型图的定义1 2.2 程序中包含的模块1 2.3模块间的调用关系3 3.详细设计3 3.1 代码设计3 3.1.1 定 ...

  2. java万年历设计报告_JAVA《万年历系统》课程设计报告附源码.doc

    JAVA<万年历系统>课程设计报告附源码 学号<> 课程设计报告 万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩: 计算机与信息工程系 2014年6月6日目录 ...

  3. 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc

    java<万年历系统>课程设计报告附源码.doc 学号<面向对象程序设计>课程设计报告题目:万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩:计算机与信息工程系 ...

  4. android五子棋设计报告,基于安卓开发的五子棋课程设计报告精选.doc

    基于安卓开发的五子棋课程设计报告精选 大庆师范学院 <Android开发基础> 题目:基于安卓开发的五子棋游戏 专业班级: 计算机科学与技术一班 设 计 者: kkkkkkkkkkkkkk ...

  5. 小学数学测试软件报告,小学数学测试系统C课程设计报告及源程序代码论文

    小学数学测试系统C课程设计报告及源程序代码论文 (34页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 课 程 设 计 报 告课程名称 ...

  6. android应用课程设计报告,基于Android的多媒体播放器课程设计报告.doc

    基于Android的多媒体播放器课程设计报告.doc 基于Android的多媒体播放器课程设计报告2014-01-02 224652 转载标签 android多媒体播放器嵌入式课程设计报告it分类 我 ...

  7. 湖南文理学院c语言题库,湖南文理学院_通讯录管理系统课程设计归纳总结报告书(C语言)(21页)-原创力文档...

    湖南文理院学 二〇一〇学年 第 二 学期 电气与信息工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 通信09102班 学 号: 200916020216 姓 名: 颜文武 指导老师: ...

  8. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc

    C语言课程设计报告模拟时钟转动程序 PAGE 课程设计报告 题 目 课 程 名 称 结构化程序设计课程设计 院 部 名 称 专 业 班 级 学 生 姓 名 王蕾 学 号 课程设计地点 课程设计学时 指 ...

  9. 数据结构c语言程序设计报告,数据结构与算法课程设计报告模版.doc

    数据结构与算法课程设计报告模版.doc 数据结构与算法课程设计报告题 目本科生导师制问题与家族关系查询系统院 (系) 信息科学与工程 专业班级 计算机应用技术1301班 学生姓名 顾 泉 学 号 20 ...

  10. C语言源码做的职工工资管理系统课程设计(源码+课程设计报告)

    一.课程设计的目的: C语言课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C语言程序设计的知识点,又接近工程实际需要.本次设计的目的是通过课程设计 ...

最新文章

  1. 1月国内操作系统市场:Windows XP份额高达60.84%
  2. 华人学者解开计算机领域30年难题:布尔函数敏感度猜想
  3. TOJ 2815 Connect them (kruskal+并查集)
  4. python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...
  5. 0108 点击时 大小图
  6. CGPathAddArc
  7. C++,Java,Pathy这几种编程语言的区别
  8. 微软MSDN原版所有系统合集我告诉你,Windows历史操作系统索引
  9. 海思Hi3559AV100ES Camera芯片处理器参数
  10. 仿美团酒店预订的html模板,jQuery手机端仿美团酒店预订日期选择插件
  11. 人工鱼群算法解决TSP问题
  12. 零基础必看的Html5+Css3+移动端前端教程(一)
  13. 魅族手机开机出现Android,魅族开不了机怎么办?如何解决?
  14. 基于trustonic tee使能MTK Widevine L1(SVP)
  15. AudioRecord的用法
  16. rxjava背压_RxJava背压
  17. OpenFOAM常用类
  18. Node爬虫(二):使用cheerio爬取表情包
  19. ❤ CSDN榜一博主,半年文章汇总【答谢粉丝、文末送书4本】❤
  20. I.MX6U嵌入式Linux应用编程学习

热门文章

  1. SwiftUI 中的水平条形图
  2. 设计模式之业务实战培训
  3. MacOS开源视频播放器
  4. 失业在家:有工作能力但是没有工作机会
  5. MATLAB代码:考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化
  6. mysql 慢查询优化_MySQL 性能优化之慢查询
  7. vue中ts无法识别引入的vue文件,提示找不到xxx.vue 模块解决办法
  8. 微信小程序使用色彩字体图标(笔录)
  9. Grafana面板(panel):数据处理(Transformation)---一个奇怪的功能!
  10. IMEI号和MEID号