(12)高校信息查询系统“基本要求:+ 以高校为基本单位进行信息存放,高校信息包括:编号、学校名称、地址、省份、建校时间等。+功能要求:+ 1》能够对高校信息进行维护:新建、修改、删除操作;“ 2)按照高校任意信息进行查询,“ 3)以文件形式保存相关信息,可以读取默认文件中的信息进行查询等操作。C++实现

时间: 2024-02-03 07:04:31 浏览: 21
以下是一个简单的C++实现,实现了高校信息的存储、增删改查和文件读写功能。具体实现可根据需求进行修改和完善。 ``` #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; // 高校信息结构体 struct School { int id; // 编号 string name; // 学校名称 string address; // 地址 string province;// 省份 int year; // 建校时间 // 构造函数 School(int _id, string _name, string _address, string _province, int _year) { id = _id; name = _name; address = _address; province = _province; year = _year; } }; // 保存高校信息至文件 void saveToFile(vector<School>& schools) { ofstream outfile("schools.txt"); for (auto school : schools) { outfile << school.id << " " << school.name << " " << school.address << " " << school.province << " " << school.year << endl; } outfile.close(); } // 从文件中读取高校信息 vector<School> readFromFile() { vector<School> schools; ifstream infile("schools.txt"); int id, year; string name, address, province; while (infile >> id >> name >> address >> province >> year) { schools.push_back(School(id, name, address, province, year)); } infile.close(); return schools; } // 添加高校信息 void addSchool(vector<School>& schools) { int id, year; string name, address, province; cout << "请输入高校编号: "; cin >> id; cout << "请输入高校名称: "; cin >> name; cout << "请输入高校地址: "; cin >> address; cout << "请输入高校所在省份: "; cin >> province; cout << "请输入高校建校时间: "; cin >> year; schools.push_back(School(id, name, address, province, year)); cout << "添加成功!" << endl; } // 修改高校信息 void updateSchool(vector<School>& schools) { int id, year; string name, address, province; cout << "请输入待修改高校编号: "; cin >> id; for (auto& school : schools) { if (school.id == id) { cout << "请输入高校名称: "; cin >> name; cout << "请输入高校地址: "; cin >> address; cout << "请输入高校所在省份: "; cin >> province; cout << "请输入高校建校时间: "; cin >> year; school.name = name; school.address = address; school.province = province; school.year = year; cout << "修改成功!" << endl; return; } } cout << "未找到该高校信息!" << endl; } // 删除高校信息 void deleteSchool(vector<School>& schools) { int id; cout << "请输入待删除高校编号: "; cin >> id; for (auto it = schools.begin(); it != schools.end(); ++it) { if (it->id == id) { schools.erase(it); cout << "删除成功!" << endl; return; } } cout << "未找到该高校信息!" << endl; } // 按照编号查询高校信息 void queryById(vector<School>& schools) { int id; cout << "请输入待查询高校编号: "; cin >> id; for (auto school : schools) { if (school.id == id) { cout << "编号: " << school.id << endl; cout << "名称: " << school.name << endl; cout << "地址: " << school.address << endl; cout << "省份: " << school.province << endl; cout << "建校时间: " << school.year << endl; return; } } cout << "未找到该高校信息!" << endl; } // 按照名称查询高校信息 void queryByName(vector<School>& schools) { string name; cout << "请输入待查询高校名称: "; cin >> name; for (auto school : schools) { if (school.name == name) { cout << "编号: " << school.id << endl; cout << "名称: " << school.name << endl; cout << "地址: " << school.address << endl; cout << "省份: " << school.province << endl; cout << "建校时间: " << school.year << endl; return; } } cout << "未找到该高校信息!" << endl; } // 按照地址查询高校信息 void queryByAddress(vector<School>& schools) { string address; cout << "请输入待查询高校地址: "; cin >> address; for (auto school : schools) { if (school.address == address) { cout << "编号: " << school.id << endl; cout << "名称: " << school.name << endl; cout << "地址: " << school.address << endl; cout << "省份: " << school.province << endl; cout << "建校时间: " << school.year << endl; return; } } cout << "未找到该高校信息!" << endl; } // 按照省份查询高校信息 void queryByProvince(vector<School>& schools) { string province; cout << "请输入待查询高校省份: "; cin >> province; for (auto school : schools) { if (school.province == province) { cout << "编号: " << school.id << endl; cout << "名称: " << school.name << endl; cout << "地址: " << school.address << endl; cout << "省份: " << school.province << endl; cout << "建校时间: " << school.year << endl; } } cout << "未找到该省份的高校信息!" << endl; } int main() { vector<School> schools = readFromFile(); int choice; while (true) { cout << "请选择操作:\n"; cout << "1.添加高校信息\n"; cout << "2.修改高校信息\n"; cout << "3.删除高校信息\n"; cout << "4.按照编号查询高校信息\n"; cout << "5.按照名称查询高校信息\n"; cout << "6.按照地址查询高校信息\n"; cout << "7.按照省份查询高校信息\n"; cout << "0.退出程序\n"; cin >> choice; switch (choice) { case 1: addSchool(schools); saveToFile(schools); break; case 2: updateSchool(schools); saveToFile(schools); break; case 3: deleteSchool(schools); saveToFile(schools); break; case 4: queryById(schools); break; case 5: queryByName(schools); break; case 6: queryByAddress(schools); break; case 7: queryByProvince(schools); break; case 0: return 0; default: cout << "输入无效,请重新输入!" << endl; break; } } return 0; } ```

相关推荐

最新推荐

recommend-type

高校奖学金评定系统数据库系统设计

学生信息的管理:包括对学生信息的查询,修改,删除等更新。 课程信息的管理:对学生选修课程信息的查询,修改和删除等更新。 成绩信息的管理:对学生成绩信息的查询,修改和删除等更新。 统计分析:对成绩的分类...
recommend-type

高校学生信息管理系统ppt文档

高校学生信息管理系统高校学生信息管理系统ppt文档,ppt文档,高校学生信息管理系统ppt文档
recommend-type

实验室信息管理系统用户需求说明书.doc

本文档用于需求阶段的用户需求分析,它是软件生命周期中最上游的文档,是后续设计、测试、...用户需求分析的范围包括:系统边界范围、系统应当遵循的标准或规范、系统功能性需求、非功能性需求、限制性需求等多个方面。
recommend-type

高校成绩管理系统信息检索论文

成绩管理系统的设计 辽宁工业大学电信学院计算机系 辽宁葫芦岛(125100) E-mail:755369419@qq.com 摘要:随着计算机技术的发展, 特别是计算机网络技术的普及, 为学生成绩管理工作现代化提供了重要的手段。本文...
recommend-type

高校学报信息管理系统的设计与应用

高校学报信息管理系统的设计与应用 项目背景 关键技术及主要路线: 计算机管理信息系统的重要功能 项目的研究价值: 论文的主要工作 系统总体分析 ......
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用

![MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用](https://img-blog.csdnimg.cn/2020050917173284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2thbmdqaWVsZWFybmluZw==,size_16,color_FFFFFF,t_70) # 1. MATLAB取整函数概述** MATLAB取整函数是一组强大的工具,用于对数值进行
recommend-type

我想做python的算法工程师,我应该学什么?学习的顺序是什么?网上有什么推荐的免费课程吗?回答具体精确一点不要太笼统

对于想要成为 Python 算法工程师的人来说,他们应该先从掌握 Python 的基础语法开始,然后学习数据结构和算法,并且要深入了解 Python 中的一些科学计算和数据处理库,比如 NumPy、Pandas 等。 学习的顺序可以是先学习基础语法和编程技巧,然后再学习数据结构和算法相关的知识,最后深入了解数据处理和科学计算相关的库。 对于免费课程的推荐,我建议你可以先去 Coursera、edX、Udacity 等网站上寻找相关课程,这些网站上有很多优质的 Python 编程和算法课程,你可以根据自己的需求和学习进度进行选择。此外,还可以考虑一些在线编程网站,如 HackerRank、L
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。