【发布时间】:2017-04-14 00:00:30
【问题描述】:
我得到了以下任务
编写一个简单的电话簿程序;包含二维数组,其中有硬代码名称和电话号码。然后声明一个简单的字符数组。您必须提示用户输入您要搜索的任何名称。这个名字应该存储在这个字符数组中,然后从二维数组中搜索这个名字。如果在输入的名称中找到数字,则程序应根据该名称显示该数字,如果未找到,则程序应显示该名称未注册的消息。
这是我的代码,但我在搜索名称时找不到号码。我是编码新手,因此无法使此代码正常工作。感谢您的帮助。
#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 完全是一派胡言。
-
search是 10 个chars 的数组,所以search[r]是rthchar在search。强调一个它是一个char。cin>>search[r]只读取一个字符并将其放在rthcharinsearch中。没有人能说出search中的其他 9 个字符是什么,因为它们没有被赋予任何值。
标签: c++ arrays search directory 2d