以下の割り当てが与えられました2次元配列をC++で使用する電話帳プログラム
単純な電話帳プログラムを作成します。ハードコード名と電話番号を持つ2次元配列が含まれています。次に、単純な文字配列を宣言します。検索したい名前を入力するようにユーザーに指示する必要があります。この名前はこの文字配列に格納し、2次元配列からこの名前を検索する必要があります。数字が入力された名前に対して見つかった場合、プログラムはこの名前に対して数字を表示しなければなりません。見つからなければ、名前が登録されていないというメッセージが表示されます。
私のコードはここにありますが、名前を検索すると数字が表示されませんでした。私はこのコードを動作させることに問題があるので、コーディングに新しいです。ヘルプは高く評価されます。
#include <iostream>
#include <conio.h>
using namespace std;
int getPhone(int p[5][10],int row, int col, char key[10],char n[5][10]);
int main() {
int i,j;
char search[10];
const int r = 5;
const int c = 10;
int element;
int phone[r][c] =
{
42-5429874,
42-5333156,
42-9824617,
42-9927562,
42-6238175
};
char name[r][c] = {"shazia","zara","sana","ahmad","maha"};
cout<<"\nEnter name to find in directory : ";
cin>>search[r];
element = getPhone(phone,r,c,search,name);
cin.get();
return 0;
}
int getPhone(int p[5][10],int row,int col,char key[10], char n[5][10]) {
int i, j;
for(i=0;i<row;i++)
for(j=0;j<col;j++)
p[5][10] = p[i][j];
if(key[j] = n[5][10])
cout<<"The desired number is: "<<p[i][j]<<endl;
else if(key[j]!=n[5][10])
cout<<"Sorry! This name is not registered.";
return p[i][j];
}
あなたのGetPhoneは完全なナンセンスです。 – Eugene
'search'は10個の' char'sの配列なので、 'search [r]'は 'search'の' r'番目の 'char'です。それは1つの 'char'であることを重視します。 'cin >> search [r]'は正確に一つの文字を読み込み、 'search'の' r'番目の 'char'に入れます。 'search'の他の9文字には、値が割り当てられていないので、誰も何も言えません。 – user4581301