//====================================================
//使用一个字符串制作的《学生成绩管理系统》
//====================================================
#include <windows.h>
#include <iostream>
#include <conio.h>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;
//----------------------------class score begin------------------------------
//基类:成绩管理
class score
{
protected:
int m0,m1,m2,m3,m4;//=学号-姓名-成绩-中的4个位置,m0为模糊查询时的关键字位置
int pos;//查询过程中变化的位置
int mm;//分数查询时"下限-上限"中"-"的位置
int n_low,n_high;//分数上下限,数
int n_score;//每个记录中的分数,数
int max,min;//最高最低分
int count;//符合条件的人数
float total;//总分
string s;//主串,数据库
string s_num;//查询条件串
string s1,s2,s3,s4;//学号,姓名,成绩,学号-姓名-成绩
string s_low,s_high;//分数上下限,串
string s_score;//每个记录中的分数,串
public:
score()
{
ifstream file1("score.dat",ios::in);
file1>>s;
// s="=1101-刘东明-34=1102-孟凡超-48=1103-刘方惠-78=1104-张海亮-88=1105-王宜-98";
file1.close();
}
~score()
{
ofstream file2("score.dat",ios::out);
file2<<s;
file2.close();
cout<<"over!"<<endl;//测试用
// s="=1101-刘东明-34=1102-孟凡超-48=1103-刘方惠-78=1104-张海亮-88=1105-王宜-98";
}
string num2str(int i);//数字转字符串
int str2num(string str);//字符串转数字
void input();//输入记录
void append();//追加记录
void view();//浏览记录
void edit();//修改记录,条件为学号
void del();//删除记录,条件为学号
void find();//查询统计
void average();//平均分
void max_min();//最高最低分
};
string score::num2str(int i)//数字转字符串
{
stringstream ss;
ss<<i;
return ss.str();
}
int score::str2num(string str)//字符串转数字
{
int num;
stringstream ss(str);
ss>>num;
return num;
}
void score::input()//输入记录
{
s="";//清0,重新输入
while(1)
{
cout<<"请输入学号(4位数字,0-结束):";
cin>>s1;
if(s1=="0") break;
cout<<"请输入姓名(0-结束)";
cin>>s2;
if(s2=="0") break;
cout<<"请输入成绩(0-结束):";
cin>>s3;
if(s3=="0") break;
s=s+"="+s1+"-"+s2+"-"+s3;
}
cout<<endl;
}
void score::append()//追加记录
{
while(1)
{
cout<<"请输入学号(4位数字,0-结束):";
cin>>s1;
if(s1=="0") break;
cout<<"请输入姓名(0-结束)";
cin>>s2;
if(s2=="0") break;
cout<<"请输入成绩(0-结束):";
cin>>s3;
if(s3=="0") break;
s=s+"="+s1+"-"+s2+"-"+s3;
}
cout<<endl;
}
void score::view()//浏览记录
{
pos=0;
while(s.find("=",pos)!=string::npos&&pos<s.size()-1)
{
m1=s.find("=",pos);
m2=s.find("-",m1+1);
m3
使用一个字符串制作的《学生成绩管理系统》
最新推荐文章于 2022-07-21 09:32:09 发布
本文介绍了一种独特的方法,通过字符串操作来构建一个简单的学生成绩管理系统。该系统能够进行成绩录入、查询和统计,展示了字符串处理在编程中的应用。
摘要由CSDN通过智能技术生成