求助贴 一个学生管理系统 如何实现通过姓名查找
#ifndef STUDENT_H
#define STUDENT_H
class student
{
private:
float math;
float ch;
float en;
char *name;
int num;
char sex; //用M表示男的 W表示女的
int i;
public:
student();
void come();//输入所需数据
void print();//输出所有元素
void name_delet(char uname[10]);//按名字删除
void num_delet(int n);//按学号删除
void name_search(char *oname);//按名字查找
void num_search(int n);//按学号查找
void input();//插入学生信息
void name_amend();//按名字查找修改
void num_amend();//按学号查找修改
void taxis();//按学号排序
};
#endif
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include"studnt.h"
student data[500];
student::student()
{
i=0;
}
void student::come()//输入所需数据
{
char sign;
while(sign!='n'&&sign!='N')
{
cout<<"学生学号:";
cin>>data[i].num;
cout<<"学生姓名:";
cin>>data[i];
cout<<"学生性别(男的用M表示,女的用W表示):";
cin>>data[i].sex;
cout<<"学生数学成绩:";
cin>>data[i].math;
cout<<"学生英语成绩:";
cin>>data[i].en;
cout<<"学生语文成绩:";
cin>>data[i].ch;
cout<<"是否继续输入学生信息(Y/N)";
cin>>sign;
i++;
system("cls");
}
}
void student::print()//输出所有元素
{
for(int j=0;j<i;j++)
{
cout<<"学生学号:"<<data[j].num<<endl<<"学生姓名:"<<data[j].name<<endl;
cout<<"学生性别"<<data[j].sex<<endl;
cout<<"学生数学成绩:"<<data[j].math<<endl<<"学生英语成绩:"<<data[j].en<<endl;
cout<<"学生语文成绩:"<<data[j].ch<<endl;
}
system("pause");
system("cls");
}
void student::num_search(int n)//按学号查找
{
int m=n;
for(int j=0;j<i;j++)
{
if(data[j].num==m)
{
cout<<"学生学号:"<<data[j].num<<endl<<"学生姓名:"<<data[j].name<<endl;
cout<<"学生性别"<<data[j].sex<<endl;
cout<<"学生数学成绩:"<<data[j].math<<endl<<"学生英语成绩:"<<data[j].en<<endl;
cout<<"学生语文成绩:"<<data[j].ch<<endl;
}break;
}
system("pause");
system("cls");
}
void student::name_search(char *uname)//按名字查找
{
name=new char;
strcpy(name,uname);
for(int j=0;j<i;j++)
{
if(data[j].name==uname)
{
cout<<"学生学号:"<<data[j].num<<endl<<"学生姓名:"<<data[j].name<<endl;
cout<<"学生性别"<<data[j].sex<<endl;
cout<<"学生数学成绩:"<<data[j].math<<endl<<"学生英语成绩:"<<data[j].en<<endl;
cout<<"学生语文成绩:"<<data[j].ch<<endl;
}break;
}
system("pause");
system("cls");
}
void student::input()//插入学生信息
{
for(int j=i;j>=0;j--)
{
data[j+1]=data[j];
}
cout<<"学生学号:";
cin>>data[0].num;
cout<<"学生姓名:";
cin>>data[0].name;
cout<<"学生性别(男的用M表示,女的用W表示):";
cin>>data[0].sex;
cout<<"学生数学成绩:";
cin>>data[0].math;
cout<<"学生英语成绩:";
cin>>data[0].en;
cout<<"学生语文成绩:";
cin>>data[0].ch;
i++;
cout<<"插入成功";
system("pause");
system("cls");
}
void student::name_delet(char uname[10])//按名字删除
{
int k;
*name=uname[10];
for(int j=0;j<i;j++)
{
if(data[j].name==name)
k=j;
}
for(int l=k;l<i;l++)
{
data[l]=data[l+1];
}
i--;
system("pause");
system("cls");
}
void student::num_delet(int unum)//按学号删除
{
int k;
int m=unum;
for(int j=0;j<i;j++)
{
if(data[j].num==m)
{k=j;}
}
for(int l=k;l<i;l++)
{
data[l]=data[l+1];
}
i--;
system("pause");
system("cls");
}
#include<iostream.h>
#include"studnt.h"
#include"mue.h"
void main()
{
int choose;
student a;
char onname[10],unname[10];
int q,p;
loop:
choose = menu();
switch(choose)
{
case 1:
system("cls");
cout<<"请输入学生信息:";
a.come();
goto loop;
break;
case 2:
system("cls");
cout<<"输出所有学生信息:";
a.print();
goto loop;
break;
case 3:
system("cls");
cout<<"请输入要删除学生的学号";
cin>>p;
a.num_delet(p);
goto loop;
break;
case 4:
system("cls");
cout<<"请输入要删除学生的姓名";
cin>>onname;
a.name_delet(onname);
goto loop;
break;
case 5:
system("cls");
cout<<"请输入需要插入的学生信息:";
a.input();
goto loop;
break;
case 8:
system("cls");
cout<<"请输入查找学生学号";
cin>>unname;
a.name_search(unname);
goto loop;
break;
case 9:
system("cls");
cout<<"请输入查找学生学号";
cin>>q;
a.num_search(q);
goto loop;
break;
case 0:
cout<<"感谢你的使用,谢谢!";
exit(0);
}
}
#include <stdlib.h>
#include <string.h>
int menu()
{
int choose;
cout<<"****学生成绩记录系统****\n";
cout<<"1. 输入学生记录 \n";
cout<<"2. 显示学生记录 \n";
cout<<"3. 按学号删除学生记录 \n";
cout<<"4. 按姓名删除学生记录 \n";
cout<<"5. 插入学生记录 \n";
cout<<"6. 按姓名修改学生记录 \n";
cout<<"7. 按学号修改学生记录 \n";
cout<<"8. 按姓名查询学生记录 \n";
cout<<"9. 按学号查询学生记录 \n";
cout<<"0. 退出信息系统 \n";
cout<<"输入你的选择(0-9):";
cin>>choose;
if((choose<'0'||choose>'9'))
return choose;
else
{
system("cls");
cout<<"输入有误,请重新输入"<<endl;
return menu();
}
}