c语言课程设计报告-学生选修课信息管理程序.doc
《c语言课程设计报告-学生选修课信息管理程序.doc》由会员分享,可在线阅读,更多相关《c语言课程设计报告-学生选修课信息管理程序.doc(24页珍藏版)》请在沃文网上搜索。
1、 目 录第1章 题目与概要设计11.1题目的内容与要求1 1.2概要设计1第2章 详细设计22.1主模块22.2菜单模块32.3输入模块32.4选择输出模块4第3章 调试分析5第4章 执行结果6参考文献10附 录(程序清单)10I沈阳航空航天大学课程设计报告 第1章 题目与概要设计第1章 题目与概要设计1.1题目的内容与要求主要内容: 假定有6门选修课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息。试设计一个选修课程管理程序,功能包括:1.课程信息录入功能;2.课程信息浏览功能;3.查询功能:可按学分,课程性质进行对课程查询;4.选修课程排序
2、功能。可按学分由小到大对所有选修课程进行课程排序输出。 设计要求:1.采用文本菜单界面选择相应功能;2.课程信息以磁盘文件保存。1.2概要设计 本程序主要分为五个模块(见功能模块图1.1),主模块,菜单模块,输入模块,浏览模块,选择输出模块。主模块:定义变量,控制程序的运行。显示模块:给出六个菜单项的内容和输出提示。输入判断模块:判断输入的数字是否符合条件。选择输出模块:根据输入的正确数字实现菜单功能。管理程序输入模块菜单模块主模块 选择性输出模块浏览模块 图1.1 功能模块图23沈阳航空航天大学课程设计报告 第2章 详细分析第2章 详细设计2.1主模块控制整个程序的运行,控制菜单操作,通过,
3、实现各项功能,流程如图2.1所示。 开始输入m 结束结束排序按性质查按学分浏览录入M=0M=5M=4M=3M=2M=1判断m选择输入m输出菜单结束按学分查输入m排序按性质查xingzhi查录入浏览开始菜单输入m录入统计删除退出输入m结束修改 图2.1 主模块流程图 注释:定义课程信息结构体数组xubject6,定义变量m=0。输入运用if语句执行选择操作。2.2菜单模块 开始输出菜单 结束2.3输入模块编译运行程序,屏幕显示三个菜单项的内容和输入提示。YN 结束 开始输入建立链表并储存入文件 是否输入课程信息 图2.3 输入模块流程图2.4选择输出模块输入m 开始对m判断选择功能对m判断选择功
4、能结束程序显示所有课程信息按学分排序按性质查询按学分查询开始对m判断输入m是否继续查询 结束沈阳航空航天大学课程设计报告 第3章 调试分析第3章 调试分析本次课设在调试运行时一共发现了4个问题1. 在建立结构体时非法定义结构体。2. 编写函数,当函数结束时未能及时释放指针。3. 在书写程序过程中大量运用花括号,在几个模块之中都出现了花括号括错问题。4. 事先定义了许多变量,但是没有用。虽然,定义变量对程序没有影响,但是为了让程序更清晰合理 ,在调试完成后进行了删除。沈阳航空航天大学课程设计报告 第4章执行结果第4章 执行结果 运行操作及结果:菜单显示如下。输入1,录入课程信息显示如下录入课程信
5、息后输入2,对课程进行浏览。浏览完毕输入3,对课程按学分查询并输入学分范围。查询完毕输入4对课程按性质查询并输入课程性质。查询完毕输入5对课程按学分从小到大进行排序。最后输入0,结束程序。沈阳航空航天大学课程设计报告 参考文献参考文献1 张长海,陈娟. C语言课程设计M . 北京:高等教育出版社,20042 谭浩强. C语言程序设计(第4版)M.清华大学出版社,20103 谭浩强. C程序设计题解与上机指导.清华大学出版社,20054 网冠科技 时尚编程百例 机械工业出版社,20025 网冠科技 Visual C+6.0基础培训百例 机械工业出版社,2006沈阳航空航天大学课程设计报告 附录附
6、 录(程序清单)代码#include#include#include#include#define N 6struct XUANXIUKEchar name30;int num;char quality100;float time;float class_time;float test_time;float credit;char date50;struct XUANXIUKE *next;subjectN;typedef struct XUANXIUKE XXK;void caidan()printf( *请选择相应功能* n);printf( 1.录入课程信息.n);printf( 2.课
7、程信息浏览.n);printf( 3.按学分对课程进行查询.n);printf( 4.按课程性质对课程进行查询.n);printf( 5.按学分大小从小到大对课程进行排序.n);printf( 0.结束程序.n);printf(请输入要实现功能的编号n);XXK *create()int i;FILE *fp;XXK *head,*p1;head=NULL;fp=fopen(D:subject.dat,wb);if (fp=NULL)printf(无法建立文件n);exit(0);fclose(fp);printf(请输入课程的编号 名称 课程性质 总学时 授课学时 上级或实验学时 学分 学期
8、:n);for(i=0;inum,p1-name,p1-quality,&p1-time,&p1-class_time,&p1-test_time,&p1-credit,p1-date);fwrite(p1,sizeof(XXK),1,fp);p1-next=head;head=p1;getchar();fclose(fp);caidan();return(head);void liulan()FILE *fp;XXK *pstu;int i;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(无法打开文件n);exit(0);fclose(fp);ps
9、tu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,sizeof(XXK),N,fp);printf(n *对课程进行浏览* n);printf(课程的编号 名称 性质 总学时 授课学时 上机或实验学时 学分 开学学期:n);for(i=0;iN;i+)printf( %-4d %-8s %-8s %.1f %.1f %.1f %.1f %-10sn,pstui.num,pstui.name,pstui.quality,pstui.time,pstui.class_time,pstui.test_time,pstui.credit,pstui.date);fcl
10、ose(fp);free(pstu);caidan();void xuefen()FILE *fp;XXK *pstu;int i;fp=fopen(D:subject.dat,rb);if (fp=NULL)printf(无法打开文件n);exit(0);fclose(fp); pstu=(XXK *)malloc(N*sizeof(XXK);fread(pstu,sizeof(XXK),N,fp);float min,max;printf(*请输入学分下限和上限*na b n);scanf(%f %f,&min,&max);getchar();printf(n *对课程按照学分进行查询*
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 选修课 信息管理 程序
