文章目录
- 打开项目文件
- 完成题目
- initialize函数从文件info.txt中读入人员信息数据
- PrintAll
- SearchbyName
- Insert
- SendMessage
- 问题
- 为什么txt打开是乱码
打开项目文件
- 解压文件列表如下,每一个框是一组,.h后缀的文件是对应cpp文件的头文件,声明了相关的变量和函数,单独打开一个cpp文件没用,需要将整个文件作为一个项目打开。
-
使用dev打开上述文件,截图如下。
-
下述为dev的项目创建方式,打开dev创建一个project,并将之保存到原始文件的位置。
-
将五个源代码文件添加到对应文件中,右击project,选择add to project中,选中需要添加的五个文件,然后添加即可。
-
加入后可以在project看到五个文件,打开inoculationsys.cpp文件,然后点击编译运行,即可运行。
完成题目
initialize函数从文件info.txt中读入人员信息数据
- 要求大家从txt文件中读取结构体数据,这里给大家这了一些连接。
- fileoperation需要修改的部分,大家可以参考一下上面怎么写的。
- 将结构体保存在txt并读取的参考链接
PrintAll
- 负责将人员信息以一定格式输出。运行样例如下,这部分大家需要参考结构体的具体内容进行输出,
- 结构体的信息如下
SearchbyName
- 功能按姓名查询某个人的信息并显示,如果重名,则显示第一个查找到的人员信息,并返回其在数组中的下标。运行效果如下
- 这部分就是要会写搜索算法
Insert
-
负责向人员信息数组添加一个新的人员信息(25分)。具体要求如下(可以通过调用VacInfo InputInfo( )完成,也可以不调用)
-
这部分最重要的是要能够进行校验
- (1) 人名可以重复
- (2) 年龄验证位于在0~120之间,否则重新输入
- (3) 电话号码必须11位且随机生成(不是由键盘录入),其中前3位必须随机选择180,158,130中的一个,而后8位为随机数字。
- (4) 日期不做校验,默认所有月份为30天。
- (5) 可以两针皆未接种,没有接种的年月日均为0。
- (6) 可以仅接种第一针,而不接种第二针。
- (7) 如果已经接种第一针和第二针,那么第二针接种时间必须和第一针间隔24天,否则要求重新输入第二针时间。
-
运行结果如下,注意,校验不合格的需要重新输入
-
输入接种1针人员信息
-
输入接种2针人员信息,第一次录入的第二针时间间隔不到24天,重新输入第二针时间。
SendMessage
- 分别通知不同类型的人,要求:
- 通知未接种第一针的人员;
- 通知接种了第一针,且时间间隔距今天(必需设定为2022/1/3号)已经24天可以接种第二针的人员。
- 这部分就是能够检索出两类人员,分别在窗口进行输出,模拟通知即可
- 其中Delete和WriteFile函数是已经完成的。
问题
为什么txt打开是乱码
- 这里的数据是以结构体的方式进行保存的,所以需要使用结构的方式读取文件。