![]() |
#2
Soul寂2008-10-26 21:44
|
我设置了两个数组name[50]和num[50]分别用来存放学生的 姓名 和学号
用void input_data()和void search(string x)两个函数分别用来 获取数据 和 数据查询

#include <iostream>
#include <string>
using namespace std;
int n;
string name[50],num[50];
int main()
{
void input_data();
void search(string);
string find_name;
cout<<"please input the number of class:"<<endl;
cin>>n;
input_data();
cout<<"please input name you want:";
cin>>find_name;
search(find_name);
return 0;
}
void input_data()
{
int i;
for(i=0;i<n;i++)
{
cout<<"please input name and number of student"<<i+1<<": ";
cin>>name[i]>>num[i];
}
}
void search(string x)
{
int i;
bool flag=false;
for(i=0;i<n;i++)
{
if(name[i]==x)
cout<<name[i]<<" has been found,his number is:"<<num[i]<<endl;
flag=true;
break;
}
if(flag==false)
cout<<"can not find name"<<endl;
}
#include <string>
using namespace std;
int n;
string name[50],num[50];
int main()
{
void input_data();
void search(string);
string find_name;
cout<<"please input the number of class:"<<endl;
cin>>n;
input_data();
cout<<"please input name you want:";
cin>>find_name;
search(find_name);
return 0;
}
void input_data()
{
int i;
for(i=0;i<n;i++)
{
cout<<"please input name and number of student"<<i+1<<": ";
cin>>name[i]>>num[i];
}
}
void search(string x)
{
int i;
bool flag=false;
for(i=0;i<n;i++)
{
if(name[i]==x)
cout<<name[i]<<" has been found,his number is:"<<num[i]<<endl;
flag=true;
break;
}
if(flag==false)
cout<<"can not find name"<<endl;
}
问题就处在break上,不管我输入什么,它总是查询不到!如图:连"can not find name"都不输出!
只有本站会员才能查看附件,请 登录
这说明程序自动跳出了,于是我 注释了break
程序可以查询:
只有本站会员才能查看附件,请 登录
但是我如果查询了我没有输入的数据,程序不输出: "can not find name"如图:
只有本站会员才能查看附件,请 登录
能不能告诉我这是为什么呢?万分感谢!
[[it] 本帖最后由 Soul寂 于 2008-10-26 21:48 编辑 [/it]]