c语言课程设计报告+学生成绩信息管理系统+源代码.docx
《c语言课程设计报告+学生成绩信息管理系统+源代码.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告+学生成绩信息管理系统+源代码.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c语言课程设计报告+学生成绩信息管理系统+源代码 实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜
2、单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图: 1、建立链表并显示 void createlist(struct stucode *r); 2、插入新的学生信息 void insert(struct stucode *r); 3、删除某学号的学生信息 void del(struct stucode *r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学
3、生信息排序 void sort(struct stucode *r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); (二)程序总体框架 模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。程序总体框架是该程序的总体流程图。改程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。因此选用菜单方式是较佳的方案,程序总体框架如下图: (三) 运行环境(软,硬件环境) 硬件:CPU, 内存,主板,硬盘,显卡,键盘,显示器等等。 软件:Windows X
4、P trubo c应用软件。 (四)开发工具和编程语言 开发工具:trubo c 编程语言:C 语言 三、详细设计 (一)数据结构 依据给定学生信息和数据格式,数组用结构体实现,结构体层次结构:struct stud 学号整型long int num; 姓名字符串name20; 性别字符串sex2; 出生日期字符串birthday12; 联系方式字符串tel12; ; 头文件 #include #include #include /*定义数据结构和链表*/ struct stud long num; char name20; char sex2; char birthday12; char t
5、el12; ; typedef struct stucode struct stud student ; struct stucode *next; L; (二)、算法说明 1、主函数的算法设计: 清屏、显示子菜单及运用选择操作(运用swith语句),调用各个子函数,最后退出程序, 主要代码: while(flag) system(cls); menu(); choose=getchar(); switch(choose) 2、各个子函数的算法设计 1、一些显示操作,输入相应的内容即可 代码: 2、创建链表并显示学生信息 申请空间p=(L *)malloc(sizeof(L); 学生信息的输入
6、及显示: p-student.num=n; strcpy(p- ,a); p-next=NULL; 3、学生信息的删除 首先查询要删除的学生信息的学号,如果存在删除该学生,如果不存在给予相应的提示。 t=p-next; p-next=p-next-next; free(t);/释放空间 4、学生信息的排序 新建链接,然后按要求对学生信息进行排序 while(z-next&z-next-student.num=p-student.num) z=z-next; p-next=z-next; z-next=p; 5、学生人数的统计: 6、学生信息的显示:直接发调用函数即可。 四、运行结果 五、总结
7、1、调试分析 (1)刚编译完后有好多错误和警告,运行失败,然后经过修改错误警告慢慢减少,最终可以运行。 (2)该程序中可能还存在一些小问题,比如有的时候它会主动清屏,有的时候不会。并且我在编译的过程中发现自己存在好多毛病,有粗心了等,不注意细节,其实自己也知道细节决定成败,以后我会注意。 2、设计总结 经过一周的课程设计,我学到了很多东西: 巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。 培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。 过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。 够按要求编写课程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 成绩 信息管理 系统 源代码
限制150内