求高手解答,这个程序是输入一个班级学生姓名及学号要求查找某一学生的信息,开始程序出错

#include<iostream>
#include<string>
using namespace std;
void input_data(int);
void search(int,string,string,string);
int main()
{
int n;
cout<<"please input the numbers of the class:"<<endl;
cin>>n;
input_data(n);
return 0;
}
void input_data(int n)
{
int i;
string name[50],num[50];
string find_name;
for(i=0;i<n;i++)
{
cout<<"the name and the number of the student"<<i+1<<":";
cin>>name[i]>>num[i];
}
cout<<"the student we are searching for is:"<<endl;
cin>>find_name;
search(n,name,num,find_name);
}
void search(int n,string name[],string num[],string find_name)
{
int i;
bool flag=false;
for(i=0;i<n;i++)
if(name[i]==find_name)
{
cout<<name[i]<<"has been found,his num is:"<<num[i]<<endl;
flag=true;
break;
}
if(flag==false)
cout<<"can't find this name"<<endl;
}
出错结果为“search”: 不能将参数 2 从“std::string [50]”转换为“std::string”

#include<iostream>
#include<string>
using namespace std;
void input_data(int);
void search(int n,string name[],string num[],string find_name); //孩子 函数声明不是你那样写的
int main()
{
int n;
cout<<"please input the numbers of the class:"<<endl;
cin>>n;
input_data(n);
return 0;
}
void input_data(int n)
{
int i;
string name[50],num[50];
string find_name;
for(i=0;i<n;i++)
{
cout<<"the name and the number of the student"<<i+1<<":";
cin>>name[i]>>num[i];
}
cout<<"the student we are searching for is:"<<endl;
cin>>find_name;
search(n,name,num,find_name);
}
void search(int n,string name[],string num[],string find_name)
{
int i;
bool flag=false;
for(i=0;i<n;i++)
if(name[i]==find_name)
{
cout<<name[i]<<"has been found,his num is:"<<num[i]<<endl;
flag=true;
break;
}
if(flag==false)
cout<<"can't find this name"<<endl;
}追问

那为什么声明时int后面的参数可以省略呢,我改成这样了void search(int ,string name[],string num[],string find_name);
我这样运行了,也可以啊

追答

这样是不规范的 会出未知错误

尽量不要弄得这么复杂

温馨提示:内容为网友见解,仅供参考
无其他回答

求高手解答,这个程序是输入一个班级学生姓名及学号要求查找某一学生的...
include<iostream> include<string> using namespace std;void input_data(int);void search(int n,string name[],string num[],string find_name); \/\/孩子 函数声明不是你那样写的 int main(){ int n;cout<<"please input the numbers of the class:"<<endl;cin>>n;input_data(n);retu...

编写一个c语言程序,实现录入学生学号和姓名信息的功能
1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入int mian()代码。4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。5、然后在St...

编写一个程序,提示用户输入学生个数,学生姓名和他们的成绩,然后按照学 ...
System.out.println("请输入第"+(i+1)+"个学生的姓名");sNames[i] = reader.nextLine();System.out.println("请输入"+sNames[i]+"的分数");sScore[i] = Integer.parseInt(reader.nextLine());} int tempScore;String tempName;for (int i = stuNum - 1; i > 0; --i) { boolea...

编写一个c语言程序,实现录入学生学号和姓名信息的功能
intnum;\/\/学号 printf("请输入姓名:\\n");gets(s);printf("请输学号:\\n");scanf("%d",&num);printf("姓名是:%s\\n学号是:%d\\n",s,num);system("pause");return0;}

C语言编程,输入一个学生的姓名、学号、英语、数学、计算机成绩,输出学生...
"Score:%5.2f\\n",aver);} 输入:Please input student's name:Lihua Please input student's number:123456789 Please input student's English score:80.5 Please input student's Math score:91 Please input student's Computer score:89.5 输出:Name:Lihua NUmber:123456789 Score:87.00 ...

用python编写一个程序,输出你的姓名和学号
用python编写一个程序,输出你的姓名和学号的方法。如下参考:1.输入命令提示符,输入python并按Enter进入python交互模式。2.输入name=input()后按回车,如下所示。3.输入名字“mymy”,然后回车。此时,变量将“name”回答为“mymy”。4.输入名称后返回,可以看到变量名的内容是:mymy。5.输入打印(姓名)...

用结构体类型编写一个程序,输入一个学生的学号、姓名、及3门课的成绩...
include "stdio.h"void main(){ struct Student{ char id[10];char name[10];int score;} stu = {"001", "Sam", 80};printf("%s\\t%s\\t%d", stu.id, stu.name, stu.score);}

我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家...
要求至少有20个学生的原始数据。原始数据如下:学号 姓名 C程序设计 高等数学 英语 线性代数 1 王.. 80 80 80 80 2 张.. 90 90 90 90 …功能要求如下:1、数据的输入2、计算每位同学的平均分3、计算每门课程的平均分4、计算各分数段(90-100、80-89、60-79、60以下)的人数5、对这10位同学的成绩按...

编写程序,输入n(n<=10)个学生的基本信息
,sum,av; };void fun(struct Student *a,int n) { int i; for ( i=0;i<n;i++ ) { a[i].sum=a[i].sc[0]+a[i].sc[1]+a[i].sc[2]; a[i].av=a[i].sum\/3; }}void main() { int i,j,n; struct Student a[N]; char sex[2][3]={"男","...

C语言程序设计 题目:学生信息管理系统
1题目:学生信息管理系统2程序要求:(1)学生信息录入功能1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门课成绩。2)可插入一个或多个学生信息到当... 1题目:学生信息管理系统 2 程序要求:(1)学生信息录入功能 1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治...

相似回答