新手请教一段C++程序

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:05:08
(1)这是个查询函数,对pbook.txt中联系人数据进行查找,只需输入联系人的姓名首字母即sign,就可以找到所有以此字母开头的联系人,但是现在函数好像只能循环一次,即只能找到一个满足条件的联系人,怎么改才能把所有满足条件的联系人输出??改了很久都没改出来,请教。。。。
(2)while中的条件是什么意思,函数是怎么运行的?

void book::new_select()
{
ifstream inData("pbook.txt",ios::in);

if (!inData)
{
cout <<endl <<"对不起,文件找不到" <<endl;
system("pause");
return;
}
char sign[1];
cout <<endl <<"输入你想查找的联系人的姓名首字母"<<endl;
cin >>sign;
fflush(stdin);
cout <<endl <<"你要查找的联系人是 : " <<endl <<endl;
while (inData >>name>>number>>atime)
{

if(name[0]==sign[0])
{
// cout <<endl <<"你要查找的联系人是 : " <<endl <<endl;
cout <<setiosflags(ios::left) <<setw(16) <<name<<&

while的条件意思是一直读文件到空,但是标准c++中不会自动跳出while,有个什么条件,这个建议你去看看STL。不是去掉break,我觉得是inData的问题。

去掉break就可以了 试试吧