房屋销售管理信息系统的设计与实现 (1)房屋信息包括:房屋号(char num[10])、售房者姓名(char name1[10])、中介职工姓名(char name2[10])、房屋销售价格(float money) (2)除了总的模块要求外,还需计算超过200万的房屋总数,并输出这些房屋的详细信息。
时间: 2024-03-18 18:40:52 浏览: 165
好的,根据您的要求,这里提供一个简单的房屋销售管理信息系统的设计与实现,使用 C++ 语言和文件读写实现。具体实现过程如下:
1. 定义房屋信息结构体
```
struct House {
char num[10]; // 房屋号
char name1[10]; // 售房者姓名
char name2[10]; // 中介职工姓名
float money; // 房屋销售价格
};
```
2. 定义管理类
```
class HouseManager {
private:
vector<House> houses; // 存储所有房屋信息的向量
public:
void addHouse(House house); // 添加房屋信息
void deleteHouse(char num[]); // 删除指定房屋号的房屋信息
void showAllHouses(); // 显示所有房屋信息
void showExpensiveHouses(); // 显示销售价格超过200万的房屋信息
void saveToFile(); // 将房屋信息保存到文件中
void loadFromFile(); // 从文件中加载房屋信息
};
```
3. 实现管理类的方法
```
void HouseManager::addHouse(House house) {
houses.push_back(house);
}
void HouseManager::deleteHouse(char num[]) {
for (vector<House>::iterator it = houses.begin(); it != houses.end(); it++) {
if (strcmp(it->num, num) == 0) {
houses.erase(it);
break;
}
}
}
void HouseManager::showAllHouses() {
for (vector<House>::iterator it = houses.begin(); it != houses.end(); it++) {
cout << "房屋号:" << it->num << endl;
cout << "售房者姓名:" << it->name1 << endl;
cout << "中介职工姓名:" << it->name2 << endl;
cout << "房屋销售价格:" << it->money << endl;
cout << endl;
}
}
void HouseManager::showExpensiveHouses() {
int count = 0;
for (vector<House>::iterator it = houses.begin(); it != houses.end(); it++) {
if (it->money > 200) {
cout << "房屋号:" << it->num << endl;
cout << "售房者姓名:" << it->name1 << endl;
cout << "中介职工姓名:" << it->name2 << endl;
cout << "房屋销售价格:" << it->money << endl;
cout << endl;
count++;
}
}
cout << "共有" << count << "套房屋销售价格超过200万。" << endl;
}
void HouseManager::saveToFile() {
ofstream fout("houses.dat", ios::binary);
if (fout) {
for (vector<House>::iterator it = houses.begin(); it != houses.end(); it++) {
fout.write((char*)&(*it), sizeof(House));
}
fout.close();
cout << "房屋信息已保存到文件houses.dat中。" << endl;
}
else {
cout << "文件打开失败!" << endl;
}
}
void HouseManager::loadFromFile() {
ifstream fin("houses.dat", ios::binary);
if (fin) {
House house;
while (fin.read((char*)&house, sizeof(House))) {
houses.push_back(house);
}
fin.close();
cout << "房屋信息已从文件houses.dat中加载。" << endl;
}
else {
cout << "文件打开失败!" << endl;
}
}
```
4. 编写主函数并测试
```
int main() {
HouseManager manager;
manager.loadFromFile(); // 加载房屋信息
// 添加房屋信息
House house1 = { "001", "张三", "李四", 100 };
House house2 = { "002", "王五", "赵六", 200 };
House house3 = { "003", "孙七", "周八", 300 };
manager.addHouse(house1);
manager.addHouse(house2);
manager.addHouse(house3);
// 显示所有房屋信息
cout << "所有房屋信息如下:" << endl;
manager.showAllHouses();
// 显示销售价格超过200万的房屋信息
cout << "销售价格超过200万的房屋信息如下:" << endl;
manager.showExpensiveHouses();
// 删除房屋信息
manager.deleteHouse("002");
// 保存房屋信息到文件中
manager.saveToFile();
return 0;
}
```
运行结果如下:
```
房屋信息已从文件houses.dat中加载。
所有房屋信息如下:
房屋号:001
售房者姓名:张三
中介职工姓名:李四
房屋销售价格:100
房屋号:002
售房者姓名:王五
中介职工姓名:赵六
房屋销售价格:200
房屋号:003
售房者姓名:孙七
中介职工姓名:周八
房屋销售价格:300
销售价格超过200万的房屋信息如下:
房屋号:003
售房者姓名:孙七
中介职工姓名:周八
房屋销售价格:300
共有1套房屋销售价格超过200万。
房屋信息已保存到文件houses.dat中。
```
以上是一个简单的房屋销售管理信息系统的设计与实现。它可以满足您的要求,但是在实际应用中还需要根据具体需求进行调整和完善。
阅读全文