系统需求
本教程主要利用C++来实现一个学生信息管理系统
系统中需要实现的功能如下:
1.添加学生信息:向通讯录中添加新人,信息包括(姓名、学号、性别、年龄、分数)最多记录10000人
2.删除学生信息:按照学号删除学生信息
3.修改学生信息:按照学号修改学生信息4.查询学生信息:按照学号查询学生信息
5.显示学生信息:显示所有的学生信息,信息包括(姓名、学号、性别、年龄、分数)
6.退出信息管理系统:退出当前使用的学生信息管理系统
#include<iostream>
#include<string>
using namespace std;
#define MAX 10000
//设计学生结构体
struct Student {
string S_name;
int S_no;
int S_sex;
int S_Age;
int S_score;
};
//设计学生信息结构体
struct StudentBooks {
struct Student a[MAX];
int S_size;
};
//1.添加学生信息
void AddStudent(StudentBooks*s1) {
//判断学生系统人数是否已满
if (s1->S_size > MAX) {
cout << "学生系统人数已满,无法添加" << endl;
}
else {
//添加学生信息
//姓名
string name;
cout << "请输入学生姓名: " << endl;
cin >> name;
s1->a[s1->S_size].S_name = name;
//学号
int no;
cout << "请输入学生学号: " << endl;
cin >> no;
s1->a[s1->S_size].S_no = no;
//性别
cout << "请输入性别:" << endl;
cout << "1-------->男" << endl;
cout << "2-------->女" << endl;
int sex = 0;
while (1) {
cin >> sex;
if (sex == 1 || sex == 2) {
s1->a[s1->S_size].S_sex= sex;
break;
}
else {
cout << "输入有误,请重新输入" << endl;
}
}
//年龄
int age;
cout << "请输入学生年龄:" << endl;
cin >> age;
s1->a[s1->S_size].S_Age = age;
//分数
int score;
cout << "请输入学生总分数:" << endl;
cin >> score;
s1->a[s1->S_size].S_score = score;
s1->S_size++;
cout << "添加成功" << endl;
system("pause");//输入任意键继续
system("cls"); //清屏
}
}
//检测学生是否存在
int isExist(StudentBooks*s1, int no) {
for (int i = 0; i < s1->S_size; i++) {
//找到用户
if (s1->a[i].S_no == no) {
return i;
}
}
return -1;
system("pause");//输入任意键继续
system("cls"); //清屏
}
//2.删除学生信息
void deleteStudent(StudentBooks* s1) {
cout << "请输入您要删除的学生学号:" << endl;
int no;
cin >> no;
int ret = isExist(s1, no);
if (ret != -1) {
//删除操作
for (int i = 0; i < s1->S_size; i++) {
//前移操作
s1->a[i] = s1->a[i + 1];
}
//更新通讯录的人数
s1->S_size--;
cout << "删除成功" << endl;
}
else {
cout << "没有查询结果" << endl;
}
system("pause");//输入任意键继续
system("cls"); //清屏
}
//3.修改学生信息
void modifyStudent(StudentBooks* s1) {
cout << "请输入您要修改的学生信息" << endl;
int no;
cin >> no;
int ret = isExist(s1, no);
if (ret != -1) {
//添加学生信息
//姓名
string name;
cout << "请输入学生姓名: " << endl;
cin >> name;
s1->a[s1->S_size].S_name = name;
//学号
int no;
cout << "请输入学生学号: " << endl;
cin >> no;
s1->a[s1->S_size].S_no = no;
//性别
cout << "请输入性别:" << endl;
cout << "1-------->男" << endl;
cout << "2-------->女" << endl;
int sex = 0;
while (1) {
cin >> sex;
if (sex == 1 || sex == 2) {
s1->a[s1->S_size].S_sex = sex;
break;
}
else {
cout << "输入有误,请重新输入" << endl;
}
}
//年龄
int age;
cout << "请输入学生年龄:" << endl;
cin >> age;
s1->a[s1->S_size].S_Age = age;
//分数
int score;
cout << "请输入学生总分数:" << endl;
cin >> score;
s1->a[s1->S_size].S_score = score;
cout << "修改成功" << endl;
}
else {
cout << "查无此人" << endl;
}
system("pause");//输入任意键继续
system("cls"); //清屏
}
//4.查询学生信息
void findStudent(StudentBooks* s1) {
cout << "请输入您要查找的学生学号" << endl;
int no;
cin >> no;
int ret = isExist(s1,no);
if (ret != -1) {
cout << "姓名: " << s1->a[ret].S_name << "\t" ;
cout << "学号: " << s1->a[ret].S_no << "\t" ;
cout << "性别: " << s1->a[ret].S_sex << "\t" ;
cout << "年龄: " << s1->a[ret].S_Age << "\t" ;
cout << "分数: " << s1->a[ret].S_score << "\t" << endl;
}
else {
cout << "查无此人" << endl;
}
system("pause");//输入任意键继续
system("cls"); //清屏
}
//5.显示学生信息
void showStudent(StudentBooks* s1) {
//判断学生系统是否为空
if (s1->S_size == 0) {
cout << "当前学生系统为空" << endl;
}
//不空,则显示所有学生信息
else {
for (int i = 0; i < s1->S_size; i++) {
cout << "姓名: " << s1->a[i].S_name << "\t" ;
cout << "学号: " << s1->a[i].S_no << "\t" ;
cout << "性别: " << s1->a[i].S_sex << "\t" ;
cout << "年龄: " << s1->a[i].S_Age << "\t" ;
cout << "分数: " << s1->a[i].S_score << "\t" << endl;
}
}
}
void showMenu() {
cout << "***********1.添加学生信息***********" << endl;
cout << "***********2.删除学生信息***********" << endl;
cout << "***********3.修改学生信息***********" << endl;
cout << "***********4.查询学生信息***********" << endl;
cout << "***********5.显示学生信息***********" << endl;
cout << "***********6.退出信息系统***********" << endl;
}
int main() {
StudentBooks s1;
s1.S_size = 0;
int select = 0;
while (1) {
showMenu();
cout << "请输入选项:" << endl;
cin >> select;
switch (select) {
//1.添加学生信息
case 1:AddStudent(&s1);
break;
//2.删除学生信息
case 2:deleteStudent(&s1);
break;
//3.修改学生信息
case 3:modifyStudent(&s1);
break;
//4.查询学生信息
case 4:findStudent(&s1);
break;
//5.显示学生信息
case 5:showStudent(&s1);
break;
//6.退出信息系统
case 6:
cout << "本次管理信息结束,再见!" << endl;
system("pause");
return 0;
break;
default:
break;
}
}
}