查找姓名

场景:输入查找姓名时,查找不对合.该怎么解决

输入查找姓名时,查找不对合.
按1.先输入名字 年龄 C++成绩 英语成绩
如:
gg 22 89 98
gh 23 78 92
tt 21 80 87

按4.查找姓名时
输入:gg
会找查出:gg gh 两个姓名的.


哪位高手帮我修改一下...谢谢了.





#include <iostream.h>
#include <stdlib.h>
void inp();
void print();
void pai();
void find();

struct student
{
 char name[10];
 int age;
 int c;
 int en;
 int score;
 };
struct student in[10],*p[10]={&in[0],&in[1],&in[2],&in[3],&in[4],&in[5],&in[6],&in[7],&in[8],&in[9]};
struct student *temp;
struct student hh,*pp=&hh; //查找姓名


int g;

void inp() //输入学生信息
{ cout<<"\n你要输入几个学生的信息:";
  
  cin>>g;
cout<<endl;
cout<<" 姓名 年龄 C++成绩 英语成绩\n";
for(int k=0;k<g;k++)
{cout<<"学生"<<k+1<<":";
cin>>p[k]->name>>p[k]->age>>p[k]->c>>p[k]->en;
}
}


void print() //打印学生信息
{ cout<<endl;
 for(int j=0;j<g;j++)
 cout<<"姓名:"<<p[j]->name<<" 年龄:"<<p[j]->age<<" C++成绩:"<<p[j]->c<<" 英语成绩:"<<p[j]->en<<" 总分:"<<(p[j]->c+p[j]->en)<<endl;
}

void pai() //排序
{for(int i=0;i<g;i++)
  for(int j=i+1;j<g;j++)
  if(p[i]->c>p[j]->c)
 { temp=p[i]; 
  p[i]=p[j];
  p[j]=temp;
 }
cout<<"\n按C++成绩排序为:";
print();
}



void find() //查找姓名
{  
  cout<<"请输入你要查找的姓名:";
  cin>>pp->name;

 for(int f=0;f<g;f++)
  if (*p[f]->name==*pp->name) 
{ cout<<"姓名:"<<p[f]->name<<" 年龄:"<<p[f]->age<<" C++成绩:"<<p[f]->c<<" 英语成绩:"<<p[f]->en<<" 总分:"<<(p[f]->c+p[f]->en)<<endl; }
else {cout<<"查找不到此姓名.\n"; }

}



void main()
{
cout<<" 学生管理系统\n";
cout<<"\n 1.输入学生信息 2.输出学生信息\n";
cout<<" 3.排序(按C++成绩排序) 4.查找学生\n";
cout<<" 5.退出本系统\n";


loop:
cout<<"\n请选择:";
int r;
cin>>r;
switch (r)
{
case 1:inp(); break;
case 2:print(); break;
case 3:pai(); break;
case 4:find(); break;
case 5: exit(0);

default:cout<<"你输入的有误!"; exit(0); break;


goto loop;


}




------解决方案--------------------
if (*p[f]->name==*pp->name) 

条件用strcmp比较相同