狐狸与兔兔 发表于 2022-2-9 17:07:57

作业43.定义结构体数组的个数出现的问题


狐狸与兔兔 发表于 2022-2-9 17:11:12

截错图辽,那里是struct Student stu;
但还是出错,请问是编译器的问题么?

傻眼貓咪 发表于 2022-2-9 18:06:08

请问有完整代码吗?

狐狸与兔兔 发表于 2022-2-10 10:45:33

傻眼貓咪 发表于 2022-2-9 18:06
请问有完整代码吗?

#include<stdio.h>
struct Student
{
        int id;
        int sex;
        char qq;
        char email;
};

int main(void)
{
        char ch;
        int i, n,c;

        printf("请输入需要录入的数据数量:");
        scanf_s("%d", &n);

        struct Student stu;//大佬,就是这里提示出错

        for (i = 0; i < n; i++)
        {
                printf("请录入第%d个学生的数据...\n", i + 1);

                printf("请输入学生的ID:");
                scanf_s("%d", &stu.id);

                printf("请输入学生的性别(1/0):");
                scanf_s("%d", &stu.sex);

                printf("请输入学生的qq号:");
                scanf_s("%s", stu.qq,32);

                printf("请输入学生的Email:");
                scanf_s("%s", stu.email,64);
        }
        printf("\n=====数据录入完毕=====\n");

        printf("\n以下是录入后所有男生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex = 1);
                {
                        printf("ID:%d\n", stu.id);
                        printf("QQ:%s\n", stu.qq);
                        printf("Email:%s\n", stu.email);
                }
        }

        printf("\n以下是录入后所有女生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex = 0);
                {
                        printf("ID:%d\n", stu.id);
                        printf("QQ:%s\n", stu.qq);
                        printf("Email:%s\n", stu.email);
                }
        }

        return 0;
}

傻眼貓咪 发表于 2022-2-10 13:31:20

你的scanf_s("%d", &n);<-------冒号是全角字符(需要切换成英文的符号)

还有就是你的代码全部,没错是全部的循环语句里的 stu 访问方法错了,正确应该是 stu(有 i 因为是数组。)

傻眼貓咪 发表于 2022-2-10 13:46:33

因为我是用手机看,大概帮你修改了代码,应该没有问题了:#include<stdio.h>

struct Student
{
        int id;
        int sex;
        char qq;
        char email;
};

int main(void)
{
        char ch;
        int i, n, c;
       
        printf("请输入需要录入的数据数量:");
        scanf_s("%d", &n); // <----- 这里的 ;
        struct Student stu; // 改了上面,这里基本没有问题了
       
        for (i = 0; i < n; i++)
        {
                printf("请录入第%d个学生的数据...\n", i + 1);
                printf("请输入学生的ID:");
                scanf_s("%d", &stu.id); // stu
               
                printf("请输入学生的性别(1/0):");
                scanf_s("%d", &stu.sex); // stu
               
                printf("请输入学生的qq号:");
                scanf_s("%s", stu.qq, 32); // stu
               
                printf("请输入学生的Email:");
                scanf_s("%s", stu.email, 64); // stu
        }
       
        printf("\n=====数据录入完毕=====\n");
        printf("\n以下是录入后所有男生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex == 1) // <----- 这里用 == 还有就是不要半冒号 ';' 还有 stu
                {
                        printf("ID:%d\n", stu.id); // stu
                        printf("QQ:%s\n", stu.qq); // stu
                        printf("Email:%s\n", stu.email); // stu
                }
        }
       
        printf("\n以下是录入后所有女生的数据:\n");
        for (i = 0; i < n; i++)
        {
                if (stu.sex == 0) // 如上,双等于符、不要半冒号 ';' 还有 stu
                {
                        printf("ID:%d\n", stu.id); // stu
                        printf("QQ:%s\n", stu.qq); // stu
                        printf("Email:%s\n", stu.email); // stu
                }
        }
        return 0;
}

狐狸与兔兔 发表于 2022-2-10 14:47:36

傻眼貓咪 发表于 2022-2-10 13:46
因为我是用手机看,大概帮你修改了代码,应该没有问题了:

注意到了!感谢{:5_109:}

傻眼貓咪 发表于 2022-2-10 15:14:55

狐狸与兔兔 发表于 2022-2-10 14:47
注意到了!感谢

不客气,大家学习学习{:10_254:}
页: [1]
查看完整版本: 作业43.定义结构体数组的个数出现的问题