hossein2kk
جمعه 23 بهمن 1388, 00:22 صبح
سلام دوستان
من یک برنامه نوشتم که هدفش اینه :
نام و شماره تلفن تعدادی از مشتریان را از ورودی خوانده و در ارایه ای ذخیره کند . سپس نامی را خوانده و ببیند آیا در ورودی ها بوده یا خیر ؟
این کد من هست :
# include <iostream.h>
# include <conio.h>
# include <string.h>
void input (int num , char **names , int *numbers){
char temp[40] ;
for (int i = 0 ; i < num ; i++){
cout << "# " << (i+1) << " Name :" ;
cin.get(temp,39);
cin.get();
names [i] = new char [strlen(temp)+1];
names [i] = temp;
cout << "Tel : ";
cin >> numbers[i] ;
cout << "- - - - - - - - - - ";
}
}
int search (int num ,char *name , char **names){
for (int i = 0 ; i < num ; i++){
if (!strcmp(name,names[i]))
return i ;
}
return -1 ;
}
int main () {
char **names ;
int *numbers , num;
cin >> num;
names = new char [num];
numbers = new int [num];
cout << "How many records do you have ?!"<< endl;
input (num ,names ,numbers);
clrscr();
cout << "Enter your name to search ..." << endl ;
char name [40];
cin.get(name,39);
if (search(num,name,names) == -1)
cout << "This record does not exist !";
else
cout << "We have record : Name = " << name << " Tel = " << numbers[search(num,name,names)];
getch();
return 0 ;
}
اما یک ارور میده که نمی دونم چطور رفعش کنم ؟؟
تو این خط :
names = new char [num];
میگه Could not conver char * to char ** .
پیشاپیش از دوستان سپاسگزارم .
من یک برنامه نوشتم که هدفش اینه :
نام و شماره تلفن تعدادی از مشتریان را از ورودی خوانده و در ارایه ای ذخیره کند . سپس نامی را خوانده و ببیند آیا در ورودی ها بوده یا خیر ؟
این کد من هست :
# include <iostream.h>
# include <conio.h>
# include <string.h>
void input (int num , char **names , int *numbers){
char temp[40] ;
for (int i = 0 ; i < num ; i++){
cout << "# " << (i+1) << " Name :" ;
cin.get(temp,39);
cin.get();
names [i] = new char [strlen(temp)+1];
names [i] = temp;
cout << "Tel : ";
cin >> numbers[i] ;
cout << "- - - - - - - - - - ";
}
}
int search (int num ,char *name , char **names){
for (int i = 0 ; i < num ; i++){
if (!strcmp(name,names[i]))
return i ;
}
return -1 ;
}
int main () {
char **names ;
int *numbers , num;
cin >> num;
names = new char [num];
numbers = new int [num];
cout << "How many records do you have ?!"<< endl;
input (num ,names ,numbers);
clrscr();
cout << "Enter your name to search ..." << endl ;
char name [40];
cin.get(name,39);
if (search(num,name,names) == -1)
cout << "This record does not exist !";
else
cout << "We have record : Name = " << name << " Tel = " << numbers[search(num,name,names)];
getch();
return 0 ;
}
اما یک ارور میده که نمی دونم چطور رفعش کنم ؟؟
تو این خط :
names = new char [num];
میگه Could not conver char * to char ** .
پیشاپیش از دوستان سپاسگزارم .