Destiny_ing 2024-05-30 21:09 采纳率: 71%
浏览 1
已结题

这个运行错误怎样修改呢?

img


我想实现的功能是,如果已经存在这个联系人就显示已存在,如果不存在的话就新建,但是这里为什么错误呢。如何就可以实现我以上所说的功能呢?

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-05-30 21:09
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    从你提供的代码片段来看,存在一些语法错误和逻辑问题。我将帮你指出这些问题,并提供修改后的代码示例。

    首先,代码中有一些明显的错误,例如:

    1. voidxinjian 应该是 void xinjian,函数名和参数列表之间应该有空格。
    2. char name[9e]; 应该是 char name[10];,数组声明需要一个整数,且通常需要为字符串加上一个空字符的位置。
    3. scanfprintf 中的字符串格式不正确,缺少了 & 符号来引用变量。
    4. for 循环中的 if 语句后面应该使用 {} 来定义代码块。
    5. strcmp 函数的参数应该是 strcmp(qw->sz[i].name, name),而不是 strcmp(qw->sz[i].name, name)
    6. printf 中的 ]t 应该是 \n\t,表示换行和制表符。
    7. dianhua 应该是一个整型数组,所以 %d 是正确的,但 year 应该是 int 类型,而不是 float
    8. printf 中的 %f}t 应该改为 %d\n\t
    9. printf 中的 _%sit 应该改为 %s\n\t

    下面是修改后的代码示例:

    #include <stdio.h>
    #include <string.h>
    
    #define MAX_CONTACTS 100
    
    typedef struct {
        char name[10];
        char sex[10];
        int dianhua;
        int year;
        char leibie[10];
    } Contact;
    
    typedef struct {
        Contact sz[MAX_CONTACTS];
        int size;
    } ContactList;
    
    void xinjian(ContactList *qw) {
        char name[10];
        int i;
    
        printf("请输入你要增加的人的姓名:\n");
        scanf("%s", name);
    
        for(i = 0; i < qw->size; i++) {
            if(strcmp(qw->sz[i].name, name) == 0) {
                printf("此联系人已存在:\n");
                return;
            }
        }
    
        // 如果联系人不存在,添加新联系人
        strcpy(qw->sz[qw->size].name, name);
        // 这里应该还有代码来获取其他联系人信息,例如性别、电话、年龄和分类
        // 例如:
        // printf("性别: ");
        // scanf("%s", qw->sz[qw->size].sex);
        // ...
        qw->size++;
    
        printf("名字: %s\n\t", qw->sz[qw->size-1].name);
        printf("性别: %s\n\t", qw->sz[qw->size-1].sex);
        printf("电话: %d\n\t", qw->sz[qw->size-1].dianhua);
        printf("年龄: %d\n\t", qw->sz[qw->size-1].year);
        printf("分类: %s\n\t", qw->sz[qw->size-1].leibie);
        printf("建立成功。\n");
    }
    
    int main() {
        ContactList myContacts = {{0}, 0}; // 初始化联系人列表
        xinjian(&myContacts); // 调用函数添加联系人
        return 0;
    }
    

    请注意,这个示例代码只是一个基础的框架,你需要根据实际情况添加获取其他联系人信息的代码。

    至于参考资料,你可以查看C语言的官方文档,或者在一些编程社区和论坛中搜索C语言联系人管理程序的示例。例如,CSDN、Stack Overflow等都是很好的资源。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日

悬赏问题

  • ¥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画这种图吗