c-在链接列表中搜索,可能会有更多结果



我的学期项目是为电话簿编写一个程序。我已经完成了3/4,但我需要创建一个修改函数,以便能够修改链接列表中的记录。我的问题是,在电话簿中,有可能不止一个人有相同的名字,但有其他的电话号码。

在我的函数中,程序会询问要修改的名字,但如果有人搜索一个存在不止一次的名字,那么我如何在他们之间做出选择,他们中的哪一个是通缉犯?

我的链表结构:

typedef struct szemely {
char *veznev;
char *kernev;
char *telnum;
char *varos;        
struct szemely *next;
} Person;

显示一个可能的选择列表,并让操作员在终端中按数字或通过其他界面选择方法(按钮、链接、复选框等(选择哪一个。

该程序的目标界面是什么?

modify函数根本无法处理搜索。您需要(想要(一个单独的函数来进行名称搜索,称之为person_lookup或其他什么。

有几件事你想做。

  1. 按姓名查找人员
  2. 向用户显示查找结果
  3. 接受用户选择(即用户将从编号列表中选择一个人(
  4. 修改用户选择的那个人的信息

psuedo代码:

struct Person *person;
struct Person *persons;
/* return a list of names or NULL if none are found */
persons = lookup_person(name)
if (persons is NULL)
handle_no_results_found && return;
/* user_selection_from() will display the matched lookup names 
* as a numbered list. The user will select a number from the 
* list that corresponds to a name.
*/
person = user_selection_from(persons);
/* the user didn't select a name from the list */
if (person is NULL)
handle_no_user_selection && return;
/* modify the person the user selected */
error = modify(person);
if (error) 
alert_user_unable_to_modify_person;

正如我所说,这是psuedo代码,并不完全正确,但它应该给你一个想法,或者(希望(让你走上正确的道路。

相关内容

  • 没有找到相关文章

最新更新