标题:【求助】编写了一个结构体,函数调用总是显示不合法
取消只看楼主
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
结帖率:50%
 问题点数:0 回复次数:7 
【求助】编写了一个结构体,函数调用总是显示不合法
您看看究竟是什么毛病,我愣是没看出来,可能比较长,但很多都是重复的。
#include<stdio.h>
struct student
{
    int num;
    int total;
    int Chi,mat,Eng,phy,che,bio,pol,his,geo;
};

int main()
{
    void input(struct student stu[10]);
    void tp(struct student stu[10]);
    void chinese(struct student stu[10]);
    void math(struct student stu[10]);
    void english(struct student stu[10]);
    void physics(struct student stu[10]);
    void chemistry(struct student stu[10]);
    void biology(struct student stu[10]);
    void politics(struct student stu[10]);
    void history(struct student stu[10]);
    void geography(struct student stu[10]);
    int i,m;
    struct student stu[10],*p=stu;
    input(p);
    tp(p);
    chinese(p);
    math(p);
    english(p);
    physics(p);
    chemistry(p);
    biology(p);
    politics(p);
    history(p);
    geography(p);
    for(m=0;m<20;m++)
    {
        printf("如要查询学生成绩,请输入学生学号:");
        scanf("%d",&i);
        printf("\n");
        printf("学号     语文    数学    英语    物理    化学    生物    政治    历史    地理\n");
        printf("%d %d %d %d %d %d %d %d %d %d",stu[i].num,stu[i].Chi,stu[i].mat,stu[i].Eng,stu[i].phy,stu[i].che,stu[i].bio,stu[i].pol,stu[i].his,stu[i].geo);
    return 0;
}


void input(struct student stu[10])
{
    int i;
    printf("请输入学生相应的信息\n");
    printf("学号     语文    数学    英语    物理    化学    生物    政治    历史    地理\n");
    for(i=0;i<9;i++)
        scanf("%d %d %d %d %d %d %d %d %d %d",&stu[i].num,&stu[i].Chi,&stu[i].mat,&stu[i].Eng,&stu[i].phy,&stu[i].che,&stu[i].bio,&stu[i].pol,&stu[i].his,&stu[i].geo);
        printf("\n");
}

void tp(struct student stu[10])
{
    int i,number1,number2;
    int max,min;
    for(i=0;i<10;i++)
        stu[i].total=stu[i].Chi+stu[i].mat+stu[i].Eng+stu[i].phy+stu[i].che+stu[i].bio+stu[i].pol+stu[i].his+stu[i].geo;
    max=stu[0].total;
    for(i=1;i<10;i++)
        if(stu[i]>max)
        {
            max=stu[i].total;
            number=i;
        }
    printf("最高分是%d  学号是%d\n",max,number1);
    min=stu[0].total;
    for(i=1;i<10;i++)
        if(stu[i]<min)
        {
            min=stu[i].total;
            number2=i;
        }
    printf("最低分是%d  学号是%d\n",min,number2);

}

void chinese(struct student stu[10])
{
    int max,min;
    int fail;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("语文最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("语文最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].Chi<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].Chi,stu[i].num);
}

void math(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("数学最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("数学最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].mat<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].mat,stu[i].num);
}

void english(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("英语最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("英语最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].Eng<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].Engu[i].num);
}

void physics(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("物理最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("物理最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].phy<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].phy,stu[i].num);
}

void chemistry(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("化学最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("化学最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].che<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].che,stu[i].num);
}
void biology(struct student stu[10])
{
    int max,min;
    int fail;
    max=stu[0].bio;
    for(i=1;i<10;i++)
        if(stu[i].bio>max)
        {
            max=stu[i].bio;
            number=i;
        }
    printf("生物最高分是%d  学号是%d\n",max,number1);
    min=stu[0].bio;
    for(i=1;i<10;i++)
        if(stu[i].bio<min)
        {
            min=stu[i].bio;
            number2=i;
        }
    printf("生物最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].bio<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].bio,stu[i].num);
}


void politics(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("政治最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("政治最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].pol<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].pol,stu[i].num);
}

void history(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("历史最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("历史最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].his<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].his,stu[i].num);
}

void geography(struct student stu[10])
{
    int max,min;
    max=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi>max)
        {
            max=stu[i].Chi;
            number=i;
        }
    printf("地理最高分是%d  学号是%d\n",max,number1);
    min=stu[0].Chi;
    for(i=1;i<10;i++)
        if(stu[i].Chi<min)
        {
            min=stu[i].Chi;
            number2=i;
        }
    printf("地理最低分是%d  学号是%d\n",min,number2);
    for(i=0;i<10;i++)
        if(stu[i].geo<60)
            printf("以下同学未及格,分数是%d 学号是%d\n",stu[i].geo,stu[i].num);
        return 0;
}
搜索更多相关主题的帖子: english biology include 结构体 
2015-06-21 15:03
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
晕啊晕
2015-06-21 15:04
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
C:\Program Files\Microsoft Visual Studio\MyProjects\结构体\学生.cpp(47) : error C2601: 'input' : local function definitions are illegal
2015-06-21 15:15
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
大神快粗线
2015-06-21 15:32
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
学校的实验,但是做了一天了,还是没有调试好
2015-06-22 10:00
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
有错,但是不会改。。。
2015-06-22 10:18
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
谢谢大神的助攻,时间加起来调试了一整天了,真心感谢大神的程序,现在已经完美运行了~
2015-06-22 10:36
菁城
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-3-13
得分:0 
我用的是VS2012,有些函数上不太一样,改程序已经晕了,所以没注意啦,再次谢谢大神
2015-06-22 10:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446840-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.585317 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved