c语言课程设计报告学生成绩信息管理系统源代码.doc
《c语言课程设计报告学生成绩信息管理系统源代码.doc》由会员分享,可在线阅读,更多相关《c语言课程设计报告学生成绩信息管理系统源代码.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验报告一、 问题陈述及其需求分析(一) 问题陈述学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:(1)增加一个学生的信息(需输入要增加学生的所有信息);(2)统计本班学生总人数及男女生人数。(3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。(4)按学号对所有学生信息排序,并输出结果;(5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二 ) 功能需求分析 学生信息管理系统设计学生信息包括:学号,姓名,性别,出生年月,电话使之提供以下功能:1、 系统以菜单方式工作2、建立链表并显示3、插入新的学生信息4、删除某学号的
2、学生信息5、查找某学号的学生信息6、对学生信息排序7、统计学生人数8、输出学生信息二 总体设计(一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:1建立链表并显示2添加学生信息3删除学生信息息4按学号查找学生信息5对学生信息排序6统计学生人数7输出学员信息8学生信息写入文件0退出main()菜单函数1、建立链表并显示void createlist(struct stucode *r);2、插入新的学生信息void insert(struct stucode *r);3、删除某学号的学生信息void del(struct stucode *r); 4、查找某学号的学生信息void se
3、arch1(struct stucode *r); 5、对学生信息排序void sort(struct stucode *r); 6、统计学生人数void search2(struct stucode *r); 7、输出学生信息void out(struct stucode *r); (二)程序总体框架模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。程序总体框架是该程序的总体流程图。改程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。因此选用菜单方式是较佳的方案,程序总体框架如下图: main() 菜单1 输入 2 输出3 排序 4 添加5 删除 6
4、、统计7 查询 8 退出 菜单代码1建立链表并显示2添加学生信息3删除学生信息息4按学号查找学生信5对学生信息排序6统计学生人数7输出学员信息息8学生信息写入文件0退出(三) 运行环境(软,硬件环境) 硬件:CPU, 内存, 主板, 硬盘, 显卡, 键盘, 显示器等等。 软件:Windows XP trubo c应用软件。(四) 开发工具和编程语言 开发工具:trubo c 编程语言:C 语言三、 详细设计(一)数据结构依据给定学生信息和数据格式,数组用结构体实现,结构体层次结构:struct stud 学号 整型 long int num; 姓名 字符串 name20; 性别 字符串 sex
5、2; 出生日期 字符串 birthday12;联系方式 字符串 tel12; 头文件#include #include #include /*定义数据结构和链表*/struct stud long num; char name20; char sex2;char birthday12;char tel12; typedef struct stucode struct stud student ; struct stucode *next; L;(二)、算法说明1、主函数的算法设计: 清屏、显示子菜单及运用选择操作(运用swith语句),调用各个子函数,最后退出程序,主要代码:while(fla
6、g) system(cls); menu(); choose=getchar(); switch(choose)2、各个子函数的算法设计 1、一些显示操作,输入相应的内容即可 代码: 2、创建链表并显示学生信息 申请空间p=(L *)malloc(sizeof(L); 学生信息的输入及显示:p-student.num=n; strcpy(p-student.name,a); p-next=NULL; 3、学生信息的删除首先查询要删除的学生信息的学号,如果存在删除该学生,如果不存在给予相应的提示。t=p-next; p-next=p-next-next; free(t);/释放空间4、学生信息的
7、排序 新建链接,然后按要求对学生信息进行排序while(z-next&z-next-student.num=p-student.num) z=z-next; p-next=z-next; z-next=p;5、学生人数的统计:6、学生信息的显示:直接发调用函数即可。四、运行结果五、总结1、调试分析 (1)刚编译完后有好多错误和警告,运行失败,然后经过修改错误警告慢慢减少,最终可以运行。 (2)该程序中可能还存在一些小问题,比如有的时候它会主动清屏,有的时候不会。并且我在编译的过程中发现自己存在好多毛病,有粗心了等,不注意细节,其实自己也知道细节决定成败,以后我会注意。 2、设计总结经过一周的课
8、程设计,我学到了很多东西:巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了
9、对知识的认识,并为走向社会打下一个良好的基础。在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同学的帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示感谢!六、 参考文献 书籍: 谭浩强 C程序设计(第三版) 北京 清华大学出版社谭浩强 C程序设计题解与上机指导(第三版) 北京 清华大学出版社 王为青 刘变红 C语言高级编程及实例剖析 人民邮电出版社张建勋 C语言程序设计教程 清华大学出版社李玲 桂玮珍 刘莲英 C语言程序设计教程习题解答与实验指导 人民邮电出版社源程序:#include #in
10、clude #include struct stud long num; char name20; char sex2;char birthday12;char tel12; typedef struct stucode struct stud student ; struct stucode *next; L; void menu(); void createlist(struct stucode *r); void out(struct stucode *r); void search1(struct stucode *r); void search2(struct stucode *r)
11、; void del(struct stucode *r); void insert(struct stucode *r); void sort(struct stucode *r); void main() char choose; int flag=1; struct stucode *r=NULL; while(flag) system(cls); menu(); choose=getchar(); switch(choose) case 1: createlist(&r); out(r); printf(Testing function 1nPress any key to conti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 成绩 信息管理 系统 源代码
限制150内