《C++程序设计》课程设计报告

上传人:飞****9 文档编号:21597945 上传时间:2021-05-05 格式:DOCX 页数:32 大小:103.74KB
返回 下载 相关 举报
《C++程序设计》课程设计报告_第1页
第1页 / 共32页
《C++程序设计》课程设计报告_第2页
第2页 / 共32页
《C++程序设计》课程设计报告_第3页
第3页 / 共32页
点击查看更多>>
资源描述
C+程序设计课程设计报告题目: 学生学籍管理系统学院:计算机科学与工程学院专业:计算机科学与技术学生姓名:学号:指导教师:2012 年06 月 20日目录10.学生学籍管理系统II1.前言12.需求分析13.概要设计14.详细设计15.测试16.总结2附录21. 前言题目:学生学籍信息管理系统1 前言21 世纪随着计算机技术的不断成熟,带来了信息技术的高速发展。信息技术的发展极大地推动了整个社会信息化的进程。在日益庞大的信息管理领域,信息管理自动化直接地改变了传统的文档管理方式,极大地提高了工作效率和管理水平。2. 需求分析鉴于高等院校在校学生、教职员工、日常事务处理信息数据的繁多,学校信息管理部门通常感到无法高效的进行管理。就高等院校学生学籍管理这一方面 , 由于院校学生人数众多, 专业不同,学校所安排的教学计划也就因人而异。这对于管理学生学籍信息的教务老师来说,无疑是一项庞大和复杂的工作。不仅要考虑学校对某一专业整体的教学计划安排,也要对各专业相关老师的教学任务进行统一协调,还要考虑某些学生的特别学籍变化。为解决学校上述的学生学籍管理难题,提高教务老师的信息管理效率,以及为了方便学生更好、更便捷的查看自己的学籍信息;让老师的教学工作更加顺利和对教学信息的及时掌握。本系统特参照一般高等院校对在校学生课程选修的数据库管理办法,结合实践,设计出学生,教师和管理员三大功能模块,根据赋予系统权限不同,分别对系统进行相关操作,方便了学生、教师对学籍信息的查看,同时,也大大减少了管理员的信息管理工作量,提高了系统效率。3 概要设计1)、通过对高等院校管理学生学籍的管理模式和步骤流程,设计出系统的总体结构和各主要功能模块。2)、了解面向对象语言的编程风格,以及数据库对数据信息处理的特点,确定好系统的设计语言和数据库平台。3)、及时与学校管理信息老师和课程设计指导老师沟通,进一步熟悉学生学籍信息管理系统的数据流程、数据处理以及操作步骤。提出自己的设计想法,征求老师意见,改正不合理的地方,为下面的概念设计和详细设计奠定基础。3.1概要设计阶段总体结构设计1)、确定系统的总体结构以及子结构:系统根据用户模式的不同,实现不同的系统功能。系统功能层次图如下:登录学生信息系统1.登记学生信息2.删除学生信息3.查找学生信息学生信息管理(选择操作)4.修改学生信息保存信息5.按要求输出信息退出系统6.退出3.2概要设计阶段成果信息浏览界面系统登录界面信息修改编辑界面信息保存退出界面4 详细设计4.1界面设计系统开始运行后自动从当前目录下的 xueshen 文件中读取信息,并实时显示信息的读取情况。用户登录系统主界面,输入用户名和密码, 。系统对用户进行安全验证,若通过,则跳转到相应操作界面;若失败,则提示相应错误信息。系统主界面如下图所示, 各功能模块前面都标注了编码 ,用户只要输入相应的编码就可以选择相应的功能模块,方便了各层次用户对系统的功能操作。同时界面中也显示了整体的结构图,以便用户对系统的整个功能结构有着清晰的认识。在用户选择每一个具体的功能模块后, 系统都会提示用户做出相应的操作,并根据用户的指令反馈相应的信息处理结果。另外在显示新的菜单时,都会将之前的内容清空,使系统的操作界面简洁,提高用户使用系统的效率。图 1功能描述 :图 1 为学生学籍管理系统操作界面选择 1: 进入学生信息登记界面 , 可查看学生的学籍信息 , 对信息进行添加选择 2: 进入学生信息删除界面 , 输入学生学号 , 进行学生信息删除功提示。选择 3: 进入学生信息查找界面 , 录入学生学号 , 对学生的相关信息进行查找。选择 4: 进入学生信息修改界面 , 录入要修改的学生编号 , 选择要修改的信息,输入新信息。选择 5: 按要求输出学生信息界面,输入要输出的学生信息进行相同信息学生的统计输出。选择 6: 退出操作界面,退出系统操作。图 2功能描述 :图 2 为是否进行操作界面选择 Y: 返回学生学籍管理系统操作界面选择 N:退出操作界面图 3功能描述 :图 3 为信息保存界面。选择 Y: 进行信息保存退出系统选择 N:不保存信息退出系统4.2编码。1 )头文件代码/MyStudent.h#ifndef MYSTUDENT_H_#define MYSTUDENT_H_#include#includeusing namespace std;class Studentpublic:double Num;string Name;string Sex;int Age;string Jiguan;string Xibie;string Zuanye;string Class;string bianhua;Student *next;#endif/MyLIST.h#include#include#include#includeMyStudent.husing namespace std;class LISTprivate: public:Student *head;LIST()head=new Student;head-next=NULL;int length();bool isempty() return head-next=NULL?true:false;bool get_data(int i,Student &x);bool get_succ(int i,Student &x);bool get_prior(int i,Student &x);/bool replace_data(double i);/bool insert_data(Student data,int i);bool delete_data(double i);/bool find_data(double i,Student &result);void tongji(Student x);/查找函数void print_list();void shuchu();LIST()/Student *p;while(head)p = head;取前驱元素函数置换元素/ 插入元素函数删除元素函数析构函数/ 将链表中所有元素占用空间释放head = head-next;delete p;#endif/Myvoid.h#include#includeMyLIST.h#includeMyStudent.hvoid In( int i,Student chuandi)double Num;string Name;string Sex;int Age;string Jiguan;string Xibie;string Zuanye;string Class;string bianhua;ifstream in(xuesheng);if(!in)cout不能打开 !endl;for(int j=1;jNumName SexAgeJiguanXibie ZuanyeClassbianhua ;in.close ;chuandij.Num =Num;chuandij.Name =Name;chuandij.Sex =Sex;chuandij.Age =Age;chuandij.Jiguan =Jiguan;chuandij.Xibie =Xibie;chuandij.Zuanye =Zuanye;chuandij.Class =Class;chuandij.bianhua =bianhua;void changdu(LIST lis)ofstream out(len);outi;return i;void output()coutendlendlendlendlendl*endl*endl*学生学籍管理系统*endl*endl*1.登记学生信息*endl*2.删除学生信息*endl*3.查找学生信息*endl*4.修改学生信息*endl*5.按要求输出籍贯表*endl*6.退出操作选择*endl*endl*endl*endl;coutendlendl请选择需要的功能:;void baochun()coutendlendlendlendlendlendl;cout#endl#endl#是否保存修改信息?是输入 Y,退出输入N#endl#endl#endl#endl#endl;cout 输入您的选择:;void jixu()coutendlendlendlendlendlendl;cout#endl#endl#是否继续操作?是输入 Y,退出输入N#endl#endl#endl#endl#endl;coutnext;while(current!=NULL)current=current-next;counter+;return counter;bool LIST:get_data(int i,Student &x) Student *current; int j=1; if(ilength()coutnext;while(current!=NULL&jnext;x=*current;return true;bool LIST:get_succ (int i, Student &x)Student *current ;int j=1;if(ilength() coutnext;while(current!=NULL&jnext;if(current-next!=NULL)x=*current-next;return true;elsecout 第 i 个元素无后续,不能读取!n;return false;bool LIST:get_prior (int i, Student &x)Student*current ,*previous;int j=1;if(ilength() coutnext;while(current!=NULL&jnext;if(previous!=head)x=*previous;return true;elsecout 第 inext;while(current!=NULL¤t-Num !=i)j+;current=current-next;if(j=length()cout 没有找到该学号相关信息!endl;return false;int xg;cout 输入您要修改的学生信息 :1 学号, 2 姓名, 3 性别, 4 年龄, 5 籍贯, 6 系别, 7 专业, 8 班级 , 9 学籍变化 .xg;string xingming;string xingbie;string jiguan;string xibie;string zhuanye;string banji;string bianhua;switch(xg)case 1:double num;cout 您将修改学号,请输入新的学号num;current-Num =num;break;case 2:cout 您将修改姓名,请输入新姓名xingming;current-Name =xingming;break;case 3:cout 您将修改性别,请输入新性别xingbie;current-Sex =xingbie;break;case 4:int nianling;cout 您将修改年龄,请输入新的年龄nianling;current-Num =nianling;break;case 5:cout 您将修改籍贯,请输入新籍贯jiguan;current-Jiguan=jiguan;break;case 6:cout 您将修改系别,请输入新系别xibie;current-Xibie=xibie;break;case 7:coutzhuanye;current-Zuanye =zhuanye;break;case 8:coutbanji;current-Class =banji;break;case 9:coutbianhua;current-bianhua=bianhua;break;endl;endl;return true;bool LIST:insert_data( Student data,int i)Student*current ,*previous,*newnode;int j=1;newnode=new Student;if(newnode=NULL)coutAge =data.Age ;newnode-Num =data.Num ;newnode-Class =data.Class;newnode-Jiguan=data.Jiguan;newnode-Name =data.Name;newnode-Sex =data.Sex;newnode-Xibie =data.Xibie;newnode-Zuanye =data.Zuanye;newnode-bianhua =data.bianhua ;newnode-next=NULL;previous=head;current=head-next;while(current!=NULL&jnext;j+;newnode-next=current;previous-next=newnode;return true;bool LIST:delete_data(double i)Student *current ,*previous;int j=0;if(isempty()coutnext;while(current!=NULL¤t-Num !=i)previous=current;current=current-next;j+;if(j=length()cout 没有该学号信息,不能删除!next=current-next;delete current;return true;bool LIST:find_data (double i,Student &result)Student *current ;current=head-next;while(current!=NULL)if(current-Num !=i )current=current-next;elseresult.Age =current-Age ;result.Num =current-Num ;result.Class=current-Class;result.Jiguan=current-Jiguan;result.Name=current-Name;result.Sex=current-Sex;result.Xibie=current-Xibie;result.Zuanye=current-Zuanye;result.bianhua =current-bianhua ;cout 查找结果如下:endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 endl ;coutresult.Num tresult.Name t result.Sex tresult.Age t result.Jiguan t result.Xibie tresult.Zuanye tresult.Class tresult.bianhua endl ; return true;cout 没有该学号的学生信息!endl;return false;void LIST:tongji (Student x)Student *current;string xingming;string xingbie;string jiguan;string xibie;string zhuanye;string banji;string bianhua;int nl;int sum=0;int tj;cout 选择统计信息:1 性别,2 年龄,3 籍贯,4 系别,5 专业,6 班级,7 学籍变化 tj;switch(tj)case 1:coutxingbie;coutjiguan 生的信息如下 endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Sex=xingbie)sum=sum+1;coutNumtNamet SextAge tJiguantXibietZuanyetClasstbianhuanext;break;case 2:coutnl;cout 年龄为 nl 的学生信息如下endl;coutt 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Age =nl)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;case 3:coutjiguan;cout 籍贯为 jiguan 的学生信息如下endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Jiguan =jiguan)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;case 4:coutxibie;cout 系别为 xibie 的学生信息如下endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Xibie =xibie)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;case 5:coutzhuanye;cout 专业为 zhuanye 的学生信息如下endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Zuanye =zhuanye)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;case 6:coutbanji;cout 班级为 banji 的学生信息如下endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Class =banji)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;case 7:coutbanji;cout 学籍变化为 bianhua 的学生信息如下endl;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 next;while(current!=NULL)if(current-Class =banji)sum=sum+1;coutNumtNamet SextAge tJiguant Xibie tZuanye tClasstbianhua next;break;void LIST:print_list()Student *current;current=head-next;ofstream out(xuesheng);while(current)outNumtNamet SextAge tJiguantXibietZuanyetClasstbianhua next;coutnext;cout 学号 t 姓名 t 性别 t 年龄 t 籍贯 t 系别 t 专业 t 班级 t 学籍变化 endl ;while(current)coutNumtNamet SextAge tJiguan t XibietZuanyetClasstbianhua;current=current-next;coutendl;coutendl;/Mymain.cpp#include#include #include#include#includeusing namespace std;#includeMyLIST.h#includeMyStudent.h#includeMyvoid.hint main()LIST lis;Student stu;Student result;Student ChuanDi100;double num;char j=Y;int i=0;int xz;int cd=len();i=cd+1;for(int k=1;kxz;while(j=Y)switch(xz)case 1:system(cls);cout 您将进行学生信息登记!endl;cout 请输入学生信息(每项输入完毕请按Enter键进行下一项):endl;cout 请输入学生的学号:stu.Num;cout 请输入学生的姓名:stu.Name;cout 请输入学生的性别:stu.Sex ;cout 请输入学生的年龄:stu.Age;cout 请输入学生的籍贯:stu.Jiguan ;cout 请输入学生的系别:stu.Xibie ;cout 请输入学生的专业:stu.Zuanye ;cout 请输入学生的班级:stu.Class ;cout 请输入学生的学籍变化:stu.bianhua ;lis.insert_data(stu, i);lis.shuchu();i=i+1;break;case 2:system(cls);cout 学生信息如下:endl;lis.shuchu();cout 输入要删除的学生学号(输入完毕请按Enter 键到下一步 )num;lis.delete_data( num);cout 删除后结果如下:endl;lis.shuchu ();break;case 3:system(cls);cout 学生信息如下:endl;lis.shuchu ();double su;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕业论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!