实验内容与步骤
设计一个程序,对学生的学籍信息进行管理。通过该系统实现对学生基本信息的录入、保存、删除、修改、查询等操作。
设计要求及提示如下:
1、学生基本信息包括:学号、姓名、性别、年龄、班号、专业名称、系别等。
2、使用类和对象的概念实现程序设计。
3、以菜单形式显示各功能项。
4、各功能项如下:
(1)学生基本信息的录入。
(2)学生基本信息的删除。
(3)学生基本信息的修改。
(4)学生基本信息的查询。
(a)按学号查询单个学生信息;
(b)按姓名查询单个学生信息;
©按性别查询学生信息;
(d)按班号查询学生信息;
(5)学生基本信息的统计。
(a)按性别统计学生人数;
(b)按班号统计学生人数;
©按年龄统计学生人数;
(d)按系别统计学生人数;
(6)退出系统。
5、执行某个功能之后,程序将重新显示菜单供用户选择。
6、将学生学籍信息保存到文件中。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include<vector>
#include<fstream>
#include<ostream>
using namespace std;
struct Student
{
char name[20];//姓名
int age;//年龄
char sex[5];//性别
char number[20];//学号
char classnum[5];//班号
char zye[20];//专业
char xibie[20];//系别
};
class Student_system
{
public:
void insert(); //添加
void Del();//删除
void modifiy();//修改
void find();//查询
void find1();//学号查询
void find2();//姓名查询
void find3();//班号查询
void find4();//性别查询
void show();//显示信息
void statistics();//统计
void sta1();//性别统计
void sta2();//班号统计
void sta3();//年龄统计
void sta4();//系别统计
};
void Student_system::insert()
{
int n = 0;
int num;
cout << "请输入添加得人数:" << endl;
cin >> num;
do
{
Student stu;
cout << "请输入第" << n + 1 << "个学生的学号;";
cin >> stu.number;
cout << "请输入第" << n + 1 << "个学生的姓名:";
cin >> stu.name;
cout << "请输入第" << n + 1 << "个学生的性别:";
cin >> stu.sex;
cout << "请输入第" << n + 1 << "个学生的年龄:";
cin >> stu.age;
cout << "请输入第" << n + 1 << "个学生的班号:";
cin >> stu.classnum;
cout << "请输入第" << n + 1 << "个学生的专业:";
cin >> stu.zye;
cout << "请输入第" << n + 1 << "个学生的系别:";
cin >> stu.xibie;
n++;
fstream file("student.txt", ios::out | ios::binary | ios::app);
file.write((char*)&stu, sizeof(Student));
file.close();
} while (n < num);
cout << "添加完毕" << endl;
}
void Student_system::modifiy()
{
int item,age;
Student stu;
int flag = 0;
char str[20];
cout << "请输入需要查询得学生学号" << endl;
cin >> str;
fstream file("student.txt", ios::binary | ios::in);
while (file.peek() != EOF)
{
file.read((char*)&stu, sizeof(Student));
if (strcmp(stu.number, str) == 0)
{
flag = 1;
cout << "学生姓名 学生学号 学生年龄 学生性别 学生班号 学生专业 学生系别" << endl;
cout << stu.name << "\t" << stu.number << "\t" << stu.age << "\t"