C++学生信息管理系统(含文件流)

设计一个C++程序,使用类和对象管理学生的基本信息,包括录入、删除、修改和查询功能。系统以菜单形式交互,支持按不同条件查询和统计学生数据,并能将信息保存至文件。在文件操作中,强调了先读取数据到内存再操作的原则,以及文件流的使用规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计一个程序,对学生的学籍信息进行管理。通过该系统实现对学生基本信息的录入、保存、删除、修改、查询等操作。

设计要求及提示如下:

1、学生基本信息包括:学号、姓名、性别、年龄、班号、专业名称、系别等。

2、使用类和对象的概念实现程序设计。

3、以菜单形式显示各功能项。

4、各功能项如下:

(1)学生基本信息的录入。

(2)学生基本信息的删除。

(3)学生基本信息的修改。

(4)学生基本信息的查询。

(b)按学号查询单个学生信息;

(b)按姓名查询单个学生信息;

(c)按性别查询学生信息;

(d)按班号查询学生信息;

(5)学生基本信息的统计。

(a)按性别统计学生人数;

(b)按班号统计学生人数;

(c)按年龄统计学生人数;

(d)按系别统计学生人数;

(6)退出系统。

5、执行某个功能之后,程序将重新显示菜单供用户选择。

6、将学生学籍信息保存到文件中。

读取文件内容一般使用getchar读取一个字母和getline读取一行字符串
eof()函数的判断文件指针是否在最后,故配合eof()可以进行对文件行数的统计等

切记勿直接对文件处理,而是把文件的数据先存储到计算机中,再对计算机内的容器进行操作。

例如:在学生信息管理系统中需要定义个student的类,我们就可以定义一个vector<student>的数组存储它;while循环中每次getline一个字符串string后,对字符串进行遍历,巧妙对空格进行判断,让对应的子串赋值给对应的数据,记的留类变量的接口。

 

在对学生信息进行操作管理,添加,new一个student,最后push_back;

 

删除,先找到要删除的学生,从这个删除的学生开始,让前一名学生等于后一名学生,最后resize让数组的长度减1;

 

修改,先找到要修改的学生,直接对学生信息进行修改,若修改的函数为为友元函数,需要定义SetValie()和GetValue()的接口

个人查询:直接匹配关键词key就行

统计:利用map<string,int>统计可以,种类就等于map对应的size(),分别输出的话直接for遍历即可

心得

文件流

C++标准库头文件—#include<fstream>,包含:ofstream,ifstream,fstream

open打开文件,close关闭文件

主要注意的是同个文件可同时被打开多次,但是不可以在同个作用域内同时进行IO处理,所以在函数内打开文件并对它处理的时候,记得在最后关闭文件。

ios::in 从文件读取信息

ios::out 向文件写入信息

ios::app 所有写入都追加到文件末尾

ios::trunc 清空文件后打开文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值