alivazirinia
یک شنبه 05 خرداد 1392, 16:40 عصر
سلام دوستان من کد زیر نوشتم جست و جو هم نوشتم براش ولی زمانی که توی منو یعنی کیس شماره 5 که جست و جو رو میاره فراخانی میکنم ایراد میگیره لطفا راهنمایی کنید ممنون
#include <iostream>
#include <conio.h>
#include<string.h>
using namespace std;
class student {
public:
char name[10];
char family[20];
float ave;
char st_num[10];
void getinfo(student st[],int n);
void search(student st[],char key[],int n);
void sort (student st[],int n);
void printinfo(student st[],int n);
void sortbyname (student st[],int n);
};
void student :: search(student st[],char key[],int n)
{
int i;
for (i=0;i<n;i++)
if(st[i].name==key)
cout<<"found in "<<i;
else if (i==n-1)
cout<<"not found";
}
void student :: sortbyname(student st[],int n)
{
int i,j;
student temp;
for (i=n-1;i>=0;i--)
for(j=0;j<i;j++)
if(strcmp(st[j].name,st[j+1].name)>0)
{
temp=st[j];
st[j]=st[j+1];
st[j+1]=temp;
cout<<"\n sort is :";
for(i=0;i<n;i++)
cout<<"\t"<<st[i].name;
}
}
void student :: getinfo (student st[],int n)
{
int i;
for (i=0;i<n;i++)
{
cout<<"\n";
cout<<"enter name["<<i+1<<"]: ";
cin>>st[i].name;
cout<<"enter family["<<i+1<<"]: ";
cin>>st[i].family;
cout<<"enter avrage["<<i+1<<"]: ";
cin>>st[i].ave;
cout<<"enter student number["<<i+1<<"]: ";
cin>>st[i].st_num;
cout<<"\n";
}
}
void student :: sort(student st[],int n)
{
int i,j;
student temp;
for(i=n-1;i>0;i--)
{
for(j=0;j<i;j++)
if (st[j].ave<st[j+1].ave)
{
temp= st[j];
st[j]=st[j+1];
st[j+1]=temp;
cout<<"\n sort is :";
for(i=0;i<n;i++)
cout<<"\t"<<st[i].ave;
}
}
}
void student :: printinfo(student st[], int n)
{
int i;
cout<<"\n";
cout<<"name family avrage student number\n\n";
for(i=0;i<n;i++)
{
cout<<"\n";
cout<<st[i].name<<"\t";
cout<<st[i].family<<"\t";
cout<<st[i].ave<<"\t";
cout<<st[i].st_num<<"\t";
cout<<endl;
cout<<"\n";
}
}
int main()
{
student st[2],s;
int n;
n=sizeof (st)/sizeof(student);
int menu();
int m;
while (1)
{
m = menu();
switch (m)
{
case 1:s.getinfo(st,n);
break;
case 2:s.printinfo(st,n);
break;
case 3:s.sort(st,n);
break;
case 4:s.sortbyname(st,n);
break;
case 5:s.search(st,n);
break;
case 6:return 0;
default:
cout<<"\n";
cout<< "yek adad az 1 ta 4 vared konid \n";
cout<<"\n";
getch();
}
}
}
int menu()
{
int x;
cout<<"\n";
cout<<"1-vared kardan moshakhasat\n";
cout<<"2-namayesh moshakhasat\n";
cout<<"3-sort \n";
cout<<"4-sort by name \n";
cout<<"5-search \n";
cout<<"6-exit\n\n";
cout<<"yeki az adad x(1.2.3.4.5) vared konid = ";
cin>>x;
cout<<"\n";
return x;
}
#include <iostream>
#include <conio.h>
#include<string.h>
using namespace std;
class student {
public:
char name[10];
char family[20];
float ave;
char st_num[10];
void getinfo(student st[],int n);
void search(student st[],char key[],int n);
void sort (student st[],int n);
void printinfo(student st[],int n);
void sortbyname (student st[],int n);
};
void student :: search(student st[],char key[],int n)
{
int i;
for (i=0;i<n;i++)
if(st[i].name==key)
cout<<"found in "<<i;
else if (i==n-1)
cout<<"not found";
}
void student :: sortbyname(student st[],int n)
{
int i,j;
student temp;
for (i=n-1;i>=0;i--)
for(j=0;j<i;j++)
if(strcmp(st[j].name,st[j+1].name)>0)
{
temp=st[j];
st[j]=st[j+1];
st[j+1]=temp;
cout<<"\n sort is :";
for(i=0;i<n;i++)
cout<<"\t"<<st[i].name;
}
}
void student :: getinfo (student st[],int n)
{
int i;
for (i=0;i<n;i++)
{
cout<<"\n";
cout<<"enter name["<<i+1<<"]: ";
cin>>st[i].name;
cout<<"enter family["<<i+1<<"]: ";
cin>>st[i].family;
cout<<"enter avrage["<<i+1<<"]: ";
cin>>st[i].ave;
cout<<"enter student number["<<i+1<<"]: ";
cin>>st[i].st_num;
cout<<"\n";
}
}
void student :: sort(student st[],int n)
{
int i,j;
student temp;
for(i=n-1;i>0;i--)
{
for(j=0;j<i;j++)
if (st[j].ave<st[j+1].ave)
{
temp= st[j];
st[j]=st[j+1];
st[j+1]=temp;
cout<<"\n sort is :";
for(i=0;i<n;i++)
cout<<"\t"<<st[i].ave;
}
}
}
void student :: printinfo(student st[], int n)
{
int i;
cout<<"\n";
cout<<"name family avrage student number\n\n";
for(i=0;i<n;i++)
{
cout<<"\n";
cout<<st[i].name<<"\t";
cout<<st[i].family<<"\t";
cout<<st[i].ave<<"\t";
cout<<st[i].st_num<<"\t";
cout<<endl;
cout<<"\n";
}
}
int main()
{
student st[2],s;
int n;
n=sizeof (st)/sizeof(student);
int menu();
int m;
while (1)
{
m = menu();
switch (m)
{
case 1:s.getinfo(st,n);
break;
case 2:s.printinfo(st,n);
break;
case 3:s.sort(st,n);
break;
case 4:s.sortbyname(st,n);
break;
case 5:s.search(st,n);
break;
case 6:return 0;
default:
cout<<"\n";
cout<< "yek adad az 1 ta 4 vared konid \n";
cout<<"\n";
getch();
}
}
}
int menu()
{
int x;
cout<<"\n";
cout<<"1-vared kardan moshakhasat\n";
cout<<"2-namayesh moshakhasat\n";
cout<<"3-sort \n";
cout<<"4-sort by name \n";
cout<<"5-search \n";
cout<<"6-exit\n\n";
cout<<"yeki az adad x(1.2.3.4.5) vared konid = ";
cin>>x;
cout<<"\n";
return x;
}