谭樟林《c》课程设计报告

上传人:第*** 文档编号:55982561 上传时间:2018-10-08 格式:PDF 页数:30 大小:683.51KB
返回 下载 相关 举报
谭樟林《c》课程设计报告_第1页
第1页 / 共30页
谭樟林《c》课程设计报告_第2页
第2页 / 共30页
谭樟林《c》课程设计报告_第3页
第3页 / 共30页
谭樟林《c》课程设计报告_第4页
第4页 / 共30页
谭樟林《c》课程设计报告_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《谭樟林《c》课程设计报告》由会员分享,可在线阅读,更多相关《谭樟林《c》课程设计报告(30页珍藏版)》请在金锄头文库上搜索。

1、0 C+C+ 课程设计报告课程设计报告 课课题题:学生管理系统学生管理系统 专业班级:专业班级:计算机科学与技术计算机科学与技术 10101 班班 学学号:号:201017010101 姓姓名:名:谭樟林谭樟林 指导教师指导教师:屠屠 添添 翼翼 目目录录 评阅意见:评阅意见: 评定成绩:评定成绩: 指导老师签名:指导老师签名: 年年月月日日 1 1 课程设计的目的和意义 (字数至少为 1 页内容) (全文行间距为 1.5 倍,字为宋体小四) 1.通过 C+课程设计,使我们能将学到的面向对象的设计思想运用在具体的工 作和学习中, 加深对类和对象的理解, 要求我们对生活中的许多具体事务抽象出来,

2、 并掌握继承和派生类,基类,虚函数和多态的概念。 2.通过这次课程设计掌握C+语言程序设计的编程思想,为后续课程打下基 础。 3.培养自我事迹操作能力和实践能力,为以后的工作打下坚实的基础。 4.这次设计中就是为了复习 C/C+中学生的基本知识, 学习 C/C+语言中函数的 定义和调用方法,掌握 C+中函数设计的方法和结构化设计的思想,掌握规范的程 序设计思路,掌握规范的程序编码格式。 5.C+实践是C+程序设计课程的同步教学环节,是一个重要的、不可或缺 的实践环节,其目的是学生能够针对理论知识,全面掌握 C+面向对象程序设计的 方法和技术,通过该实践课程使我们进一步理解和掌握 C+面向对象程

3、序的意思和 作用,培养学生按照编程得原理、方法、标准和规范,进行程序开发的能力,培养 了我们的合作团队精神,培养学生对面向对象高几语言的编写能力,从而提高我们 编程的综合能力。 6.加深学生对该课程基础知识和基本理论的理解和掌握,培养学生综合运用所 学知识独立分析和解决的能力。 7.培养学生在计算机软件开发,理论计算、查阅资料等方面的能力,使学生做 不树立正确的设计思想。 8.加强理论联系实际,培养学生科学严谨、实事求是的工作作风和勇于探索的 创新精神。 9.自己编程的本领还很弱,以后要好好努力学习。 2 2 需求分析 (字数至少为 1 页内容) (全文行间距为 1.5 倍,字为宋体小四) (

4、内容:系统是什么,要做到什么程度。 ) 我们的学生信息管理系统是我们针对管理层需求与发展在自身能力条件下开 发的一套系统。该系统共分为学生管理,课程管理与成绩管理三条链表。分别由小 组成员分工合作完成。系统达到了预想要求,实验结果合理。各项性能都达到了很 好的体现。这当然离不开我们的团队协作与努力。学生管理包括增加学生,删除学 生,修改学生,现实所有学生几个分项。各个分项分工明确,功能分明。这个由我 们小组的谭樟林同学编写。他不负众望,早早为我们完成了第一条链表。很感谢他 能积极参与此次课程设计,与他合作也是一件非常愉快的事。课程管理由我编写, 这是团队对我的信任。该链表包括增加课程,删除课程

5、,修改课程,显示全部课程 等几个分项组成。本人编程水平不高。编程过程中出现了很多小错误。单我们经过 仔细地为我分析,最终修改成功。经过漫长的过程终于编译通过。这更加让我明白 了团队的重要。成绩管理在整套系统中难度最大,牵涉到的东西也最多。使我们其 他管理子系统的核心。而这条链表就是由我们最有实力的胡瀚武来编写的。实力出 效果,真的很让我们看好。他在我们小组起着很大的作用。是我们的榜样与核心。 他编写是非常合理与正确的选择。 我们都相信他的能力。 客房资料管理由增加成绩, 删除成绩,修改成绩,显示所有成绩几个分项组成。在我们第一次探索学生管理与 成绩管理的结合这一阶段, 我们面临了一些困难。 比

6、如如何使两条链表很好的连接。 但我们通过不断探索终于解决了问题。运行不再报错。 整个系统层次清晰明了。极富逻辑。是我们团队合作的结晶。各个系统由主菜 单紧密相连而成为一体。模块化程序编译初次被我们所了解。其方便可行的优点为 我们小组成员所欣赏。 总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设 计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以 菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运 行界面友好,演示程序以用户和计算机的对话方式进行。本次课程设计要求有以 下几点: 3 1.功能要求功能要求 1.输入功能:一次可以完成自定

7、义学生人数的学生信息记录的输入。 2.删除功能:对指定学生的信息进行删除。 3.修改功能:对指定学生的信息进行修改。 4.查询功能:选择某种方式并输入该信息查询符合条件的学生信息。 5.显示功能:将以上功能操作后的学生信息显示出来。 6.保存功能:将学生信息保存在文件中。 7.读取功能:将学生信息通过二进制或文本文档形式读取出来。 2.2.任务要求任务要求 所设计的管理系统可实现对学生信息和每个学生成绩的管理,并实 现对教师信息的简单管理。 设计数据的存储方式,使得用户输入的数据能够保存到磁盘,并在 下一次打开时可以读入已经存储的数据。 当第一次使用无存盘数据时应自动创建 磁盘数据记录文件。

8、设计学生、教师、成绩三个类,并通过类中包含的方法录入或从文 件读入数据。 设计简单易懂的操作界面,使用户可以很方便的操作系统管理学生 信息、教师信息、学生成绩等。 3.3.基本要求基本要求 1、将学生、课程、成绩分别定义成类 Student、Course、Score。 2、每个类中的私有成员变量需通过 get、set、read 等方法获取或设置值。 3、设计程序入口 main()使用各类中的方法管理数据和信息。 4、设计读入文件和写入文件的代码。 4 3 系统(项目)设计 (包括总体设计和详细设计) (字数至少为 3 页内容,要有流程图)(全文行间距为 1.5 倍, 字为宋体小四) (内容:设

9、计思路、方案,模块划分及介绍。 ) 学生管理系统 成绩管理 课程管理 删 除 学 生 删 除 成 绩 增 加 成 绩 返 回 修 改 学 生 修 改 成 绩 显 示 所 有 成 绩 显 示 所 有 学 生 返 回 增 加 课 程 删 除 课 程 修 改 课 程 显 示 所 有 课 程 返 回 学生管理 增 加 学 生 5 各功能模块的实现流程图:各功能模块的实现流程图: 1 增加学生信息增加学生信息 如果是可创建链表输入相应的学生信息如果不是则需要运用 Insert(p)函数 插入结点增加学生信息的,具体流程如下图所示 流程图流程图 2 删除学生信息删除学生信息 删除学生的信息则必须对链表结点

10、进行删除意味着将某个要除结点前 后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的 删除任务 流程图流程图 输入要删 除信息的 代号 该学生信息 已删除,显 示其他学生 的信息 输 出 所 有 学 生 的信息 3导入学生信息导入学生信息 打开存档文件 ifstream Filein(“out.txt“);输出说存档的学生信息 新 增 学 生信息 按提示: 输入 学生的各种 信息 按格式显示 输入的学生 信息 退出该功能, 返回主菜单, 继续选择 退出该功能, 返回主菜单, 继续选择 导入学生信 息 显示学生的信 息 退出该功能,返回主菜 单,继续选择 判断以前是 否存储了学 生信

11、息是新 增信息 输入要删 除学生信 息 6 4 系统实现 (字数至少为 3 页内容) (全文行间距为 1.5 倍,字为宋体小四) (内容:分模块进行关键代码及算法的解释。 ) void studentlist: student_manage_choose(char fileName) /学生管理总函 数 int studentlist:input1(course *p)/输入函数 if(strcmp(p1-num,p-num )=0 )/判断代号是否存在 if(strcmp(p2-course1 ,p-course1 )=0 )/判断代号是否存 return 1;/返回 1 代表输入失败 re

12、turn 0;/代表输入成功 void studentlist:printf1(student *p)/输出函数 void studentlist:alter_student ()/修改函数 void studentlist:add_student ()/增加学生到链表尾部 void studentlist:delete_student ()/删除函数 void studentlist:export_all_student ()/显示所有学生函数 void studentlist:Save(char fileName)/保存信息到文件 int studentlist:Load(char fil

13、eName)/读取文件信息 7 5 系统调试 (字数至少为 2 页内容) (全文行间距为 1.5 倍,字为宋体小四) (内容:含测试的参数及运行的界面。 ) 各功能显示效果模块图: 主菜单: 8 进入学生管理: 9 增加学生信息和导入学生信息: 10 显示所有学生: 11 删除学生信息: 12 显示删除后所有学生: 13 小结小结 (内容:心得体会。收获,在设计期间遇到的问题及解决的办法,努力方向) 这一周的 C+课程设计,时间上说长不长,说短也不短,却让我学到了很 多,第一点就是:C+很难,似乎是学不完的,你觉得自己了解一点,是总会发 现还有很多自己所不懂的东西,还有很多自己所没探知的领域,

14、很多知识运用到 实践中很有一定的难度, 看着自己和同学的程序运行结果, 突然发现 C+真的很 神奇,居然能运行出那么漂亮的系统,看着运行结果。 在我们上机调试程序的过程中,我遇到了很多的问题,说实话这次课 程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是 觉得没有头绪, 无从下手。 看到同学认真看程序的样子, 还有修改程序时的熟练, 我很羡慕他,我想,我也要将 C+学好,在将来能为我的就业加分。 在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难 我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情 复习,我曾一度地抱怨过学院,在完成它之

15、后,我发现我错了,课程设计不仅让 我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是, 它磨砺了我们,让我们在大学的下一个阶段能更好的成长。 14 参考文献 C+ 面向对象程序设计教程(第三版) 陈维兴 林小茶 编著 C 语言程序设计(第二版) 谭浩强 著 15 附录 源程序 程序清单;程序清单; #include“iostream“ #include“studentlist.h“ #include“courselist.h“ #include“scorelist.h“ using namespace std; studentlist A; courselist B; sco

16、relist C; void manage_choose(); int main() manage_choose(); return 0; void manage_choose() char s12; 16 int n1; for(;) cout退出管理系统“进入学生管理“进入课程管理“进入成绩管理“安全退出并保存“增加学生“删除学生“修改学生“显示所有的学生“_classnumbernamesex _class name next number sex ; cout_class,20,n) ; coutnumber,20,n) ; student *k=head; while(k!=NULL) if(strcmp(k-number, s-number)=0) coutnext ; coutname,10,n) ; coutsex,4,

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

当前位置:首页 > 高等教育 > 大学课件

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