سلام دوستان
من در تابع visit & vote & printinfo مشکل داره برنامم
میشه کمکم کنید خطاهاش رو اصلاح کنم
ID:شماره پرسنلی
نام:name
نام خانوادگی:family
کدتخصص;code
مبلغ ویزیت;mv
تعداد دکترها :nop
درامد روزانه;income
چرا برنامه ی من بیشتر از سه تا دکتر نمیگیره ؟؟؟
#include<iostream>
#include <string>
using namespace std ;
int *ID;
char **name;
char **family;
int *Code;
int *MV;
float *Income;
int nop;
void Enter_Info(int *ID,char **name,char **family,int *Code,int *MV,int nop)
{
for(int i= 0 ; i<nop ; i++)
{
cout << "DOCTOR WELCOM! " <<endl;
cout<<"input ID : ";
cin >> ID[i];
cout<<"input first name :";
name[i] = new char[40];
cin>> name[i];
cout<<"input last name :";
family[i] = new char[40];
cin >> family[i];
cout << "input your code :";
cin >> Code[i];
cout << "input Cost of Visit :";
cin >> MV[i];
Income[i] = 0;
system("cls");
}
}
void Sort(char **family, int nop)// pezeshkan ra bar asase name family sort mikonad
{
for(int i = 0; i<nop ; i++)
{
for(int j = 0 ; j<nop ; j++)
{
if((strcmp(family[i],family[j])) == -1)
{
char tmpstr[20];
strcpy( tmpstr,family[i]);
strcpy(family[i],family[j]);
strcpy(family [j],tmpstr);
}
}
}
for (int i=0 ; i<nop ; i++)
cout << family[i]<<endl;
}
void Visit()//yek code ra migirad va tamami doctor haye ba in code ra chap mikonad
{
int t;
int tmp= 0;
int code ;
cout << "Please inser your Code :";
cin >> code;
cout <<"ID"<<":="<< "name" <<","<<"family"<<endl;
for (int i=0; i<nop; i++)
{
if(Code[i] == code)
{
cout <<ID[i]<<":="<< name[i] <<","<<family[i]<<endl;
//cout << family[i] <<endl;
tmp = 1;
}
//t = i;
}
if(tmp == 0)
{
cout << "This Code does not Exist";
}
else
{
cout << "Please enter ID " << endl;//karbar az beine in codhaye chap shode yeki ra entekhab mikone
// cin >> ID[t];
cin >> t;
for(int i = 0; i<nop ; i++)
{
if(ID[i] == t)
{
Income[i] = Income[i] + MV[i];
break;
}
}
}
}
int Vote ()
{
int t=0 ;
int idp;
int NAZAR;
cout <<"Please enter the ID:";// yek ID ra vared mikonad
cin >> idp;
for ( int i=0 ; i<nop ; i++)
{
if(ID[i] == idp)
{
t=i;
break;
}
}
cout << "PLease inter your IDEA about DOCTOR " << endl;
cout << "If the Doctor is GOOD please enter <1> "<<endl;
cout << "If the Doctor is WEAK please enter <2> "<<endl;
cout << "If the Doctor is NORMAL please enter <3> "<<endl;
cin >> NAZAR;
switch(NAZAR)
{
case 1:
Income[t] = Income [t] + (25.0*(double)MV[t]/100.0);
break;
case 2:
Income[t] = Income [t] - (25.0*(double)MV[t]/100);
break;
case 3:
break;
default:
break;
}
if(Income [t] < 0)
{
Income[t] = 0;
return -1;
}
}
void PrintInfo()//tamami moshakhasat marbut be pezeshkan ra bayad chap konad
{
for(int i=0; i<nop ; i++)
{
cout<<"----------------"<<endl;
cout<<"|"<<ID[i]<<"|";
cout<<"|"<<name[i]<<"|";
cout<<"|"<<family[i]<<"|";
cout<<"|"<<Code[i]<<"|";
cout<<"|"<<MV[i]<<"|"<<endl;
cout<<"----------------"<<endl;
}
int max ;
int t;
max = Income[0];
for (int i = 1; i<nop ; i++)
{
if( Income[i]>max)
max = Income [i];
t = i;
}
cout <<"Doctor with the most Cost:"<<endl;
for(int i = 0; i<nop ; i++)
{
if( i== t)
{
cout <<ID[i]<<":="<< name[i] <<","<<family[i]<<endl;
break;
}
}
}
int main()
{
//int *
ID=new int [nop];
//char **
name= new char *[nop];
//char **
family=new char*[nop];
//int *
Code = new int [nop];
//int *
MV= new int [nop];
//int *
Income= new float [nop];
//Income = 0;
nop= 0;
//int idp=0;
//int code=0;
int vt;
cout <<"Tedad DOCTOR "<<endl;
cin >> nop;
int c;
while(1)
{
cout<<"1-Enter_Info"<<endl;
cout<<"2-Sort"<<endl;
cout<<"3-Visit"<<endl;
cout<<"4-Vote"<<endl;
cout<<"5-PrintInfo"<<endl;
cout<<"6-Exit"<<endl<<"insert a number then press enter:";
cin>>c;
switch (c)
{
case 1:
system("cls");
Enter_Info(ID,name,family,Code,MV,nop);
break;
case 2 :
system("cls");
Sort(family,nop);
break;
case 3 :
system("cls");
Visit();
break;
case 4 :
vt=Vote();
if ((vt == -1))
cout << "This DOCTOR is very weak in this Hospital";
system("cls");
break;
case 5 :
PrintInfo();
break;
case 6:
return 0;
break;
default:break;
}
}
return 0;
}