写一个c++简易日记薄,要求可以写日记,通过日期查找日记
时间: 2023-08-04 20:29:14 浏览: 119
好的,我来为您提供一个简单的C++日记本程序:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <ctime>
using namespace std;
// 声明函数
void writeDiary();
void searchDiary();
int main()
{
int choice;
// 显示菜单
cout << "欢迎使用日记本程序!" << endl;
cout << "1. 写日记" << endl;
cout << "2. 查找日记" << endl;
cout << "请选择:";
cin >> choice;
switch (choice) {
case 1:
writeDiary();
break;
case 2:
searchDiary();
break;
default:
cout << "输入无效!" << endl;
break;
}
return 0;
}
// 写日记
void writeDiary()
{
string date, content;
// 获取当前日期
time_t t = time(0);
char tmp[64];
strftime(tmp, sizeof(tmp), "%Y/%m/%d", localtime(&t));
date = string(tmp);
// 输入日记内容
cout << "请输入今天的日记内容:" << endl;
getline(cin, content);
// 将日记写入文件
ofstream out("diary.txt", ios::app);
out << date << endl;
out << content << endl << endl;
out.close();
cout << "日记已保存!" << endl;
}
// 查找日记
void searchDiary()
{
string date, line;
bool found = false;
// 输入日期
cout << "请输入要查找的日期(格式:YYYY/MM/DD):" << endl;
cin >> date;
// 读取文件
ifstream in("diary.txt");
while (getline(in, line)) {
if (line == date) {
found = true;
cout << endl << line << endl;
getline(in, line);
cout << line << endl << endl;
}
}
in.close();
// 显示查找结果
if (!found) {
cout << "没有找到相关日记!" << endl;
}
}
```
这个程序会先显示一个菜单,让用户选择是写日记还是查找日记。如果选择写日记,程序会获取当前日期,然后让用户输入今天的日记内容,最后将日记写入到 `diary.txt` 文件中。如果选择查找日记,程序会让用户输入要查找的日期,然后读取 `diary.txt` 文件,查找日期匹配的日记并输出到屏幕上。
请注意,本程序比较简单,没有做太多的输入检查和错误处理。如果需要更完善的功能,可以根据实际需要进行扩展。
阅读全文