void search() { if (count == 0) { printf("通讯录为空,无法查询记录!\n"); return; } char name[20]; printf("请输入要查询的记录的姓名:"); scanf("%s", name); int i; for (i = 0; i < count; i++) { if (strcmp(book[i].name, name) == 0) { printf("姓名\t性别\t籍贯\t电话\n"); printf("%s\t%s\t%s\t%s\n", book[i].name, book[i].sex, book[i].hometown, book[i].phone); return; } } printf("未找到该记录!\n"); }注释这段代码
时间: 2024-03-08 10:45:34 浏览: 19
这是一个通讯录程序的查询函数,具体实现如下:
1. 判断通讯录是否为空,如果为空则输出提示信息并直接返回。
2. 读取用户输入的姓名。
3. 遍历通讯录中的所有记录,查找姓名匹配的记录。
4. 如果找到匹配的记录,则输出该记录的姓名、性别、籍贯、电话,并直接返回。
5. 如果遍历完所有记录仍未找到匹配的记录,则输出提示信息。
该函数的主要功能是根据用户输入的姓名在通讯录中查找对应的记录,并将查找到的记录输出。如果通讯录为空或未找到匹配的记录,则输出相应的提示信息。
需要注意的是,在读取用户输入的姓名时,代码并没有对输入进行任何格式检查,存在可能导致程序崩溃的风险。在实际应用中,应该对用户输入进行一定的检查和验证,以确保程序的健壮性。
相关问题
void add() { if (count >= MAX_SIZE) { printf("通讯录已满,无法添加记录!\n"); return; } Student student; printf("请输入姓名:"); scanf("%s", student.name); printf("请输入性别:"); scanf("%s", student.sex); printf("请输入籍贯:"); scanf("%s", student.hometown); printf("请输入电话:"); scanf("%s", student.phone); book[count++] = student; printf("添加成功!\n"); } void del() { if (count == 0) { printf("通讯录为空,无法删除记录!\n"); return; } char name[20]; printf("请输入要删除的记录的姓名:"); scanf("%s", name); int i; for (i = 0; i < count; i++) { if (strcmp(book[i].name, name) == 0) { int j; for (j = i; j < count - 1; j++) { book[j] = book[j + 1]; } count--; printf("删除成功!\n"); return; } } printf("未找到该记录!\n"); }请添加注释
// 定义添加通讯录记录的函数
void add() {
// 如果通讯录已满,则无法添加记录
if (count >= MAX_SIZE) {
printf("通讯录已满,无法添加记录!\n");
return;
}
// 定义一个结构体变量用于存储学生信息
Student student;
// 提示用户输入学生姓名,并从标准输入中读取输入的值
printf("请输入姓名:");
scanf("%s", student.name);
// 提示用户输入学生性别,并从标准输入中读取输入的值
printf("请输入性别:");
scanf("%s", student.sex);
// 提示用户输入学生籍贯,并从标准输入中读取输入的值
printf("请输入籍贯:");
scanf("%s", student.hometown);
// 提示用户输入学生电话,并从标准输入中读取输入的值
printf("请输入电话:");
scanf("%s", student.phone);
// 将学生信息添加到通讯录中
book[count++] = student;
// 提示用户添加成功
printf("添加成功!\n");
}
// 定义删除通讯录记录的函数
void del() {
// 如果通讯录为空,则无法删除记录
if (count == 0) {
printf("通讯录为空,无法删除记录!\n");
return;
}
// 定义一个字符数组用于存储要删除的学生姓名
char name[20];
// 提示用户输入要删除的学生姓名,并从标准输入中读取输入的值
printf("请输入要删除的记录的姓名:");
scanf("%s", name);
// 遍历通讯录中的所有记录,查找要删除的记录
int i;
for (i = 0; i < count; i++) {
// 如果找到了要删除的记录,则将其从通讯录中删除
if (strcmp(book[i].name, name) == 0) {
int j;
for (j = i; j < count - 1; j++) {
book[j] = book[j + 1];
}
count--;
// 提示用户删除成功
printf("删除成功!\n");
return;
}
}
// 如果未找到要删除的记录,则提示用户未找到该记录
printf("未找到该记录!\n");
}
void browse() { if (count == 0) { printf("通讯录为空,无法浏览记录!\n"); return; } printf("姓名\t性别\t籍贯\t电话\n"); int i; for (i = 0; i < count; i++) { printf("%s\t%s\t%s\t%s\n", book[i].name, book[i].sex, book[i].hometown, book[i].phone); } }添加注释
// 定义浏览通讯录记录的函数
void browse() {
// 如果通讯录为空,则无法浏览记录
if (count == 0) {
printf("通讯录为空,无法浏览记录!\n");
return;
}
// 输出表头
printf("姓名\t性别\t籍贯\t电话\n");
// 遍历通讯录中的所有记录,并输出每条记录的信息
int i;
for (i = 0; i < count; i++) {
printf("%s\t%s\t%s\t%s\n", book[i].name, book[i].sex, book[i].hometown, book[i].phone);
}
}
阅读全文