void delete_contact(User *user) { char name[MAX_NAME_LEN]; int i,j; printf(">>请输入要删除的联系人姓名:"); scanf("%s", name); printf("查找结果:\n"); for (i = 0; i < user->num_contacts; i++) { if (strstr(user->contacts[i].name, name) != NULL) { printf("\t\t\t%-5s\t%-5s\t%-5s\t%-15s\t%-15s\t%-15s\n","姓名","性别","年龄","家庭电话","移动电话","办公电话"); printf("\t\t\t%-5s\t%-5s\t%-5d\t%-15s\t%-15s\t%-15s\n",user->contacts[i].name,user->contacts[i].sex,user->contacts[i].age,user->contacts[i].home_phone,user->contacts[i].mobile_phone,user->contacts[i].office_phone); } } printf(">>请再次输入要删除的联系人姓名:"); scanf("%s", name); for (i = 0; i < user->num_contacts; i++) { if (strcmp(user->contacts[i].name, name) == 0) { for (j = i; j < user->num_contacts - 1; j++) { user->contacts[j] = user->contacts[j + 1]; } user->num_contacts--; printf("*联系人删除成功!(记得按5选项保存数据)\n"); return; } } printf("*未找到该联系人,请重试!\n"); }的参数和返回值
时间: 2024-01-28 12:03:26 浏览: 116
这段代码中的函数是一个无返回值函数,参数是一个指向User类型的指针变量。
函数的作用是从用户的联系人列表中删除指定姓名的联系人信息。函数中首先提示用户输入要删除的联系人姓名,并在联系人列表中查找姓名包含指定字符串的联系人,并输出查找结果。然后再次提示用户输入要删除的联系人姓名,并在联系人列表中查找指定姓名的联系人,并将该联系人从列表中删除。最后输出删除成功信息或未找到该联系人信息。
函数中使用了两次for循环,第一次循环用于查找指定字符串的联系人,并输出查找结果;第二次循环用于查找指定姓名的联系人,并将该联系人从列表中删除。函数中使用了字符串比较函数strcmp()和字符串查找函数strstr()。
阅读全文