C++高校学籍管理系统.docx
- 文档编号:3055861
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:14
- 大小:17.97KB
C++高校学籍管理系统.docx
《C++高校学籍管理系统.docx》由会员分享,可在线阅读,更多相关《C++高校学籍管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
C++高校学籍管理系统
课题2:
高校学籍管理系统
(一)、课程设计题目:
高校学籍管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
(1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。
(2)能够将指定的信息从文件中删除。
(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。
(4)可以统计全部学生的总成绩,及其在班上的排名。
(5)能够统计各科的平均成绩及及格率。
(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。
(7)如果检索不到相应的信息应提示用户。
(8)扩展要求:
能先行设置本学期的科目
每个学生信息应该包括:
姓名、学号、成绩
成绩信息应该包括:
科目数量、各科目名称、各科目成绩
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)写出需求分析(做什么);
(2)分析系统中的各个实体之间的关系及其属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)用户界面的设计;
(7)分析系统功能模块(系统流程图);
(8)代码编写,功能调试;
(9)完成系统总结报告以及系统使用说明书。
#include
#include
usingnamespacestd;
intdi=0;
intnum=0;
classxinxi
{
public:
intnumber;
charname[20];
charsex[6];
charp[100][10];
floatfenshu[10];
floatshuliang;
floataverage;
floatsum;
floataver;
floatjigelv;
inti;
virtualvoidShow()//显示
{
cout<<"学生学号:
"< "< "< "< for(inti=0;i { cout< "< } cout<<"总成绩为: "< cout<<"平均成绩为: "< } voidBook(intn) { cout<<"学生学号: ";cin>>number; cout<<"学生姓名: ";cin>>name; cout<<"学生性别: ";cin>>sex; while (1) { if(strcmp(sex,"男")==0||strcmp(sex,"女")==0) { break; } else { cout<<"输入有误,请重新输入: "< cin>>sex; } } /*cout<<"请输入本学期科目数量: ";//通过数量确定课程 cin>>shuliang; for(i=0;i { cout<<"请输入科目"< cin>>p[i]; cout<<"请输入科目"< cin>>fenshu[i]; }*/ while (1)//通过课程确定数量 { chara; intb; for(i=0,b=0;;i++) { cout<<"请输入科目"< cin>>p[i]; cout<<"请输入科目"< cin>>fenshu[i]; b++; cout<<"是否继续输入(Y/N)"< cin>>a; if(a=='Y'||a=='y') continue; else { shuliang=b; break; } } break; } } /*virtualvoidSave(fstream&f)//保存到文件f中 { f< } virtualvoidLoad(fstream&f)//从文件f中导出数据 { f>>number>>name>>sex>>fenshu>>shuliang>>average>>sum; }*/ }; xinxid[100]; xinxiv[100]; //输入学生信息 voidBookIn() { while (1) { cout<<"*************************"< cout<<"*************************"< cout<<"请输入学生信息: "< d[di].Book(num++); di++; for(intj=0;j { floats=0; for(inti=0;i { s=s+d[j].fenshu[i]; } d[j].sum=s; d[j].average=d[j].sum/d[j].shuliang; } cout<<"是否继续输入: Y继续、其他退出"< charx; cin>>x; if(x! ='y'&&x! ='Y') break; } } //删除学生信息 voidBookOut() { inti; while (1) { intc; cout<<"*************************"< cout<<"*************************"< cout<<"请输入您要删除的学生学号: "< cin>>c; for(i=0;i if(c==d[i].number) { d[i]=d[--di]; cout<<"删除成功! "< } else { cout<<"输入错误! "< system("PAUSE"); } cout<<"是否继续删除: Y继续、其他退出"< charx; cin>>x; if(x! ='y'&&x! ='Y') break; } } //学生信息查询 voidInquiry() { while (1) { cout<<"*************************"< cout<<"*************************"< cout<<"1、按学号查询"< cout<<"2、按姓名查询"< cout<<"请输入您的选择: "< intc; inttest; cin>>c; if(c==1) { cout<<"请选择要查询学号: "; inta; cin>>a; for(inti=0;i { if(a==d[i].number) { test=1; break; } else test=0; } if(test==0) { cout<<"没有这个学生! "< system("PAUSE"); } elseif(test==1) { d[i].Show(); } } elseif(c==2) { charc[10]; cout<<"请选择要查询的姓名: "; cin>>c; for(inti=0;i { if(strcmp(c,d[i].name)==0) { test=1; break; } else test=0; } if(test==0) { cout<<"没有这个学生! "< system("PAUSE"); } elseif(test==1) { d[i].Show(); } } else { cout<<"输入错误! "< system("PAUSE"); } cout<<"是否继续查询: Y继续、其他退出"< charx; cin>>x; if(x! ='y'&&x! ='Y') break; } } //显示学籍信息 voidDisplay() { for(inti=0;i { d[i].Show(); cout<<"\n"< } } voidPaixu() { inti,k; inttempsum; chartempname[10]; for(i=0;i { strcpy(v[i].name,d[i].name); v[i].sum=d[i].sum; } for(i=0;i { for(k=i+1;k { if(v[i].sum { strcpy(tempname,v[i].name); strcpy(v[i].name,v[k].name); strcpy
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 高校 学籍 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)