学生信息管理系统.doc_第1页
学生信息管理系统.doc_第2页
学生信息管理系统.doc_第3页
学生信息管理系统.doc_第4页
学生信息管理系统.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

课程设计(论文)任务书 软件 学院软件+交通设备信息 专业 班一、课程设计(论文)题目学生信息管理系统 二、课程设计(论文)工作自 2012 年 6 月 18日起至 2012 年 6 月 24日止。三、课程设计(论文) 地点: 创新大楼 四、课程设计(论文)内容要求:1本课程设计的目的(1)熟练掌握C+语言的基本知识和技能; (2)掌握面向对象程序设计的基本思路和方法;(3)了解指针、类的继承、文件的打开和保存、链表应用(4)利用所学的基本知识和技能,解决面向对象程序设计问题(5)培养分析、解决问题的能力;提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求:运用C+语言描述学生类.要求设计中综合运用C+基础知识,利用指针对学生链表进行处理,方便快捷的进行增删改,同时利用排序算法对学分成绩进行排序,理解面向对象程序设计的核心的概念。(1)建立学生类(2)学生信息的初始化(3)字符串信息的输出(4)学生信息的添加、修改、删除、查找(5)学生信息的输出(6)对学生信息按学分、成绩排序(7)计算一门课的平均分和总分 2)创新要求: 将学生信息保存为文件,能够写入与读出。3)课程设计论文编写要求(1)要按照课程设计模板的规格书写课程设计论文(2)论文包括目录、正文、心得体会、参考文献等(3)课程设计论文用A4纸统一打印,装订按学校的统一要求完成4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:40分; (3)完成调试:20分;(4)回答问题:20分。5)参考文献:(1)谭浩强. C+程序设计. 北京:清华大学出版社,2008 (2)/(3)/6)课程设计进度安排内容 天数地点构思及收集资料 2图书馆编程设计与调试 5实验室撰写论文 3图书馆、实验室学生签名: 2012 年 6 月 18 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(20分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差();(4)翻译能力(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人: 职称: 2012 年6月 日目录一、总体设计4二、详细设计52.1. 系统的设计思路52.2. 类的设计与函数实现52.3. 源程序62.4. 测试情况20三、小结22四、参考文献23一、 总体设计(描述该系统主要解决的问题以及主要的功能模块)字体为宋体五号字,行间距为1.1倍。以下同.1. 该学生信息管理系统主要解决的问题学校更好地管理了解学生信息以及学生的学习情况。退出学生信息管理系统按学分排序显示全部信息查询学生信息删除学生信息添加学生信息修改学生信息输入学生信息学生信息管理系统2. 该学生信息管理系统主要的功能模块如下:二、详细设计2.1.系统的设计思路(描述系统的设计思想,系统的实现方法的介绍,如果文字描述不清楚的话,建议用流程图来描述会更清楚。)1. 我设计的学生信息管理系统,通过c+文件流开辟磁盘空间来存储学生信息的,该系统中,我定义了一个学生类。2. 学生类中包含了学生的学号,姓名,性别,物理成绩,数学成绩,英语成绩,c+成绩,学分,学生总分等学生信息。3.该学生信息管理系统中有七个函数类实现以下功能:(1)建立学生类。(2)学生信息的初始化。(3)字符串信息的输出。(4)学生信息的添加、修改、删除、查找。(5)学生信息的输出。(6)对学生信息按学分、成绩排序。(7)计算一门课的平均分和总分。2.2. 类的设计与函数实现(主要写出该系统中用到的类,类与类之间的关系,以及函数的主要功能,主要参数的介绍)1. 该学生信息管理系统中定义student类。2. 输入函数void add():用来输入学生信息。3. 添加函数void adi():用来添加未输入学生信息。4. 修改函数void chance():用来修改输入或者添加时的错误数据。5. 删除函数void del():用来删除学生信息。6. 显示函数void display():用来输出全部的学生信息。7. 排序函数 void paixv():通过学生的学分来排序,并输出排序后的学生信息。2.3. 源程序(给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。)#include#include#include#includeusing namespace std;#define M 200 /可以存信息总量int N=0; void meun(); /学生总量class studentpublic:student();void set(); /初始化信息,第一次对信息的输入void add(); /添加学生信息void del(); /删除学生信息void chance(); /修改学生信息void search(); /查询学生信息void display(); /显示全部学生信息void paixv(); /学生学分排序 private: static int num;string name,sex;float physic_score,math_score,English_score,c_score,total_score,xuefan;int student:num=000;student:student()void student:set()/学生信息输入函数 int i;string setname,setsex;float setphysic_score,setmath_score,setEnglish_score,setc_score,settotal_score,setxuefan;ofstream outfile;outfile.open(f1.txt,ios:out); /-打开文件-if(!outfile)cerropen errorendl;exit(1);/-依次录入相应个数的学生信息-for(i=0;iM;i+)cout当输入姓名为0时,停止输入endl;cout请输入姓名setname;name=setname;if(setname=0)break; if(setname!=0) N+; num+; outfilenum ; outfilesetname ; cout请输入性别:setsex; sex=setsex; outfilesetsex ; cout请输入物理成绩:setphysic_score; physic_score=setphysic_score; outfilesetphysic_score ; cout请输入数学成绩:setmath_score; math_score=setmath_score; outfilesetmath_score ; cout请输入英语成绩:setEnglish_score; English_score=setEnglish_score; outfilesetEnglish_score ; cout请输入c+成绩:setc_score; c_score=setc_score; outfilesetc_score ; cout请输入学分:setxuefan; xuefan=setxuefan; outfilesetxuefan ; cout请输入总成绩:settotal_score; total_score=settotal_score; outfilesettotal_scoreendl; outfile.close(); /-关闭文件-void student:add()/学生信息添加函数 string setname,setsex;float setphysic_score,setmath_score,setEnglish_score,setc_score,settotal_score,setxuefan;/-以追加的方式录入信息,直接将信息追加到以前文件的末尾-ofstream outfile(f1.txt,ios:app); if(!outfile)cerropen errorendl;exit(1);N=N+1;/-依次输入相应的数据,并将信息追加到之前的文件的末尾-cout输入您要添加的数据endl; num+; outfilenum ; cout请输入姓名:setname; cout请输入性别:setsex; outfilesetsex ; cout请输入物理成绩:setphysic_score; outfilesetphysic_score ; cout请输入数学成绩:setmath_score; outfilesetmath_score ; cout请输入英语成绩:setEnglish_score; outfilesetEnglish_score ; cout请输入c+成绩:setc_score; outfilesetc_score ; cout请输入学分:setxuefan; outfilesetxuefan ; cout请输入总成绩:settotal_score; outfilesettotal_scoreendl; outfile.close(); cout您已添加成功endl; void student:del()/删除学生信息函数 int k,i; int numM; float physic_scoreM,math_scoreM,English_scoreM,c_scoreM ; float total_scoreM,xuefanM;ifstream infile(f1.txt,ios:out);/打开f1.txt文件 if(!infile)cerropen errorendl;exit(1);for(i=0;iN;i+)coutnumi;coutsetw(5)sexi;coutsetw(5)namei;coutsetw(5)physic_scorei;coutsetw(5)math_scorei;coutsetw(5)English_scorei;coutsetw(5)c_scorei;coutsetw(5)xuefani;coutsetw(5)total_scorei;coutsetw(5)total_scoreiendl;cout你想删除那个k;k=k-1;infile.close(); /关闭f1.txt文件 ofstream outfile(f1.txt,ios:out);if(!outfile)cerropen errorendl;exit(1);/退出程序/-将数组存取的信息输出到文件中去-for(i=0;iM;i+) if(i!=k)outfilenumi ;outfilesexi ;outfilenamei ;outfilephysic_scorei ;outfilemath_scorei ;outfileEnglish_scorei ;outfilec_scorei ;outfiletotal_scorei ;outfilexuefani ;outfile.close();N=N-1;cout已删除成功endl;void student:chance() /修改学生信息函数 int i,k;int numM; float physic_scoreM,math_scoreM,English_scoreM,c_scoreM ; float total_scoreM,xuefanM;ifstream infile(f1.txt,ios:in);if(!infile)cerropen errorendl;exit(1);for(i=0;iN;i+) coutnumi;coutsetw(5)sexi;coutsetw(5)namei;coutsetw(5)physic_scorei;coutsetw(5)math_scorei;coutsetw(5)English_scorei;coutsetw(5)c_scorei;coutsetw(5)xuefani;coutsetw(5)total_scorei;coutsetw(5)total_scoreiendl;infile.close();ofstream outfile(f1.txt,ios:out);if(!outfile)cerropen errorendl;exit(1);cout你想修改第几个数据k;k=k-1;cout请输入新的数据endl;cout请输入姓名:namek; cout请输入性别:sexk; cout请输入物理成绩:physic_scorek; cout请输入数学成绩:math_scorek; cout请输入英语成绩:English_scorek; cout请输入c+成绩:c_scorek; cout请输入学分:xuefank; cout请输入总成绩:total_scorek; for(i=0;iN;i+) outfilenumi ; outfilesexi ; outfilenamei ; outfilephysic_scorei ; outfilemath_scorei ; outfileEnglish_scorei ; outfilec_scorei ; outfilexuefani ; outfiletotal_scorei endl; outfile.close();cout已修改成功endl;void student:search()/学生信息查询函数 int i,j,w=0,num,ai;char ch;string searchname,name,sex,cM2;float physic_score,math_score,English_score,c_score ,total_score,xuefan,bM6;cout按学号查找 endl;ifstream infile(f1.txt,ios:in); if(!infile)cerropen errorendl;exit(1); for(i=0;inum;ai=num; infilesexi;ci0=sexi; infilenamei;ci1=namei; infilephysic_score;bi0=physic_score; infilemath_score;bi1=math_score; infileEnglish_score;bi2=English_score; infilec_score;bi3=c_score; infilexuefan;bi4=xuefan; infiletotal_score;bi5=total_score;cout请输入学号!n ; for(i=0;iN;i+) if(ai=n)w=1; cout; cout学号 endl; coutaiendl; cout姓名endl; coutci0endl; cout性别 endl; coutci1endl; cout物理成绩endl; coutbi0endl; cout数学成绩endl; coutbi1endl; cout英语成绩endl; coutbi2endl; coutc+成绩endl; coutbi3endl; cout学分endl; coutbi4endl; cout总成绩 endl; coutbi5endl; if(w=0)cout无此人信息endl;void student:display()/显示全部学生信息函数 int k, num;string name,sex;float physic_score,math_score,English_score, c_score ,total_score,xuefan;ifstream infile(f1.txt,ios:in); if(!infile)cerropen errorendl;exit(1); cout学号; coutsetw(8)姓名; coutsetw(8)性别; coutsetw(8)物理; coutsetw(8)数学; coutsetw(8)英语; coutsetw(8)c+; coutsetw(8)学分; coutsetw(8)总分endl;for(k=0;kN;k+)coutnum;coutname;coutsetw(8)sex;coutsetw(8)physic_score;coutsetw(8)math_score;coutsetw(8)English_score;coutsetw(8)c_score;coutsetw(8)xuefan;coutsetw(8)total_score;coutsetw(8)total_scoreendl;infile.close();void student:paixv() /学生学分排序函数 int i, num,ai;string searchname,name,sex,cM2;float physic_score,math_score,English_score,c_score ,total_score,xuefan,bM6;ifstream infile(f1.txt,ios:in);if(!infile)cerropen errorendl;exit(1);for(i=0;inum;ai=num; infilesexi;ci0=sexi; infilenamei;ci1=namei; infilephysic_score;bi0=physic_score; infilemath_score;bi1=math_score; infileEnglish_score;bi2=English_score; infilec_score;bi3=c_score; infilexuefan;bi4=xuefan; infiletotal_score;bi5=total_score;for(int i=0;iN;i+)for(int j=0;jbi+14)float n;n=bi4;bi4=bi+14;bi+14=n; cout学号; coutsetw(8)姓名; coutsetw(8)性别; coutsetw(8)物理; coutsetw(8)数学; coutsetw(8)英语; coutsetw(8)c+; coutsetw(8)学分; coutsetw(8)总分endl; cout; coutaN-i-1; coutsetw(8)cN-i-10; coutsetw(8)cN-i-11; coutsetw(8)bN-i-10; coutsetw(8)bN-i-11; coutsetw(8)bN-i-12; coutsetw(8)bN-i-13; coutsetw(8)bN-i-14; coutsetw(8)bN-i-15ch; while(ch!=0)system(cls);switch(ch) /开关选择 case1:stu.set();break;case2:stu.add();break;case3:stu.del();break;case4:stu.chance();break;case5:stu.search();break;case6:stu.display();break;case7:stu.paixv();break;case8:cout退出系统;break;default:cout没有此选项ch;voi

温馨提示

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

评论

0/150

提交评论