c语言课程设计兰州交通大学

上传人:壹****1 文档编号:490720790 上传时间:2022-11-04 格式:DOC 页数:35 大小:547KB
返回 下载 相关 举报
c语言课程设计兰州交通大学_第1页
第1页 / 共35页
c语言课程设计兰州交通大学_第2页
第2页 / 共35页
c语言课程设计兰州交通大学_第3页
第3页 / 共35页
c语言课程设计兰州交通大学_第4页
第4页 / 共35页
c语言课程设计兰州交通大学_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《c语言课程设计兰州交通大学》由会员分享,可在线阅读,更多相关《c语言课程设计兰州交通大学(35页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计课程设计评语:考勤(10)纪律(10)过程(40)设计报告(30)答辩(10)总成绩(100)专 业:电气工程及其自动化班 级:姓 名:学 号:指导教师:兰州交通大学自动化与电气工程学院2014年7月15日C语言程序设计课程设计报告1基础题1.1题目编写一个程序,求3行4列矩阵的转置,要求在 main函数中输入,在chang函数中把矩阵转置12解题思路首先在主函数里定义一个3行4列的数组来存放这个矩阵,在定义一个子函数 实现矩阵的转置,并用二维数组做参数。1.3流程图基础题流程图见附录 A图A1、图A2所示1.4源代码基础题源代码见附录C。1.5运行截图运行截图如图1所示。请输入

2、一个3行吐列的矩阵:12 24 5 9S45 65 4 5459 58 75 66 转置之后的矩阵为=12 45 5924 65 5854759S 54 66Press any key to continue图1基础题运行结果图2改错题2.1题目#i nclude #in elude mai n()int i,j;char ch;while(ch=getch()!=W)i+;prin tf(%c,ch);2.2错因分析int i,j;此处将变量j应该删去,因为变量j在后面程序没有出现,而它占用一定的内 存单元。浪费储存空间。while(ch=getch()!=r)此处的r应该改为n,因为转义字

3、符r表示回车的意思,系统会认按回车键是 输入字符,无法识别。因此程序无法执行,无法得出结果。3综合题3.1题目学生选修课程系统设计(1) 需求分析系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课 程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以 要提供显示功能;要实现查询功能,故要提供查找操作。定义的机构体如下:struct course/课程信息结构体课程编号/课程名称/学分/课程性质课程学时开课学期int nu m1;char name120;int score;char kc_x in gzhi10;int kc_xueshi;int kaikex

4、ueqi;(2) 总体设计整个系统首页设计为管理员登陆模块和学生登陆模块,在管理员登陆模块中有信息输入模块、信息删除模块、管理员信息浏览模块和管理员信息查询模块, 在学生登陆模块里有选课模块、学生课程查询模块以及学生课程浏览模块。(3) 详细设计数据结构采用结构体,这里采用课程信息结构体。1) 信息输入模块从键盘输入课程信息,写入文件。(fwrite, fprintf )2) 信息浏览模块从文件中读数据(fread,fscanf ),然后再显示。3) 信息查询模块通过菜单选择查询字段,可以按照课程学分对课程信息文件进行查找,查找 算法可以选择基本查找、二分查找等算法。可以通过菜单选择课程编号,

5、在学生 选课信息文件中查询该课程学生选修情况。3.2程序功能分析根据题目已知信息可得,完成后程序应具备如下功能:(1) 管理员录入课程信息(2) 管理员删除课程信息(3) 管理员浏览课程信息(4) 管理员查询课程信息(5) 学生选课(6) 学生查询课程信信息(7) 学生浏览课程信息(6)退出学生选修课系统3.3程序模块设计模块一:头文件,变量定义,函数的声明。对系统所使用的变量进行定义, 对函数进行声明。模块二:登陆密码和首页。声明函数 void shouye()和void denglu()。模块三:管理员对课程信息的添加。声明函数void kc_xinzen g(),通过fp=fope n(

6、course.dat,wb)写入信息。模块四:管理员对课程信息的删除。声明函数void kc_shanchu()为管理员删除课程信息函数。模块五:管理员对课程信息的浏览。声明函数void giiulan()为管理员浏 览课程信息函数模块六:管理员对课程信息查询模块。声明函数void gl_chaxu n()为管理员课程查询函数。模块七:学生选修课模块。声明函数 void x_keche ng()实现学生选课。模块八:模块九:学生查询课程模块。声明函数 void xs chaxun()来实现其功能。 学生浏览课程模块。声明函数 void xs_liula n()来实现其功能。模块十:界面菜单。通

7、过switch()调用以上各函数,来实现气个子函数功能。3.4流程图主函数流程图如图7所示,调用函数流程图详见附录B图B1、图B2、图B3。3.5源代码综合题源代码见附录D。3.6程序运行截图综合题的运行结果如图2、图3、图4、图5、图6所示佥一佥- -欢迎臥学生选修课程系统 -1.管理员登陆。 m 2.学生登录.金一3*退出系统*谙输入要进行的序号:图2选课系统界面图卜=*=二吕理贝登陆菓单頁1 一1.新增课程。頁一書一一2删除课程*仪一妇-妇-苑浏览课程O一击-4.课稈杳询。ky一自一5.退出。kr请输入要进行的序号:图3管理员登陆界面忤一白一一krAA一 k?学生登陆菜单1、学生选课。2

8、, 课程查询窮3. 浏览课程。退岀*请输入要进行的序号:图4学生登陆界面片一一请输入课程恰息:课程编号:丄用程名称:uulib程学分:4课程性质|bi课程学时:32打课学期:2图5管理员新增课程信息图共有2条记录课程编号:1课程名称:1课程学分:1课程性质:1课程学时:1开课学期:11.上一页2.下一页3.返回目录请选择=图6学生浏览课程图图7主程序的ma in函数流程图3.6存在的问题(1)在调试程序的时候偶尔会遇到程序崩溃的情况。(2) 执行一次任务后以前执行的任务的信息不能删除,导致屏幕信息显得臃肿(3)信息保存后在下一次启动时便不能直接显示。(4)还有就是在输入输出时格式,加入一个格式

9、不合适就可能导致程序运行出 错,但是这种错误在进行调试时是检查不出来的。(5)最后就是在进行文件的录入和输出时,由于刚开始对文件的输入输出不熟 练导致出现了大量的错误。4总结通过本次课程设计,我学到了很多让我意想不到的知识,并且对一些基本的 办公软件的运用的熟练度得到了进一步的提升,也学会了运用一些新的软件,例 如:Microsoft Office Visio 2003、Visual C+ 6.0等。当然,编写程序的时候也并不 是一帆风顺的,也遇到了很多困难,程序报错、编译不成功、程序不能运行预期 的功能,这些都是最常见的错误,而这也需要我自己动手去逐字逐句的检查,这 也是平常课堂中没有过的体

10、验。综合题目让我懂得了遇到问题时如何去分析题目, 首先写出题目的要求再结合现实生活得出让这个问题更加完善的要求,再次写出 算法分析,这次的从语言课程设计不仅让我的思维变得更加慎密更加让我懂得了 如何去合作,锻炼了我的团队协作能力,我和我们小组的同学一起努力最后每个 人都完成了自己课程设计。当然在争论中不免会产生点小摩擦,但仍然无法削减 我们的热情。时至今日我们的程序依然有着或多或少的不够完善的地方,但我觉 得不管怎样,我们的程序能运行出最正确的结果对我们而言就已经是莫大的成功。 这次c语言课程设计让我懂得了如何坚持。最后,我还要向在这次课程设计中给予我帮助的老师和同学们表示最衷心的感谢,没有老

11、师逐字逐句的纠错和指导,和同学们随时都帮忙的热情,这次课程 设计不会那么顺利的完成,再次衷心地感谢老师与各位同学。参考文献1谭浩强.C程序设计(第四版)M.北京:清华大学出版社,2010:293-354.#附录A基础题的流程图图A1基础题主函数流程图图A2基础题chang函数流程图附录B选课系统的流程图综合题的子函数流程图基础题源代码附录C# in elude int mai n () void chang (int b34);int i,j,a34;printf (请输入一个 3行4列的矩阵:n for (i=0;i3;i+)for (j=0;j4;j+)scanf (%d,&aij);ch

12、a ng (a);return 0;void cha ng (int b34) int i,j,c43;for (i=0;i3;i+)for (j=0;j4;j+)cji=bij;printf (转置之后的矩阵为:n);for(i=0;i4;i+)for (j=0;j3;j+)printf (%3.0d,cij);printf (n ”);附录D综合题源代码#in clude#in clude#in clude#in clude#defi ne N 100struct course/课程信息结构体int nu ml; char name120; int score;har kc_xi ngzhi10; int kc_xueshi;int kaikexueqi;/课程编号/课程名称学分/课程性质/课程学时/开课学期;void shouye(); void den glu();void bye_sys(); void stu_de nglu(); void man_den glu(); void x_keche ng(); void kc_x inzen g(); void kc_sha nchu(); void xs_chax un(); void gl_chax un(); void xs_liula n(); void giiula n();/首页/登陆/退出界面/学生登陆菜单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号