void findall_contacts(User *user) { int i,j,temp; for(i=0;i<user->num_contacts-1;i++) { for(j=0;j<user->num_contacts-i-1;j++) { if(user->contacts[j].age>user->contacts[j+1].age) { temp=user->contacts[j].age; user->contacts[j].age=user->contacts[j+1].age; user->contacts[j+1].age=temp; } } } printf("所有联系人信息(按年龄排序):\n"); printf("\t\t\t%-5s\t%-5s\t%-5s\t%-15s\t%-15s\t%-15s\n","姓名","性别","年龄","家庭电话","移动电话","办公电话"); for (i = 0; i < user->num_contacts; i++) { 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); } }d的参数,返回值,功能
时间: 2024-03-11 17:45:54 浏览: 92
该函数的参数为一个指向User类型的指针user。该函数的返回值类型为void,即没有返回值。该函数的功能是对user中的联系人按照年龄进行排序,并将排序结果输出到屏幕上显示出来。具体实现过程是使用冒泡排序算法,将联系人按照年龄从小到大进行排序。然后通过printf函数将排序后的联系人信息按照一定的格式输出到屏幕上。
相关问题
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"); }的参数和返回值
这段代码中的函数是一个无返回值函数,参数是一个指向User类型的指针变量。
函数的作用是从用户的联系人列表中删除指定姓名的联系人信息。函数中首先提示用户输入要删除的联系人姓名,并在联系人列表中查找姓名包含指定字符串的联系人,并输出查找结果。然后再次提示用户输入要删除的联系人姓名,并在联系人列表中查找指定姓名的联系人,并将该联系人从列表中删除。最后输出删除成功信息或未找到该联系人信息。
函数中使用了两次for循环,第一次循环用于查找指定字符串的联系人,并输出查找结果;第二次循环用于查找指定姓名的联系人,并将该联系人从列表中删除。函数中使用了字符串比较函数strcmp()和字符串查找函数strstr()。
void search_contacts(User *user) { char keyword[MAX_NAME_LEN]; int i; printf(">>请输入要查找联系人的名字关键字:"); scanf("%s", keyword); printf("查找结果:\n"); for (i = 0; i < user->num_contacts; i++) { if (strstr(user->contacts[i].name, keyword) != 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); } } }的参数和返回值和功能
这段代码是一个C语言的函数,没有返回值,其参数为一个指向User结构体的指针,表示要查找联系人的用户。该函数的作用是根据输入的名字关键字,在指定用户的联系人中进行查找,并将查找结果打印输出到屏幕上。查找结果是一个表格,包含联系人的姓名、性别、年龄、家庭电话、移动电话和办公电话。函数内部通过循环遍历指定用户的所有联系人,如果联系人的姓名中包含输入的关键字,则打印该联系人的所有信息。
阅读全文