学生管理系统C++课程设计报告word格式

上传人:豆浆 文档编号:25742753 上传时间:2017-12-17 格式:DOC 页数:35 大小:795KB
返回 下载 相关 举报
学生管理系统C++课程设计报告word格式_第1页
第1页 / 共35页
学生管理系统C++课程设计报告word格式_第2页
第2页 / 共35页
学生管理系统C++课程设计报告word格式_第3页
第3页 / 共35页
学生管理系统C++课程设计报告word格式_第4页
第4页 / 共35页
学生管理系统C++课程设计报告word格式_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《学生管理系统C++课程设计报告word格式》由会员分享,可在线阅读,更多相关《学生管理系统C++课程设计报告word格式(35页珍藏版)》请在金锄头文库上搜索。

1、1C+课程设计报告学生管理系统 姓 名:阮 XX学 号:XX专 业:XX 计算机应用 班 级:2 班指导老师:XX 2011 年 6 月2目录1 课程设计目的2 项目要求与简介3 系统分析3.1 系统模块图3.2 系统采用的关键(难点)技术.3.3 主要类说明.4 测试运行的结果.5 心得体会.6 程序代码清单.7 参考书目31.课程设计目的方便学校及班级管理。提高成绩上传速度,减少人力物力。2.项目要求与简介学生信息管理,针对于学生的信息简单整理与修改。功能简介:1、录入成绩(在主页面中直接输入数字 1):添加学生的基本信息,包括学号、姓名、计算机成绩,英语成绩以及数学成绩等;2、修改功能(

2、在主页面中直接输入数字 3):对信息进行修改;3、查找功能.:包括查找记录(在主页面中直接输入数字 6)和查看全部记录(在主页面中直接输入数字 5) 。4、记录排序(在主页面中直接输入数字 4):排序分为学号和姓名排序,下又分为升序和降序排序;5、删除功能:通过输入学号或姓名,删除学生信息;包括删除记录(主页面中直接输入数字 2)和删除全部(在主页面中直接输入数字 7) ;6、清屏功能在主页面中,直接输入数字 8.43.系统分析3.1 系统模块图学生管理系统主控模块系统维护修改记录删除记录查询模块按总成绩查询按姓名查询排序模块按学号查排名按总分查排名按平均分查排名查看所有数据录入成绩删除所有数

3、据3.2 系统采用的关键(难点)技术使用成员函数、构造函数来实现信息的搭建。使用链表存储。大量使用 switch 和 if else 语句来实现整个过程。3.3 主要类说明Student 类:1.定义了学生的基本信息。学号:string number; 姓名 string name; 计算机成绩 double computer; 英语成绩 double English; 数学成绩 double math; 总分 double sum; 平均分 double ave; 成绩等级 char grade; 定义头结点 student *head; 定义第一个结点 student *curnode;

4、定义下一个结点存储地址空间 student *next;2.定义构造函数:student();/不带参数的构造函数student(string ,string ,double ,double ,double ,double =0.0,double =0.0,char =NULL);/5带数据域参数的构造函数,用来动态建立节点3.定义成员函数void sum_score();/总分函数void ave_score();/平均分函数void grade_score();/成绩等级void cin_app();/修改用void app_score(string ,string ,double ,do

5、uble ,double); /动态的建立节点void del_score(); /删除全部节点void displist(); /输出节点中的全部数据void lookup(int ,string ); /查找函数void del_score(int ,string ); /删除函数void compositor(int ,int ); /排序函数void rework(int ,string ); /修改函数64.测试运行的结果1.主页面:2.录入成绩73.修改记录4.查找记录85.查看记录6.记录排序97.删除记录8.删除全部105.心得体会通过 C+程序设计,改掉了自己曾经错误的观点,

6、曾经很盲目的认为 C+只是把 C 中的 printf 与 scanf 换成了 cout 与 cin,把.c 变成.cpp,其他的都一样。真正开始自己编写代码的时候,发现很多不同的地方,通过查书,上网查资料,了解了关于面向对象的特点、函数重载、构造函数、类、类的封装与多态,才发现 C+与 C,本质是不同的。C+ 代码比较容易理解。通过这次对于学生管理系统的设计,更让我深刻的理解到学习专业知识的重要性。6.程序代码清单1.成绩等级switch(i/10)11case 10: grade=A; break;case 9: grade=A; break;case 8: grade=B; break;c

7、ase 7: grade=C; break;case 6: grade=D; break;default: grade=E;2.删除表中所有数据Student *p;curnode=head-next;while(curnode!=NULL)p=curnode-next;delete curnode;curnode=p;head-next=NULL;curnode=head;3.查找并删除数据while(curnode!=NULL)switch(n)case 1: b=curnode-number=str;break;case 2: b=curnode-name=str;break;defau

8、lt: return;if(b)i=0;pw-next=curnode-next;delete curnode;curnode=pw-next;elsepw=curnode;curnode=curnode-next;4.排序实现r=head; s=head-next; q=s; p=q-next; while(s!=NULL) 12 while(p!=NULL) switch(n)case 1:if(m=1)while(s-numbernumber) q-next=p-next; r-next=p; p-next=s; s=p; p=q-next; if(p=NULL)break; elsew

9、hile(s-numberp-number) q-next=p-next; r-next=p; p-next=s; s=p; p=q-next; if(p=NULL)break; break;case 2:if(m=1)while(s-sumsum) q-next=p-next; r-next=p; p-next=s; s=p; p=q-next; if(p=NULL)break; elsewhile(s-sump-sum) q-next=p-next; r-next=p; p-next=s; s=p; 13p=q-next; if(p=NULL)break; break;case 3:if(

10、m=1)while(s-aveave) q-next=p-next; r-next=p; p-next=s; s=p; p=q-next; if(p=NULL)break; elsewhile(s-avep-ave) q-next=p-next; r-next=p; p-next=s; s=p; p=q-next; if(p=NULL)break; break;default: return; if(p=NULL) break; q=p; p=p-next; r=s; s=s-next; q=s; p=q-next; if(p=NULL) break;5.Main 函数实现void main(

11、)system(color 0a); system(mode con: cols=100 lines=30);system(title 学生管理系统转基因工作站);student a;welcome();/欢迎界面14system(pause);while(1)int i;/ system(cls); /清屏功能menu();cini;if(cin.fail() /输入非法字符时退出err_char();switch (i)case 0: fun_exit();break;case 1: a.cin_app();break; /增加记录case 2: fun_del(a);break; /删除

12、记录case 3: fun_rework(a);break; /修改记录case 4: fun_compositor(a);break; /记录排序case 5: a.displist();break; /查看记录case 6: fun_lookup(a);break; /查找记录case 7: a.del_score();break; /清空链表case 8: system(cls);default: break; /其它键退出7.参考书目c+面向对象实用对象 电子工业出版社 作者:郑阿奇百度文库:http:/ using namespace std;class studentprivate

13、:string number;string name;double computer;double English;double math;double sum;double ave;char grade;student *head;student *curnode;student *next;public:student();/不带参数的构造函数student(string ,string ,double ,double ,double ,double =0.0,double =0.0,char =NULL);/带数据域参数的构造函数,用来动态建立节点void sum_score();/总分

14、函数void ave_score();/平均分函数void grade_score();/成绩等级void cin_app();/修改用void app_score(string ,string ,double ,double ,double); /动态的建立节点void del_score(); /删除全部节点void displist(); /输出节点中的全部数据void lookup(int ,string ); /查找函数void del_score(int ,string ); /删除函数void compositor(int ,int ); /排序函数void rework(int ,string ); /修改函数;/student 类的实现void err_char();/输入错误字符检测函数16void score_err();/成绩范围检测函数,当输入成绩不在 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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