优秀报纸版面:请大家来看一下我的c++程序有什么问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 04:19:55
程序如下:
//此程序用于输入日程表
#include <iostream>
#include <string> // 包含string类
#include <fstream> // 包含C++的输入输出流
using namespace std;
main()//开始main函数
{

string event;
string filename;
cout<<"请输入文件名和路径:";
cin>>filename;
ofstream outputfile(filename.c_str(),ios::app);
cout<<"文件已经成功打开"<<endl;
cout<<"请输入日程的具体内容(请输入英文):";
cin>>event;
getline(cin,event);
outputfile<<event<<"\n"<<endl;
return 0;
}

我的问题是这样的,程序运行时。我输入文字想储存在一个txt文档里
但是,但我输入,例如go to have lunch时。最后我查看文档时发现它
只保存了 to have lunch ,就是第一个英文会没有了,为什么啊?
有什么解决方法啊?
而且一定要用string类来储存变量。

//此程序用于输入日程表
#include <iostream>
#include <string> // 包含string类
#include <fstream> // 包含C++的输入输出流
using namespace std;
main()//开始main函数
{

string event;
string filename;
cout<<"请输入文件名和路径:";
cin>>filename;
ofstream outputfile(filename.c_str(),ios::app);
cout<<"文件已经成功打开"<<endl;
cout<<"请输入日程的具体内容(请输入英文):";
cin>>event;
outputfile << event;
getline(cin,event);
outputfile<<event<<"\n"<<endl;
return 0;
}
这样就好了,你原来的程序会把你输入的第一个字符串给去掉了,因为你这一句:cin>>event取得了event的值却没有写到文件中,而直接来了下一句:getline(cin,event);当然不行了.楼上的兄弟似乎有点欠考虑啊.

把cin>>event;去掉
改成getchar();

回答者:songma931 - 见习魔法师 二级 5-9 18:36
getline(cin,event);就是直接输入数。。。
你们偏要加个cin>>event;是什么意思呢。。。。
可以拿程序去运行一下。。。