PDA

View Full Version : سیستم ذخیره اطلاعات برای پزشکان یک مرکز درمانی



Azar.099
چهارشنبه 20 آذر 1392, 16:12 عصر
سلام دوستان
من در تابع visit & vote & printinfo مشکل داره برنامم
میشه کمکم کنید خطاهاش رو اصلاح کنم
ID:شماره پرسنلی
نام:name
نام خانوادگی:family
کدتخصص;code
مبلغ ویزیت;mv
تعداد دکترها :nop
درامد روزانه:income

#include<iostream>
#include <string.h>
using namespace std ;

int *ID;
char **name;
char **family;
int *Code;
int *MV;
int *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<<"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];
cout << "DOCTOR WELCOM! " <<endl;
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=0;
int tmp= 0;
int code ;
cout << "Please inser your Code :";
cin >> code;
for (int i=0; i<nop; i++)
{
if(Code[i] == code)
{
cout << name[i] <<endl;
cout << family[i] <<endl;
tmp = 1;
}
t = i;
}
if(tmp == 0)
cout << "This Code does not Exist";
cout << "Please enter ID " << t << endl;//karbar az beine in codhaye chap shode yeki ra entekhab mikone
cin >> ID[t];
for(int i = 0; i<nop ; i++)
{
if(ID[i] == ID[t])
{
Income[i] = Income[i] + MV[i];
}
}
}
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;
}

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/100*MV[t];
break;
case 2:
Income[t] = Income [t] - 25/100*MV[t];
break;
case 3:
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]<<"|"<<endl;
cout<<"|"<<name[i]<<"|";
cout<<"|"<<family[i]<<"|";
cout<<"|"<<Income[i]<<"|"<<endl;
cout<<"|"<<MV[i]<<"|"<<endl;
cout<<"----------------"<<endl;
}
}

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 int [nop];
Income = 0;
int nop= 0;
int idp=0;
int code=0;
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 :
Vote();
if ((Vote() == -1))
cout << "This DOCTOR is very weak in this Hospital";
system("cls");
break;
case 5 :
PrintInfo();
break;
case 6:
return 0;
break;
}
}
return 0;
}

ali chegini
جمعه 22 آذر 1392, 01:25 صبح
سلام
تابع vote باید return داشته باشه.
یه مشکل تو کار با اشاره گر ها داری .
این طوری استفاده از اشاره گرها زیاد مناسب نیست.
میشه صورت مساله رو کامل بگی تا برنامه رو به صورت کلاس بندی شده بنویسیم.

rahnema1
جمعه 22 آذر 1392, 08:07 صبح
سلام
فکر کنم اشکالات اساسی برطرف شده


#include<iostream>
#include <string.h>
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<<"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];
cout << "DOCTOR WELCOM! " <<endl;
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=0;
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 " << t << 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]<<"|"<<endl;
cout<<"|"<<name[i]<<"|";
cout<<"|"<<family[i]<<"|";
cout<<"|"<<Income[i]<<"|"<<endl;
cout<<"|"<<MV[i]<<"|"<<endl;
cout<<"----------------"<<endl;
}
}
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;
}

Azar.099
جمعه 22 آذر 1392, 20:38 عصر
خیلی خیلی ممنونم ازتون
اما هنو ایراد داره
اینکه چرا من چند اسم و فامیل که میدم فامیل ها را قاطی میکنه ... ؟؟
و اینکه چرا من بیشتر از سه تا دکتر نمیتونم بدم بهش ؟؟

rahnema1
جمعه 22 آذر 1392, 21:09 عصر
#include<iostream>
#include <string.h>
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<<"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];
cout << "DOCTOR WELCOM! " <<endl;
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=0;
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 " << t << 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]<<"|"<<endl;
cout<<"|"<<name[i]<<"|";
cout<<"|"<<family[i]<<"|";
cout<<"|"<<Income[i]<<"|"<<endl;
cout<<"|"<<MV[i]<<"|"<<endl;
cout<<"----------------"<<endl;
}
}
int main()
{
int vt;
cout <<"Tedad DOCTOR "<<endl;
cin >> nop;
//int *
ID=new int [nop];for(int i=0;i<nop;i++) ID[i]=0;
//char **
name= new char*[nop];for(int i=0;i<nop;i++) name[i] = new char[40];
//char **
family=new char*[nop];for(int i=0;i<nop;i++) family[i] = new char[40];
//int *
Code = new int [nop];for(int i=0;i<nop;i++) Code[i]=0;
//int *
MV= new int [nop];for(int i=0;i<nop;i++) MV[i]=0;
//int *
Income= new float [nop];for(int i=0;i<nop;i++) Income[i]=0;
//Income = 0;
// nop= 0;
//int idp=0;
//int code=0;

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;
}