0《C 语言程序设计》 课程设计报告专 业:班 级:姓 名:指导教师:二零一二年十二月 二十六日目 录成绩1一、设计题目……………………………………………………………2二、设计目的……………………………………………………………2三、设计内容……………………………………………………………23.1 需求分析……………………………………………………………23.2 概要设计…………………………………………………………33.3 详细设计…………………………………………………………63.5 编写过程中遇到的问题及解决办法……………………………73.4 调试结果…………………………………………………………83.6 课程设计总结……………………………………………………16四、参考书目…………………………………………………………17附录 A 程序源代码…………………………………………………18一、设计题目:课程信息管理系统2二、设计目的 1、熟练掌握 C 语言课程中所学的理论知识;2、通过综合 C 语言的基本知识来解决实际问题;3、加强分析和解决问题的能力。三、设计内容 3.1 需求分析设计对 n 门课程进行管理的课程信息管理系统,每门课程有课程编号,课程名称,课程性质(B 为必修,X 为选修) ,总学时,学分等。系统功能包括:1、系统以菜单方式工作,密码登陆。2、课程信息的录入功能(增加数据) 。用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据) ,然后把它们输出显示。3、课程信息的删除(删除数据) 。任意输入一门课程的编号,将它所有的信息从数组中删除。4、课程信息的浏览功能(查找数据) 。任意输入一门课程的编号,打印出所有 相关数据。要求能多次查找。5、课程信息的删除(修改数据) 。任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。6、课程信息的计算并排序。计算所有课程的总学分及平均学分(aver,单精度,输出一位小数) ,将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。33.2 概要设计程序流程图:开始根 据 菜 单 输 入d 的 值 选 择 程 序 Quit()函数输入 c==1查询课程信息课程信息的录入退出删除课程信息修改课程信息输入 3 输入 2 输入 1 输入 4 输入 5浏览课程信息课程学分排序保存是否继续进行结束菜单NY4模块分解: void pasd(); //声明密码函数 声明部分(1)主函数模块 void zhujie(); //声明 zhujie()函数zhujie(); //调用 zhujie()函数调用部分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(); //调用输入函数case '1':findcouinfo();break; //调用课程信息查询调用部分 case '2':delcouinfo();break; //调用课程信息删除case '3':updatecouinfo();break; //调用课程信息修改case '4':ordercouinfo();break; //调用课程信息排序case '5':addcouinfo(); break; //调用课程信息添加5数据结构的说明:#define n1 20 //控制课程个数的存储空间#define m1 5 //控制课程属性个数的存储空间空间char couinfo[n1][m1][16]; //定义全局数组char password[]={“123456“}; //原密码int a, i,j,t=0,c=0,n=4,m=5; //定义全局变量密码模块:char p[9]; //定义密码数组p[i]==8 //控制退格 p[i]==13 //回车控制strcmp(p,password)==0 //密码匹配 字符串比较函数int n=3; //密码输入次数控制业务模块:system(“cls“); //清屏函数63.3 详细设计密码模块:注释Y (是) N(否)Y N删除模块:结束 始定义数组密码int n=3;n=3; n=3;int n=3; int i; n 为控制输入密码次数密码是否匹配进 入 业 务 函 数开 始7注释注释Y NY N3.4 编写过程中遇到的问题及解决办法(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在 C 语言编译在该点检查不严格。当出现实参与形参类型不一致时,编译运行时,系统不报错。因此,错误隐含了下来,给程序调试带来了困难。解决方法是:一开始,我自己仔细查找自己的程序的错误,但最终在老师的帮助下,找到了程序的错误。并将其改正,使程序正常运行。(2)当要求从键盘读入一字符串时,若选用输入的函数不当时,则容易造成错误,并很难发现。解决方法:自己认真并且反复检查以及老师的帮助。开 始定义变量数组 char y[16]; char y1[16]; int d,x,z;输入一个 X 值 scanf(“%d“,X 值是否等于 0结 束 输入 Y,Y1 的值Y 与 Y1 是否相等结 束 删除该课程显示没有删除的课程83.5 调试结果界面10
展开阅读全文