这个已经从文件中提取数据了,这是一个通讯录系统,如何修改来使如果存在这个联系人就直接输出,联系人不存在。如果这个联系人不存在就新建??
如何修改程序呢,显示的有些奇怪。
这个已经从文件中提取数据了,这是一个通讯录系统,如何修改来使如果存在这个联系人就直接输出,联系人不存在。如果这个联系人不存在就新建??
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 阿里嘎多学长 2024-05-30 21:16关注
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
从提供的代码片段来看,这是一个C语言编写的通讯录系统的一部分,但代码存在一些错误和不清晰的地方。我将根据你的需求,对代码进行修改,并提供一些解释。
首先,让我们纠正代码中的错误和不规范的地方:
- 函数名和变量名应该是有意义的英文单词,而不是拼音或随机字符。
- 数组声明时不应该使用科学记数法(例如,
9e
应为9
)。 scanf
和printf
函数中的格式字符串应该使用正确的转义字符(\n
而不是\\n
)。printf
中的占位符应该正确使用(例如,%s
而不是%s]t
)。for
循环的条件判断应该是i < qw->size
而不是i < qw->size
。strcmp
函数的返回值应该正确处理(如果返回0
,则表示字符串相等)。printf
函数中的字符串应该使用双引号"
而不是单引号'
。
下面是修改后的代码示例:
#include <stdio.h> #include <string.h> #define MAX_CONTACTS 100 typedef struct { char name[20]; char sex[10]; char phone[15]; float year; char leibie[20]; } Contact; typedef struct { Contact contacts[MAX_CONTACTS]; int size; } AddressBook; void addContact(AddressBook *ab) { char name[20]; printf("请输入你要增加的人的姓名:\n"); scanf("%19s", name); // 使用 %19s 限制输入长度,防止溢出 for (int i = 0; i < ab->size; i++) { if (strcmp(ab->contacts[i].name, name) == 0) { printf("此联系人已存在:\n"); printf("名字: %s\n", ab->contacts[i].name); printf("性别: %s\n", ab->contacts[i].sex); printf("电话: %s\n", ab->contacts[i].phone); printf("年龄: %.2f\n", ab->contacts[i].year); printf("分类: %s\n", ab->contacts[i].leibie); return; } } if (ab->size < MAX_CONTACTS) { printf("请输入新联系人的信息:\n"); printf("名字: %s\n", name); // 假设用户已经输入了名字,接下来可以让用户输入其他信息 // 这里省略了其他信息的输入代码 ab->contacts[ab->size++] = (Contact){.name = name}; // 添加新联系人 printf("联系人添加成功。\n"); } else { printf("通讯录已满,无法添加更多联系人。\n"); } } int main() { AddressBook myAddressBook = {{0}, 0}; // 初始化通讯录,没有联系人 addContact(&myAddressBook); return 0; }
请注意,这段代码只是一个示例,你需要根据实际情况添加其他联系人信息的输入和处理逻辑。此外,为了完整性,你可能还需要实现其他通讯录管理功能,比如删除联系人、搜索联系人等。
至于参考资料,你可以查看C语言的官方文档或者在线教程来了解更多关于结构体、数组和字符串处理的知识。这里提供一个C语言基础教程的链接,供你参考:
希望这些信息对你有帮助!如果有其他问题,欢迎继续提问。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
- ¥15 android 集成sentry上报时报错。
- ¥50 win10链接MySQL
- ¥35 跳过我的世界插件ip验证
- ¥15 抖音看过的视频,缓存在哪个文件
- ¥15 自定义损失函数报输入参数的数目不足
- ¥15 如果我想学习C大家有是的的资料吗
- ¥15 根据文件名称对文件进行排序
- ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
- ¥15 有人会用py或者r画这种图吗