| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:大侠们帮我找找问题,谢谢了
取消只看楼主 加入收藏
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:1 
大侠们帮我找找问题,谢谢了
这个程序其他问题倒没有,唯一的一个问题就是输出的成绩都是0.00,检查数据类型,应该是没问题,为什么呢?
大家帮我分析分析,谢谢了

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
#include<time.h>

struct student
{
    char name[10];
    char num[50];
    float chinese;
    float math;
    float english;
    float chemistry;
    float physics;
    float totalscore;
   
};

student s[1000];
int amount,xz1;
//基本信息的录入
void print1()
{
    printf("         *************************************************\n\n");
    printf("                        高考电脑自动评分系统\n\n");
    printf("         *************************************************\n\n");
    printf("您想输入几位学生的成绩,请告诉电脑:");
    scanf("%d",&amount);
    printf("您想输入---%d---位同学的成绩。\n",amount);
    for(int i=0;i<amount;i++)
    {
        printf("          <<第%d位同学的信息>>\n\n",i+1);
        printf("\t请输入学生的姓名---");
        scanf("%s",&s[i].name);
        printf("\t请输入学生的编号---");
        scanf("%s",&s[i].num);
        printf("\t请输入学生的成绩\n");
        printf("\t语文成绩---");
        scanf("%s",&s[i].chinese);
        printf("\t数学成绩---");
        scanf("%s",&s[i].math);
        printf("\t英语成绩---");
        scanf("%s",&s[i].english);
        printf("\t化学成绩---");
        scanf("%s",&s[i].chemistry);
        printf("\t物理成绩---");
        scanf("%s",&s[i].physics);
        printf("\n");
    }
}
//单科和最高分的目录
void submenu()
{
    printf("\n");
    printf("\t输入您要查询的项目:\n");
    printf("\t0------------打印总分最高分\n");
    printf("\t1------------打印语文最高分\n");
    printf("\t2------------打印数学最高分\n");
    printf("\t3------------打印英语最高分\n");
    printf("\t4------------打印化学最高分\n");
    printf("\t5------------打印物理最高分\n");
    printf("\t6------------退出\n");

}
//操作目录
void rootmenu()
{
    printf("\n");
    printf("\t你想知道什么高考信息,请选择:\n");
    printf("\t0--------打印个人的总分\n");
    printf("\t1--------打印所有人信息\n");
    printf("\t2--------打印总分和单科最高分\n");
    printf("\t3--------退出\n");
   
}
//单科和最高分的查询
void subquery()
{
    system("cls");
    while(1)
    {
        int b;
        submenu();
        printf("\t\t");
        printf("输入您要查询的项目:");
        scanf("%d",&b);
        system("cls");
        printf("\n\n\n");
        int aaa=0;
        if(b==0)
        {
            float j[1000];
            float max=0;
            for(int g=0;g<amount;g++)
            {
                j[g]=s[g].chinese+s[g].math+s[g].english+s[g].physics+s[g].chemistry;
                if(max<j[g])
                {
                    max=j[g];
                    aaa=g;
                }
            }
            printf("\t\t%s的总分为最高分,分数为:%.2f分\n",s[aaa].name,max);
        }
        if(b==1)
        {
            float max1=s[0].chinese;
            for(int g=0;g<amount;g++)
            {
                if(max1<s[g].chinese)
                {
                    max1=s[g].chinese;
                    aaa=g;
                }
            }
            printf("\t\t语文最高分为%s,分值为:%.2f分",s[aaa].name,max1);
        }
        if(b==2)
        {
            float max2=s[0].math;
            for(int g=0;g<amount;g++)
            {
                if(max2<s[g].math)
                {
                    max2=s[g].math;
                    aaa=g;
                }
            }
            printf("\t\t数学最高分为%s,分值为:%.2f分",s[aaa].name,max2);
        }
        if(b==3)
        {
            float max3=s[0].english;
            for(int g=0;g<amount;g++)
            {
                if(max3<s[g].english)
                {
                    max3=s[g].english;
                    aaa=g;
                }
            }
            printf("\t\t英语最高分为%s,分值为:%.2f分",s[aaa].name,max3);
        }
        if(b==4)
        {
            float max4=s[0].chemistry;
            for(int g=0;g<amount;g++)
            {
                if(max4<s[g].chemistry)
                {
                    max4=s[g].chemistry;
                    aaa=g;
                }
            }
            printf("\t\t物理最高分为%s,分值为:%.2f分",s[aaa].name,max4);
        }
        if(b==5)
        {
            float max5=s[0].physics;
            for(int g=0;g<amount;g++)
            {
                if(max5<s[g].physics)
                {
                    max5=s[g].physics;
                    aaa=g;
                }
            }
            printf("\t\t化学最高分为%s,分值为:%.2f分",s[aaa].name,max5);
        }
        if(b==6)
        {
            system("cls");
            rootmenu();
        }

    }
}


//查询每个学生的所有单项成绩
void rootquery()
{
    while(1)
    {
        int a;
        printf("\t\t");
        scanf("%d",&a);
        system("cls");
        if(a==0)
        {
            for(int y=0;y<amount;y++)
            {
                s[y].totalscore=s[y].chinese+s[y].math+s[y].english+s[y].physics+s[y].chemistry;
                printf("\t\t%s的总分为%.2f\n",s[y].name,s[y].totalscore);
            }
        }
        if(a==1)
        {
            for(int h=0;h<amount;h++)
            {
                printf("\t\t%s的个人信息为:语文%.2f 数学%.2f 英语%.2f\n",s[h].name,s[h].chinese,s[h].math,s[h].english);
                printf("\t\t\t物理%.2f 化学%.2f\n",s[h].physics,s[h].chemistry);
            }
        }
        if(a==3)
        {   
            break;
        }
        rootmenu();
        if(a==2)
        {
            subquery();
        }
    }
   
}





main()
{
    print1();
    rootmenu();
    rootquery();
   
   
}
   
搜索更多相关主题的帖子: english include amount 信息 
2010-06-23 22:18
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
收藏
得分:0 
谢谢了,我太不仔细了,看来复制粘贴不是好习惯,呵呵
2010-06-24 18:25
快速回复:大侠们帮我找找问题,谢谢了
数据加载中...
 
   



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

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