鱼C论坛

 找回密码
 立即注册
查看: 927|回复: 3

[已解决]刚学C++的萌新遇到了问题,求求大佬们看看哪里出错了

[复制链接]
发表于 2019-12-4 21:56:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
******************************************************************************
刚学c不久,遇到一个题目,写不出来 ,求大佬们告知问题出在哪里
******************************************************************************
这里是问题:
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
(2) 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;         
(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
******************************************************************************************************************************
这是菜逼萌新我打的代码。。。
#include<stdio.h>
int main()
{
        int a, b=1,c,d,e=0,f=0,g=0;/*e为计算机学院的总分,f为理学院总分,g为电气学院总分*/
        printf("参赛院系:");
        printf("计算机学院\t理学院\t电气学院\n");
        printf("男子竞赛项目:");
        printf("1000米跑\t跳远\t铅球\n");
        printf("女子竞赛项目:");
    printf("800米跑\t50米跑\t引体向上\n");
        struct people
        {
                char name[10];
                char sex[5];
                int institute;/*计算机学院代号为1,理学院为2,电气学院为3*/
                char project[10];
                int rank;
        }stu[29];
        for(a=0;a<=29;a++)
        {
                printf("请输入第%d参赛人员信息\n",b);
                printf("请输入名字:");
        scanf("%s",stu[a].name);
                printf("请输入性别:");
                scanf("%s",stu[a].sex);
                printf("请输入院系代号:");
                scanf("%d",stu[a].institute);
                printf("请输入比赛项目:");
                scanf("%s",stu[a].project);
                printf("请输入名次:");
                scanf("%d",stu[a].rank);
                b=b+1;
        }
        for(c=0;c<=29;c++)
        {
                if(stu[c].institute==1)
                {
                        switch(stu[c].rank)/*switch用来判断该学生的名次并计算他的分数*/
                {
             case 1:d=7;break;
             case 2:d=5;break;
                case 3:d=3;break;
             case 4:d=2;break;
             case 5:d=1;break;
                }
                        e=e+d;
                }
                if(stu[c].institute==2)
                {
                        switch(stu[c].rank)
                {
             case 1:d=7;break;
             case 2:d=5;break;
                case 3:d=3;break;
             case 4:d=2;break;
             case 5:d=1;break;
                }
                        f=f+d;
                }
                if(stu[c].institute==3)
                {
                        switch(stu[c].rank)
                {
             case 1:d=7;break;
             case 2:d=5;break;
                case 3:d=3;break;
             case 4:d=2;break;
             case 5:d=1;break;
                }
                        g=g+d;
                }
        }
        printf("计算机学院的总分是%d",e);
        printf("理学院的总分是%d",f);
        printf("电气学院的总分是%d",g);
        return 0;
}
我现在只做到输出总分,后面的等下再去想想怎么做。

为什么我的程序运行到printf("请输入院系代号:");就不运行了;后面的也显示不出来,然后过了一会他就自动关了
最佳答案
2019-12-5 01:03:18
本帖最后由 jackz007 于 2019-12-5 01:05 编辑

                把下面 2 句修改一下就好了
. . . . . .
                printf("请输入院系代号:")            ;
                scanf("%d", & stu[a].institute)      ; // 读入整型数必须使用取址操作符
. . . . . .
                printf("请输入名次:")                ;
                scanf("%d", & stu[a].rank)           ; // 读入整型数必须使用取址操作符
. . . . . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-4 21:57:40 | 显示全部楼层
刚玩这个论坛,不会发截图。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-5 01:03:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-12-5 01:05 编辑

                把下面 2 句修改一下就好了
. . . . . .
                printf("请输入院系代号:")            ;
                scanf("%d", & stu[a].institute)      ; // 读入整型数必须使用取址操作符
. . . . . .
                printf("请输入名次:")                ;
                scanf("%d", & stu[a].rank)           ; // 读入整型数必须使用取址操作符
. . . . . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-5 07:08:51 From FishC Mobile | 显示全部楼层
jackz007 发表于 2019-12-5 01:03
把下面 2 句修改一下就好了
. . . . . .
                printf("请输入院系代号:")    ...

谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 11:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表