سیستم ذخیره اطلاعات برای پزشکان یک مرکز درمانی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

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

0 امتیاز

سلام دوستان

من در تابع 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;
}

 

سوال شده آذر 20, 1392  بوسیله ی Azar (امتیاز 628)   29 42 61
ویرایش شده آذر 22, 1392 بوسیله ی Azar
لطفا سوال خود را در چند قسمت با توضیح اینکه چه مشکلی در آن وجود دارد مطرح کنید که قابلیت پاسخ دهی وجود داشته باشد.متشکرم.
ببینید برنامه ی من هیچ اروری نداره
فقط تابع printinfo اصلا اجرا نمیشه و از روش میپره برنامم
تابع vote & visit هم اشتباه اجرا میشه ...
من موفق نشدم برنامتون رو اجرا کنم.این نمونه رو ببینید, هدفش با برنامه شما یکی هست فقط یک طور دیگه نوشته شده: http://78.47.35.18/7khatcode.com/492_001.c
اجرا نمیشه ؟
ارور میده ؟؟
بله این برنامه ای که فرستادین با ساختار struct نوشته شده
من نمیخوام از struct استفاده کنم

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

کسی که جواب نداد
ولی خودم درستش کردم با همکاری دوستم
کدش رو میذارم

    #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 << "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];
        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 max ;
    int t=0;
    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;
            cout <<ID[t]<<":="<< name[t] <<","<<family[t]<<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:
              cout << "The number is Wrong "<<endl;
             break;
         }
      }
return 0;
}
پاسخ داده شده آذر 23, 1392 بوسیله ی Azar (امتیاز 628)   29 42 61
انتخاب شد آذر 23, 1392 بوسیله ی مصطفی ساتکی
...