学生信息管理系统C++代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生信息管理系统C++代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
1.程序执行后的部分效果
1.1项目主菜单效果图
1.2初始化信息,第一次对信息的录入
1.3添加学生信息
1.4删除某学生信息
1.5修改某学生信息
1.6查询某学生信息
1.7显示全部学生信息
源代码:
/*把StudentData.cpp(源代码) 和 student.txt(数据存放处)放在同一个文件夹下*/
#include
#include
#include
#include
#include
using namespace std;
//最多提供50个学生的数据,可根据需要进行更改
const int MAX = 50;
int count = 0; //用来统计学生人数
class Student
{
public:
void Set(); //初始化信息,第一次对信息的录入
void Add(); //添加学生信息
//从磁盘读取数据以便进行数据的操作,方便再重写进磁盘
friend void Read(string no[],string name[],string sex[],string special[],string clas[]);
int Judge(string num); //判断 num 是否在学生信息数据库中(注意它有一个参数,并且有一个int型的返回值)
void Delete(); //删除某学生信息
void Change(); //修改某学生信息
void Search(); //查询某学生信息
void Display(); //显示全部学生信息private:
string m_no;
string m_name;
string m_sex; //m_ 指的是成员变量(member)
string m_special;
string m_clas;
};
void Student::Set()
{
string no, name, sex, special, clas;
ofstream outfile("student.txt"); //打开文件
if(!outfile)
{
cerr<<" open error"< exit(1); //退出程序 } cout<<"当学号输入为 0 时,停止输入!"< cout<<"请依次输入学生的学号,姓名,性别,专业,班级:"< for(int i=0; i { cout<<"第"< cin>>no; if(no == "0") break; //当输入的学号是0 时,停止录入 cin>>name>>sex>>special>>clas; count++; m_no = no; outfile< m_name = name; outfile< m_sex = sex; outfile< m_special = special; outfile< m_clas = clas; outfile< } outfile.close(); } //添加学生信息 void Student::Add() { string no, name, sex, special, clas; //以追加的方式录入信息,直接将信息追加到以前文件的末尾 ofstream outfile("student.txt",ios::app); if(!outfile) { cerr<<" open error"< exit(1); } count++; //添加一个学生信息,当然 count 要 +1 cout<<"请依次输入要添加的学生学号,姓名,性别,专业,班级:"< cin>>no>>name>>sex>>special>>clas; m_no = no; outfile< m_name = name; outfile< m_sex = sex; outfile< m_special = special; outfile< m_clas = clas; outfile< outfile.close(); cout<<"已添加成功!"< } //从磁盘读取数据 void Read(string no[],string name[],string sex[],string special[],string clas[]) { ifstream infile("student.txt",ios::in); if(!infile) { cerr<<" open error"< exit(1); } for(int i=0; i { infile>>no[i]>>name[i]>>sex[i]>>special[i]>>clas[i]; } infile.close(); } //判断某学号的学生是否在数据库中 int Student::Judge(string num) { string no[MAX], name[MAX], sex[MAX], special[MAX], clas[MAX]; Read(no, name, sex, special, clas); //调用Read()函数,获取数据,以便等下进行相关数据的判断 for(int i=0; i { if(num == no[i]) { return i; //如果存在,返回其下标 break; } } return -1; //否则,返回-1 } //删除某学生信息