帮我用vs2010写一段留言版的代码
时间: 2024-03-07 15:50:04 浏览: 26
好的,以下是一个简单的留言板程序代码,你可以在VS2010中创建一个控制台应用程序,将代码复制粘贴到main函数中,然后编译运行即可。
```c++
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
struct Message {
string username;
string content;
};
int main() {
vector<Message> messages; // 存储留言的 vector
string command; // 用户输入的命令
string username; // 用户名
string content; // 留言内容
while(true) {
// 打印命令提示符
cout << "cmd> ";
getline(cin, command); // 获取用户输入的命令
if(command == "exit") { // 如果用户输入 exit 命令,则退出程序
break;
} else if(command == "list") { // 如果用户输入 list 命令,则列出所有留言
if(messages.empty()) { // 如果留言为空,则提示用户
cout << "No messages." << endl;
} else {
for(int i = 0; i < messages.size(); i++) {
cout << messages[i].username << ": " << messages[i].content << endl;
}
}
} else if(command == "add") { // 如果用户输入 add 命令,则添加一条留言
cout << "Enter your name: ";
getline(cin, username);
cout << "Enter your message: ";
getline(cin, content);
messages.push_back({username, content}); // 在 vector 中添加一条留言
cout << "Message added." << endl;
} else if(command == "save") { // 如果用户输入 save 命令,则将留言保存到文件
cout << "Enter filename: ";
string filename;
getline(cin, filename);
ofstream outfile(filename); // 打开文件
if(outfile.is_open()) { // 如果文件打开成功,则将留言写入文件
for(int i = 0; i < messages.size(); i++) {
outfile << messages[i].username << ": " << messages[i].content << endl;
}
outfile.close(); // 关闭文件
cout << "Messages saved to file." << endl;
} else { // 如果文件打开失败,则提示用户
cout << "Unable to open file." << endl;
}
} else if(command == "load") { // 如果用户输入 load 命令,则从文件中加载留言
cout << "Enter filename: ";
string filename;
getline(cin, filename);
ifstream infile(filename); // 打开文件
if(infile.is_open()) { // 如果文件打开成功,则读取文件中的留言
string line;
while(getline(infile, line)) {
int pos = line.find(": "); // 查找冒号位置
if(pos != string::npos) { // 如果冒号存在,则将留言添加到 vector 中
string name = line.substr(0, pos); // 获取用户名
string content = line.substr(pos + 2); // 获取留言内容
messages.push_back({name, content});
}
}
infile.close(); // 关闭文件
cout << "Messages loaded from file." << endl;
} else { // 如果文件打开失败,则提示用户
cout << "Unable to open file." << endl;
}
} else { // 如果用户输入了未知命令,则提示用户
cout << "Unknown command." << endl;
}
}
return 0;
}
```
这个留言板程序支持以下命令:
- `list`:列出所有留言
- `add`:添加一条留言
- `save`:将留言保存到文件
- `load`:从文件中加载留言
- `exit`:退出程序
你可以根据自己的需求修改代码。