C++--课程设计报告-学生学籍管理系统_第1页
C++--课程设计报告-学生学籍管理系统_第2页
C++--课程设计报告-学生学籍管理系统_第3页
C++--课程设计报告-学生学籍管理系统_第4页
C++--课程设计报告-学生学籍管理系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题名称 C+课程设计报告 程序设计基础课程设计报告设计题目C+学生学籍管理系统学生姓名廖泽坚学生班级计科1142学生学号9指导教师叶晓霞完成时间: 2014年 12月 23日目 录第1章 内容摘要,关键字3第2章 需求分析4第3章 总体设计5第4章 系统实现8结论15后记15参考文献15第1章 内容摘要,关键字【摘要】 学籍管理系统设计涉及学生信息的录入,显示,查找,删除,修改,统计,保存,退出等功能,从而能够对信息进行处理。程序中运用了相关类的知识,同时定义了一定数量的数据及成员函数。程序使用了数组记录统计的相关数据,运用了指针实现相应功能函数的功能,运用了student ,school两个类实现面向对象的要求。程序的完成涉及到程序的分析,模块的分解,程序的控制,程序的调试。【关键词】 学籍管理,vc+6.0,面向对象,程序控制,类【Abstract】school management system design involves the student information input, display, search, delete, modify, statistic, save, exit and other functions, which can process the information. To use the procedures related to such knowledge, and defines the data and member functions of a certain number of. Procedures for the use of relevant data array record statistics, using the pointer function to realize the corresponding function, the use of student, School of two types of implementation of object oriented requirements. Completion of the process involved in program analysis, module decomposition, program control, program debugging.【keyword】Student status management vc+6.0 object oriented process controlclass 第2章 需求分析1. 学籍管理现状:目前国内大中专院校众多,在校的学生人数占据了社会人口很大一部分,是社会群体中的新生力量;对学生学籍的管理是各大院校日常管理中不可忽视的一个重要环节;随着计算机等高新科技的发展,对学籍的管理早已不能仅仅满足于纸质文件。因此,开发出一套计算机学生学籍管理系统显得很有必要。2. 本系统存在的价值:满足了各大院校对学籍管理的强烈要求;力图用最少的代码完成最多的功能,代码简洁没有冗余;系统操作简便明了,根据提示即可进行简便常用的日常学籍管理;占用资源少、需求大、简便易操作,多彩的可视化界面。综合以上众多优势,证明了本系统存在的价值。 3. 课程设计的任务: 制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。4. 基本功能:学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩)成绩统计(各科总成绩,各科平均成绩,各科的及格率)5. 扩展功能:学生数据的添加、修改、与删除,读取与存储。6. 系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。第3章 总体设计一、 系统实现方案:第一步:分析题目。 第二步:画出流程。 第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。 第四步:及时整理资料,撰写课程设计报告中有关这个题目的内容。二、 现行系统组织结构图:主程序采简单程序初初始化程序退输出统统计修修改删删除查查找显显示输输入三、 类设计(参考)类:student 数据成员:编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩类:school成员函数:录入函数Input():输入编号到计算机的成绩;统计函数count():统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数found():按学号或姓名查找学生的记录;修改函数mend():修改指定学号学生成绩记录;删除函数del():删除指定学号学生记录;输出函数show():输出班级所有学生成绩记录;四、 输入输出的设计1界面的设计、界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。、功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。2数据输出设计:系统主界面:输入信息界面:全部信息显示界面:查找界面:修改界面:保存界面:统计界面:第4章 系统实现代码:#include#include#include#include using namespace std; class student /定义类-student protected: /类中的私有成员 int number; char name20;char sex6; char place20;char nation6; char birth20;char party10; char id20;float score3;public: /类中的公有成员 student *next; student() student() char* getname() return name; /返回值的函数 int getnumber() return number; double getscore(int i) return scorei; float getg() return (score0+score1+score2); /求总成绩void input() /输入信息的函数 int e=1; coutttt按提示输入:endl; coutnumber; coutname;do coutsex;/*strcmp为库函数,当前不等于后时,返回值为非零,当前等于后时,返回值0*/ if(strcmp(sex,男)=0 | strcmp(sex,女)=0) coutplace; coutnation; coutbirth; coutparty; coutid; coutscore0; coutscore1; coutscore2; e=0; else coutttt无此类型性别!重新输入!numbernamesexplacenationbirthpartyid score0score1score2; is.get(); void output() /输出学生的基本信息的函数 cout学生基本信息如下:endl; cout编号:number 姓名:name 性别:sex 籍贯:place 民族:nation 生日:birth 政治面貌:partyendl身份证号:id 数学:score0 英语:score1 计算机:score2 总分:getg()endlendl;void output(ofstream & os) /输出文件流类 ossetw(6)number setw(15)namesetw(20)place setw(6)nationsetw(20)birthsetw(20)party setw(20)idsetw(6)score0setw(6)score1setw(6)score2next=NULL; key=0; school() delete head; void input(); void mend(); void del(); int find(student *p,int num,char *pn=); void found(); void show(); void count(); void save(); void begin(); void clear(); char mainmenu();int getkey() return key;void setkey(int k) key=k; private: /私有成员 student *head; int key;/录入函数void school:input()student *p,*p2=NULL; p=head; int n;while(p-next)p=p-next;while(n) p2=new student; p2-input(); p-next=p2; p2-next=NULL; p=p-next; school:setkey(1); coutn; /*子查找函数*/int school:find(student *p1,int num,char *pn) student *p; p=head;while(p-next) (*p1)=p; if( (p-next)-getnumber()=num|!strcmp( (p-next)-getname(),pn ) ) return 1; p=p-next;return 0; /*查找函数*/void school:found() student *p; int num=-1,n=9; char name20=;do coutn;while(n2);if(n=1) coutnum;if(n=2) coutname; if(!find(&p,num,name) ) couttt找不到你要查找的内容!next)-output();/*删除函数*/void school:del() student *p,*p2; int num; coutnum;if( !find(&p,num,) ) couttt找不到你要删除的内容!next)-output(); p2=p-next; p-next=p2-next; delete p2;school:setkey(1); void school:show() /显示函数 student *p; p=head;while(p-next) (p-next)-output(); p=p-next;/*修改函数*/void school:mend() student *p; int num=-1,n; char name20=;do coutn;while(n2);if(n=1) coutnum;if(n=2) coutname;if( !find(&p,num,name) ) couttt找不到你要修改的内容!next)-output(); (p-next)-input(); school:setkey(1);void school:save() /保存函数 student *p; p=head; ofstream os(student.txt,ios:out);if (school:getkey()=1) while(p-next) (p-next)-output(os); p=p-next; coutttt文件已保存! num;is.seekg(t); if(numinput(is); p-next=p2; p2-next=NULL; p=p-next; void school:clear()/清空函数 student *p,*p2; p=head-next;while( p )p2=p; p=p-next;delete p2;void school:count()/统计函数 student *p; p=head;int n=0;double g3=0,0,0; float j3=0,0,0;while(p-next) p=p-next; n+; for(int i=0;igetscore(i) ); (p-getscore(i) )=60.0? ji+ : 0 ;cout数学总分:g0 平均分:g0/n 及格率:j0/nendl英语总分:g1 平均分:g1/n 及格率:j1/nendl计算机总分: g2 平均分: g2/n 及格率:j2/nendl;/*主选菜单函数*/char school:mainmenu()char n6;coutnn 欢迎进入学籍管理系统endlendl * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * *endl * * 1: 录入学生信息 * *endl * * 2: 显示学生信息 * *endl * * 3: 查找学生信息 * *endl * * 4: 删除学生信息 * *endl * * 5: 修改学生信息 * *endl * * 6: 统计学生成绩 * *endl * * 7: 保存学生信息 * *endl * * 0: 退出系统 * *endl * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * *endln;return n0;/*主函数*/void main()school pp;int k=1; char n; pp.begin();while(k=1) n=pp.mainmenu();switch(n) case

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论