我用c++语言来做文件操作,例如写入和读出的操作,但是当输入完数据之后,就进入死循环了,请各位高手帮忙

#include"stdafx.h"#include<fstream.h>#include"iostream.h"#include"stdlib.h"voidenter(... #include "stdafx.h"
#include<fstream.h>
#include"iostream.h"
#include"stdlib.h"

void enter(char *filename)
{
char name[30],flag='y';
int number,score;
ofstream outstuf;
outstuf.open(filename,ios::out);
if(!outstuf)
{cerr<<"file could not be open"<<endl;
abort();
}
outstuf<<"this is a file of students\n";
cout<<"请输入: number ,name ,an score: (enter Ctrl+z to end intput)\n";
while (cin>>number>>name>>score)
{
outstuf<<number<<'\t'<<name<<'\t'<<score<<'\n';
}
outstuf.close();
}

void display(char*filename)
{
char name[30];
int number,score;
ifstream instuf(filename,ios::in);
if(!instuf)
{cerr<<"file could not be open"<<endl;
abort();
}
char s[80];
instuf.getline(s,80);
while(instuf>>number>>name>>score)
{cout<<number<<'\t'<<name<<'\t'<<score<<'\n';
}
instuf.close();

}

void interfaced(void)
{
cout<<"文件复习:\n";
cout<<"=======================================\n";
cout<<" 输入纪录-----------------0\n";
cout<<" 查询纪录-----------------1\n";
cout<<" 退出---------------------2\n";
cout<<"=======================================\n";
cout<<"请输入数字(0--2):\n";
}

void main()
{
for(;;)
{
char filename[30];
int i;
cout<<"please input the name of student`s file"<<endl;
cin>>filename;
interfaced();
cin>>i;
switch(i)
{
case 0:
enter(filename);
break;
case 1:
display(filename);
break;
case 2:
exit(0);
default :
cout<<"警告!!!请输入数字0-2!\n";
)
}
}
}
我用for语句主要是想当把数据输入完之后,再回到主界面,然后继续其他操作,如:显示操作,如果不用for我就不用在这问这问题了,因为我也试过,不用for就直接输入完数据就结束了。 //我用的环境是VC6.0。//“i”不是定义为整型数据吗?会变成ASCII的50?//
展开
 我来答
hanyuwei70
2010-10-02 · TA获得超过108个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:179万
展开全部
你把文件流定位到文件试试
还有,C++的输入输出我不是很清楚(本人用的是scanf()),估计变量i被赋的是2的ASCII值即50
for (;;)我不知道你是怎么编译过的,你用的是什么环境?
linchen447
2010-10-02 · TA获得超过541个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:251万
展开全部
输入结束后 ctrl+z 或者ctrl+c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友43ebde78e
2010-10-02 · TA获得超过1040个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:739万
展开全部
是不是number和score或者i接收了字符型的变量。
你可以先判断输入是数字还是字符。然后再进行写入操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youyangchen
2010-10-02 · TA获得超过184个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:85.2万
展开全部
你为什么要用for(;;)呢??这就是死循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李小貂
2010-10-02 · TA获得超过504个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:104万
展开全部
for(;;)
不用这个不行么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七七七的0E6
2010-10-02 · TA获得超过652个赞
知道答主
回答量:253
采纳率:0%
帮助的人:284万
展开全部
for(;;)这个有关系吗?
这个问题我也想问你,你用这个来干嘛?
你用这个本来就是一个死循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式