c++新闻发布系统(支持登录注册),支持新闻发布标题和内容
首先查看效果,系统主界面 vx:sredxc
这段代码是一个简单的新闻管理系统的实现。它包括两个类:UserManager(用户管理)和NewsManager(新闻管理)。UserManager负责用户的注册和登录,而NewsManager负责新闻的发布和显示。
在UserManager中,用户信息保存在unordered_map中,可以将用户信息加载到内存中,支持用户的注册和登录功能。注册时会检查用户名是否已存在,如果不存在则将用户名和密码保存到文件中;登录时会检查用户名和密码是否匹配。
在NewsManager中,新闻信息以NewsItem对象的形式保存在vector中。可以添加新的新闻,并且支持显示新闻标题和内容。
在主函数main()中,通过不断循环来提供用户选择的操作,包括注册、登录、发布新闻、查看新闻和退出程序。根据用户的选择,调用相应的方法执行相应的操作。
用户可以支持账号注册,账号注册支持本地数据检测,判断账号是否有被注册过,登录也会校验账号和密码,只有登录成功以后再能进行新闻的发布和查看,新闻发布需要先发布新闻标题在发布新闻内容,查看新闻的时候需要根据新闻的标题来选择查看
部分贴图代码,需要的可以加我vx:sredxc
int main() {UserManager userManager;NewsManager newsManager;std::string username, password, newsTitle, newsContent;int choice;while (true) {std::cout << "选择操作:1 注册 2 登录 3 发布新闻 4 查看新闻 5 退出\n";std::cin >> choice;switch (choice) {case 1:std::cout << "输入用户名:";std::cin >> username;std::cout << "输入密码:";std::cin >> password;if (userManager.registerUser(username, password)) {std::cout << "注册成功\n";}else {std::cout << "注册失败,用户名可能已被使用\n";}break;case 2:std::cout << "输入用户名:";std::cin >> username;std::cout << "输入密码:";std::cin >> password;if (userManager.loginUser(username, password)) {std::cout << "登录成功\n";}else {std::cout << "登录失败,用户名或密码错误\n";}break;case 3:if (username.empty()) {std::cout << "请先登录\n";}else {std::cin.ignore(); // 清除缓冲区std::cout << "输入新闻标题:";std::getline(std::cin, newsTitle);std::cout << "输入新闻内容:";std::getline(std::cin, newsContent);newsManager.addNews(newsTitle, newsContent);std::cout << "新闻发布成功\n";}break;case 4:newsManager.displayNewsTitles();std::cout << "输入要查看的新闻编号:";size_t index;std::cin >> index;newsManager.displayNewsContent(index);break;case 5:std::cout << "退出程序\n";return 0;default:std::cout << "无效选择\n";break;}}return 0;
}