资源简介
完整的C++大作业,学生管理系统。包括文件记录查询,增加,删除,以及成绩的各种统计等。功能均反映在界面中。
代码片段和文件信息
#include
using std::cin;
using std::cout;
using std::cerr;
using std::endl;
using std::ios;
#include
using std::ofstream;
using std::ifstream;
using std::fstream;
#include
using std::string;
#include
using std::setw;
int enterChoice();
void searchGrade(string names[]string ID[]int Chinese[]int Math[]int Eng[]int row);
void changeGrade(string names[]string ID[]int Chinese[]int Math[]int Eng[]int row);
void deleteGrade(string names[]string ID[]int Chinese[]int Math[]int Eng[]int& row);
void addGrade(string names[]string ID[]int Chinese[]int Math[]int Eng[]int& row);
int getRow(ifstream& inp);
void getID(ifstream& inpstring names[]string ID[]int Chinese[]int Math[]int Eng[]);
void countGrade(string names[]string ID[]int Chinese[]int Math[]int Eng[]int row);
void saveResult(string names[]string ID[]int Chinese[]int Math[]int Eng[]int row);
int main()
{
ifstream infile(“gradeInfo.txt“);
if(!infile){
cerr<<“文件打开错误gradeInfo.txt不存在.“< exit (1);}
int row=getRow(infile);
infile.close();//确定目前的学生数为row
ifstream infile2(“gradeInfo.txt“);
//最多提供60个学生的成绩管理.根据目前合理的课程班人数确定.可根据需要进行更改.
string names[60]; //学生姓名
string ID[60]; //学生学号
int Chinese[60]; //语文成绩
int Math[60]; //数学成绩
int Eng[60]; //英语成绩
getID(infile2namesIDChineseMathEng);//从文件中读入学生资料.
infile2.close();
int part; //其值代表了用户所选模块.
//系统的主菜单.用户选择将要进行的操作.
while(part!=4){
cout<<“\n **欢迎进入学生信息管理系统**“< <<“------------------------------------“< <<“ 请选择您要进行的操作“< <<“ 1-学生成绩信息维护“< <<“ 2-学生成绩信息查询“< <<“ 3-学生成绩统计“< <<“ 4-退出系统“< <<“------------------------------------“< cin>>part;
if (part==1){
int choice; //用户在信息维护模块所选择的执行功能.
while((choice=enterChoice())!=4){
switch(choice){
case 1:
addGrade(namesIDChineseMathEngrow);
break;
case 2:
deleteGrade(namesIDChineseMathEngrow);
break;
case 3:
changeGrade(namesIDChineseMathEngrow);
break;
default:
cerr<<“您的选择不正确“< break;
}
}
}
if (part==2)
searchGrade(namesIDChineseMathEngrow);
if (part==3)
countGrade(namesIDChineseMathEngrow);
}
return 0;
}
//此函数用于获取当前系统中存储获的学生信息条数.
int getRow(ifstream& inp)
{
int row=0;
string anameID;
int mark;
inp>>a>>a>>a>>a>>a; //跳过第一行的目录结构.
while(inp){
inp>>name>>ID>>mark>>mark>>mark;
row++;
}
return row-1;
}
//此函数用于从文本文档中读取数据到内存以备用户在终端进行操作.
void getID(ifstream& inpstring names[]string ID[]int Chinese[]int Math[]int Eng[])
{
string a;
inp>>a>>a>>a>>a>>a; //跳过第一行的目录结构.
int i=0;
while(inp
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 202 2009-06-22 04:33 C++大作业\gradeInfo.txt
文件 8478 2009-06-22 05:09 C++大作业\课程设计大作业.cpp
文件 42496 2010-06-28 15:13 C++大作业\课程设计报告.doc
目录 0 2009-06-22 06:01 C++大作业
----------- --------- ---------- ----- ----
51176 4
- 上一篇:局部线性回归c++实现
- 下一篇:远程文件--select模式
相关资源
- 局部线性回归c++实现
- 朴素贝叶斯算法 c++
- C++全套21天视频教程
- 大恒相机动态库文件和头文件
- c++/MFC CSocket仿QQ聊天软件,实现1对1聊
- C++ QT SMTP 发送邮件(最新,成功的)
- 类C语言的脚本解析执行(使用C++语言
- 五子棋小游戏含注释
- c++服务器 拆包粘包 过程
- C++PCM音频格式录音双缓存MFC版本
- C++播放音频
- 步态识别C++实现
- C++排课系统
- CYK算法的C++实现
- VC++编写的音频播放器代码
- c++小球反弹运动
- 多边形耳切法三角化C++实现
- 服务端Node.js和VC++程序间通过SOCKET通信
- C++ 趣步辅助工具 一键刷步.zip
- 粒子群算法 C#版本 由C++改编
- minisql 用C++实现
- VC++School管理系统(学生、教师、在职
- MFC对EXCEL的操作:修改单元格格式,背
- C++ Serialport 串口通信类
- c++builder6.0做的mscomm串口通讯
- SIFT代码,C/C++
- VNC远程控制(附C++源码)115144
- 模拟ATM机存取款管理系统设计C++
- C++解数独的算法内含三种
- 实验二、GIS图形数据对象的组织一
评论
共有 条评论