版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、标准文档c语言程序设计课程设计报告专业:班级:姓名:指导教师:二零一二年十二月二十六日成绩标准文档目录一、设计题目2 二、设计目的2 三、设计内容2 3.1 需求分析 2 3.2 概要设计 3 3.3 详细设计 6 3.5 编写过程中遇到的问题及解决办法7 3.4 调试结果 8 3.6 课程设计总结 16 四、参考书目17 附录 a 程序源代码18 标准文档一、设计题目:课程信息管理系统二、设计目的 1 、熟练掌握 c语言课程中所学的理论知识; 2 、通过综合 c语言的基本知识来解决实际问题; 3 、加强分析和解决问题的能力。三、设计内容3.1 需求分析设计对 n 门课程进行管理的课程信息管理
2、系统,每门课程有课程编号,课程名称,课程性质( b为必修, x为选修) ,总学时,学分等。系统功能包括:1、系统以菜单方式工作,密码登陆。2、课程信息的录入功能(增加数据) 。用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。3、课程信息的删除(删除数据) 。任意输入一门课程的编号,将它所有的信息从数组中删除。4、 课程信息的浏览功能 (查找数据)。 任意输入一门课程的编号, 打印出所有相关数据。要求能多次查找。5、课程信息的删除(修改数据) 。任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。6、课程信息的计算并排序。 计
3、算所有课程的总学分及平均学分(aver ,单精度,输出一位小数), 将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。标准文档3.2 概要设计程序流程图:开始根 据 菜 单 输 入 d的 值 选 择 程 序quit()函数输入 c=1 查询课程信息课程信息的录入退出删除课程信息修改课程信息输入 3 输入 2 输入 1 输入 4 输入 5 浏览课程信息课程学分排序保存是否继续进行结束菜单n y 标准文档模块分解: void pasd(); /声明密码函数声明部分(1)主函数模块 void zhujie(); /声明 zhujie()函数 zhujie(); /调用 zhujie()函数调
4、用部分pasd(); /调用密码函数联系联系声明部分: void yewu(); /声明业务函数(2)密码模块调用部分: yewu(); /调用业务函数联系联系 void inputcouinfo(void); /声明输入函数 void updatecouinfo(void); /声明修改函数 void addcouinfo(void); /声明添加函数声明部分 void findcouinfo(void); /声明查询函数 void ordercouinfo(void); /声明排序函数(3)业务模块 void delcouinfo(void); /声明删除函数inputcouinfo();
5、 /调用输入函数 case 1:findcouinfo();break; / 调用课程信息查询调用部分 case 2:delcouinfo();break; /调用课程信息删除 case 3:updatecouinfo();break; /调用课程标准文档信息修改 case 4:ordercouinfo();break; / 调用课程信息排序 case 5:addcouinfo(); break; /调用课程信息添加数据结构的说明:#define n1 20 /控制课程个数的存储空间#define m1 5 /控制课程属性个数的存储空间空间char couinfon1m116; /定义全局数组
6、char password=123456; /原密码int a, i,j,t=0,c=0,n=4,m=5; /定义全局变量密码模块:char p9; /定义密码数组pi=8 /控制退格pi=13 /回车控制strcmp(p,password)=0 /密码匹配字符串比较函数int n=3; /密码输入次数控制业务模块:system(cls); /清屏函数标准文档3.3 详细设计密码模块:注释 y (是) n(否) y n 结束定义数组密码int n=3; int i; n 为控制输入密码次数密码是否匹配进 入 业 务 函 数开始标准文档删除模块:注释注释 y n y n 3.4 编写过程中遇到的
7、问题及解决办法(1)在调试函数的过程时, 一般高级语言要求函数实参与形参个数与类型一致,开始定义变量数组char y16; char y116; int d,x,z; 输入一个x 值scanf(%d,&x); x 值是否等于0 结束输入 y,y1 的值y 与 y1 是否相等结束删除该课程显示没有删除的课程标准文档但在 c语言编译在该点检查不严格。 当出现实参与形参类型不一致时,编译运行时,系统不报错。因此,错误隐含了下来,给程序调试带来了困难。解决方法是: 一开始,我自己仔细查找自己的程序的错误,但最终在老师的帮助下,找到了程序的错误。并将其改正,使程序正常运行。(2) 当要求从键盘读
8、入一字符串时, 若选用输入的函数不当时, 则容易造成错误,并很难发现。解决方法:自己认真并且反复检查以及老师的帮助。3.5 调试结果界面标准文档标准文档标准文档标准文档标准文档标准文档标准文档标准文档3.6 课程设计总结课程管理信息系统心得课程设计是培养学生综合运用所学知识 , 发现, 提出, 分析和解决实际问题 ,锻炼实践能力的重要环节, 是对我们的实际工作能力的具体训练和考察过程. 随着科学技术发展的日新月异, 当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而 c语言又是最常见,功能最强大的一种高级语言, 因此做好 c语言课程设计是十分
9、必要的。回顾起此次课程设计, 至今我们仍感慨颇多, 的确,自从拿到题目到完成整个编程,从理论到实践, 在整整半个月的日子里, 可以学到很多很多的东西, 同时不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论, 才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题, 可以说得是困难重重, 这毕竟第一次做的, 难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解
10、得不够深刻, 掌握得不够牢固, 通过这次课程设计之后, 我们把前面所学过的知识又重新温故了一遍。我做的是课程管理信息系统, 虽然是很简单的一个小的程序, 但对我一个初学者来说却是一个很大的困难。 更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始, 这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了, 还好时间还算是充裕, 只好拿出书本重新复习一下。特别是函数调用和数组的部分,几乎是一片空白。 不过经过几天的努力, 大体上把课本上的知识点看了一遍, 知识点也都基本是撑握了, 所以下一步就
11、是开始正式的编程序了。 不过毕竟是个新手, 还是不知如何下手, 于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了c语言编程的基本过程和方法。经过一波三折,终于开始正式编程。标准文档编程是一件很枯燥很无聊的事情,但是出于完成作业, 得到学分的压力, 还必须强迫自己坚持下去, 按照老师所说的模块化思想, 分部分的进行编写。 而且编程是一件高精度、 模范化的事情, 稍有疏乎都会影响全局, 也可能因为某一处的小的错误而导致整个程序的无法运行。无论如何是自己的劳动成果, 是自己经过努力得到的成绩,同时也是学习c语言的一次实践作业,自己进步的证明。通过这次课程设计, 使我对 c语言有了更进一步的
12、认识和了解,要想学好它要重在实践, 要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对 c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对 c语言中经常出现的错误也不了解,通过实践的学习, 我认识到学好计算机要重视实践操作, 不仅仅是学习 c语言,还是其它的语言, 以及其它的计算机方面的知识都要重在实践, 所以后在学习过程中, 我会更加注视实践操作, 使自己便好地学好计算机。在课程设计过程中,收获知识, 提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划, 怎么样去实现这个计划,并
13、掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!四. 参考书目:1谭浩强,c程序设计教程 ,北京,清华大学出版社,2007 年2康莉, 零基础学c语言,北京,机械工业出版社,2010 年3方风波,c语言程序设计 ,北京,地质出版社,2006 年标准文档附录 a 源程序代码#include #include /console input/output(控制台输入输出 ) #include #define n1 20 /控制课程个数的存储空间#define m1 5 /控制课程属性个数的存储空间空间char c
14、ouinfon1m116; /定义全局数组char d16, b6; char password=123456; /原密码int a, i,j,t=0,c=0,n=4,m=5; /定义全局变量/ 主函数模块void main() void pasd(); /声明密码函数 void zhujie(); /声明 zhujie()函数 zhujie(); /调用 zhujie()函数 pasd(); /调用密码函数 void zhujie() printf(n); printf(*n); printf(* * * * *n); printf(* * * * * 欢迎进入课程管理信息系统* * * *
15、 *n); printf( * * * * *n); printf(*welcome to the course information management system*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); print
16、f( * * * *n); printf(* * 查询课程信息 * * 修改课程信息 * *n); printf(* * * *n); printf(*n); printf(n); / 密码模块void pasd(void) /定义密码函数 void yewu(); /声明业务函数int i; char p9; int n=3; /密码输入次数控制 do printf(please enter password:n); /输入密码for(i=0;i0); / 业务模块void yewu() /定义业务函数 void inputcouinfo(void); /声明输入函数 void addcou
17、info(void); /声明添加函数 void findcouinfo(void); /声明查询函数 void ordercouinfo(void); /声明排序函数 void delcouinfo(void); /声明删除函数 void updatecouinfo(void); /声明修改函数 char d; system(cls); if (c=1) inputcouinfo(); /调用输入函数 printf(t课程信息查询请输入: 1 nt课程信息删除请输入: 2 nt课程信息修改请输入: 3 nt课程信息排序请输入: 4 nt课程信息添加请输入:5n); printf(您是否进行其
18、他操作,否输入0,否则输入其他 :); scanf(%d,&a); for (i=0;i+) 标准文档 if(a!=0) printf(请输入要操作的选项:); scanf(%s,&d); switch(d) case 1:findcouinfo();break; /调用课程信息查询函数 case 2:delcouinfo();break; /调用课程信息删除函数 case 3:updatecouinfo();break; /调用课程信息修改函数 case 4:ordercouinfo();break; /调用课程信息排序函数 case 5:addcouinfo(); brea
19、k; /调用课程信息添加函数 default: break; / 课程信息输入模块void inputcouinfo(void) /定义课程信息输入函数 int x=1; printf(ttt *n); printf(ttt 欢迎进入信息输入系统!n); printf(ttt *n); printf(请注意:性质为必修(b) 或选修 (x)n); printf(tt课程号名称性质总学时学分 n); for (i=0;in;i+) printf(输入课程编号 %d:,x+); for (j=0;jm;j+) scanf(%s,&couinfoij); printf(课程号名称性质总学时学
20、分 n); for (i=0;in;i+) for (j=0;jm;j+) 标准文档 printf(%st,couinfoij); printf(n); void addcouinfo(void) /课程信息添加函数 int d,t,z; printf(ttt*n); printf(ttt欢迎进入信息添加系统!n); printf(ttt*n); for(d=1;d+) printf(n是否进行添加, “否”请输入 0, 进行输入其他 n); scanf(%d,&t); if(t!=0) printf(请输入要添加的第%d个课程信息 :n,d); printf(课程号名称性质总学时学分
21、 n); z=n+; for (j=0;jm;j+) scanf(%s,&couinfozj); printf(%st,couinfozj); else break; system(cls); printf(t课程查询请输入: 1 nt课程删除请输入 : 2 nt课程修改请输入 : 3 nt课程排序请输入 : 4 nt课程添加请输入:5n); void findcouinfo(void) /课程信息查询函数 char y16; int d,t,z; printf(ttt*n); printf(ttt欢迎进入信息查询系统!n); printf(ttt*n); 标准文档 for(d=1;d
22、+) printf(n是否进行查询, “否”请输入 0n); scanf(%d,&t); if(t!=0) printf(请输入要查询的课程号:); scanf(%s,&y); printf(课程号名称性质总学时学分 n); for(i=0;z=i,in1;i+) if(strcmp(y,couinfoi0)=0) for (j=0;jm;j+) printf(%st,couinfoij); break; if(z=n) printf(没有此课程号信息n); else break ; system(cls); printf(t课程查询请输入: 1 nt课程删除请输入 : 2 n
23、t课程修改请输入 : 3 nt课程排序请输入 : 4 nt课程添加请输入:5n); void delcouinfo(void) /课程信息删除函数 char y16; char y116; int d,x,z; printf(ttt*n); printf(ttt欢迎进入信息删除系统!n); printf(ttt*n); for(d=1;d+) printf(是否进行删除信息,否请输入: 0 进行输入其他数字:n); scanf(%d,&x); if(x!=0) 标准文档 printf(请输入要删除的课程号:); scanf(%s,&y); printf(请再次输入要删除的课程号
24、:); scanf(%s,&y1); printf(课程号名称性质总学时学分 n); if (strcmp(y,y1)=0) for (i=0;in;i+) if (strcmp(y,couinfoi0)=0) z=i; printf(要删除的课程信息是n); for (j=0;jm;j+) printf(%st,couinfoij); t+; printf(n); for (i=z;in-t;i+) for (j=0;jm;j+) strcpy(couinfoij,couinfoi+1j); if(z=n) printf(没有此课程号信息n); else break; printf(
25、课程号名称性质总学时学分 n); for (i=0;in-t;i+) for (j=0;jm;j+) printf(%st,couinfoij); printf(n); system(cls); 标准文档 printf(t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入 : 3 nt课程排序请输入 : 4 nt课程添加请输入:5n); / 课程修改函数void updatecouinfo(void) char h16,h116,h216; int d,b,x,z,e,f; printf(ttt*n); printf(ttt欢迎进入信息修改系统!n); printf(ttt*n
26、); for(d=1;d+) printf(是否进行信息修改,否请输入: 0 进行输入其他数字:n); scanf(%d,&x); if(x!=0) printf(请输入要修改的课程号:); scanf(%s,&h); printf(请再次输入要修改的课程号:); scanf(%s,&h1); if (strcmp(h,h1)=0) for(i=0;z=i,in;i+) if (strcmp(h,couinfoi0)=0) printf(要修改的课程信息是n); for (j=0;jm;j+) printf(%st,couinfoij); printf(n请输入你要修改第几项n);scanf(%d,&b); printf(请输入你要修改的内容n);scanf(%s,&h2); strcpy(couinfoib-1,h2); for(e=0;e+) pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年及未来5年市场数据中国镍矿产业园区行业发展潜力预测及投资战略、数据研究报告
- 2026年劳动技能大赛与劳动成果展示会策划指南
- 2026湖北中联太工程造价咨询有限公司招聘备考题库标准卷附答案详解
- 宁银理财2026届春季校园招聘备考题库附完整答案详解(全优)
- 2026年上半年海南文昌市校园招聘事业单位人员38人备考题库(1号)(预热题)附答案详解
- 2026内蒙古霍林河机场管理有限责任公司招聘工作人员3人备考题库附参考答案详解(a卷)
- 2026福建福州福清市侨乡幼儿园招聘备考题库参考答案详解
- 2026江苏无锡广电物业管理有限公司招聘1人备考题库(易错题)附答案详解
- 2026清华大学基础医学院彭敏实验室招聘科研助理2人备考题库带答案详解(完整版)
- 2026广西桂林市社会保险事业管理中心招聘公益性岗位人员1人备考题库(夺冠系列)附答案详解
- 安检员考试题库及答案
- 2026年陕西航空职业技术学院单招职业适应性测试题库带答案详解(能力提升)
- 2026年自贡市市本级招用高校毕业生从事公共服务(58人)笔试参考题库及答案解析
- 食材配送中心奖惩制度
- 中药学电子版教材
- 江西财经大学会计学原理 Ppt讲义
- 哈灵顿在现金(卷一)
- GB/T 18043-2013首饰贵金属含量的测定X射线荧光光谱法
- GB/T 17478-2004低压直流电源设备的性能特性
- 机修钳工题库(初版)
- 心力衰竭的护理和查房课件
评论
0/150
提交评论