鱼C论坛

 找回密码
 立即注册
查看: 2590|回复: 7

结构体的问题

[复制链接]
发表于 2012-7-10 17:09:23 | 显示全部楼层 |阅读模式
1鱼币
就是当我输入完学生信息时,只有姓名学号可以显示出来,学科分数都是0的?
本人新手...:handshake








#include<stdio.h>
#include <stdlib.h>


int a;


struct mark
{
        float Chinese;
        float Math;
        float English;
}mark[100];




struct student
{
        char name[10];
        int number;
}student[100];
float mean(float n1,float n2,float n3)
{
        float result;
        result=(n1+n2+n3)/3;
        return result;
}


float Average(float m1,float m2,float m3)
{
        float sum=0;
        float result;
        sum=m1+m2+m3+sum;
    result=sum/a;
        return result;


}


int main()


{
        int d,temp;
        int sure,vren;
    int j,num,ber;
        int b,t1,g,k,h,i;   //用于循环的数//
        float sum=0;
        float m,Averagel;
        char choose;
        printf("智洲出品\n");
again:for(b=0;b<5;b++)
          {
                  printf("\n");
          }
          printf("\t----------------欢迎来到小型学生成绩管理系统---------------\n");
          printf("\t-                                                         -\n");
          printf("\t-                      1.录入学生信息                     -\n");
          printf("\t-                      2.查找学生信息                     -\n");
          printf("\t-                      3.管理学生成绩                     -\n");
          printf("\t-                      4.统计排名                         -\n");
          printf("\t-                      5.退出系统                         -\n");
          printf("\t-                                                         -\n");
          printf("\t-----------------------------------------------------------\n");
          printf("\n");
agn:printf("\t请选择");
        printf(">");
        scanf("%d",&temp);
        system("cls");
        switch(temp)
        {
        case(1):          
                {       
                        printf("\n");
                        printf("\t\t-------------------------------------------\n");
                        printf("\t\t-              录入学生信息               -\n");
                        printf("\t\t-------------------------------------------\n");
                        printf("\n");
                        printf("请输入你要管理的学生的个数>");
                        scanf("%d",&a);
                        printf("\n");
                        if(a<101)
                        {
                                for(i=0;i<a;i++)
                                {
                                        printf("------------------------------------------------------------\n");
                                        printf("\n");
                                        printf("NO%d\n",i+1);
                                        printf("姓名:");
                                        scanf("%s",&student[i].name);
                                        printf("学号(1--100按顺序):");
                                        scanf("%d",&student[i].number);
                                        printf("<<详细成绩>>\n");
                                        printf("语文:");
                                        scanf("%d",&mark[i].Chinese);
                                        printf("数学:");
                                        scanf("%d",&mark[i].Math);
                                        printf("英语:");
                                        scanf("%d",&mark[i].English);
                                        printf("\n");
                                       
                                }
                               
                        }
                        scanf("%c",&vren);
                        printf("确认输入?\n");
                        printf("确认后将自动返回主菜单\n");
                        scanf("%c",&sure);
                        printf("OK\n");
                        system("cls");
                        goto again;
                        break;
                }
        case(2):
                {
                       
                        printf("\t\t-------------------------------------------------\n");
                        printf("\t\t-                学生详细成绩                   -\n");
                        printf("\t\t-------------------------------------------------\n");
                        printf("\n");
                        printf("\t----------姓名------学号-----语文---数学---英语----------\n");
                        for(i=0;i<a;i++)
                        {
                                printf("\t          %s",student[i].name);
                                printf("         00%d",student[i].number);
                                printf("       %d",mark[i].Chinese);
                                printf("      %d",mark[i].Math);
                                printf("     %d",mark[i].English);
                                printf("\n");
                        }
                        printf("\t---------------------------------------------------------\n");
                        printf("\n");
                        printf("请你输入要找的学生的个数:\n");
                        scanf("%d",&ber);
                        for(i=0;i<ber;i++)
                        {
                                printf("请你输入需要查找的学生的学号>");
                                scanf("%d",&num);
                                if(num<100)
                                {
                                        for(j=0;j<100;j++)
                                        {
                                                if(num==student[j].number)
                                                {
                                                        printf("\t%s\t%d\t\t%d\t%d\t%d\n",student[j].name,student[j].number,mark[j].Chinese,mark[j].Math,mark[j].English);
                                                }
                                        }
                                }
                        }
                        getchar();
                        printf("退出?(Y/N),退出后将自动返回主菜单.\n");
            choose=getchar();
                        if(choose=='Y')
                        {
                                system("cls");
                                goto again;
                        }
                    break;
                       
                }          
       
       
       
        case(3):
                {
                       
againn:for(i=0;i<5;i++)
           {
                   printf("\n");
           }
           printf("\t\t------------------------------------------\n");//
           printf("\t\t-                                        -\n");
           printf("\t\t-           6.统计个人平均分             -\n");
           printf("\t\t-           7.统计总平均分               -\n");
           printf("\t\t-           8.计算个人总分               -\n");
           printf("\t\t-           9.统计总分                   -\n");
           printf("\t\t-                                        -\n");
           printf("\t\t------------------------------------------\n");
           printf("\n");
           printf("\t\t请选择>");
           scanf("%d",&d);
           switch(d)
           {
           case(6):
                   {
                           for(t1=0;t1<a;t1++)
                           {
                                   m=mean(mark[t1].Chinese,mark[t1].Math,mark[t1].English);
                                   printf("%s三科的平均分为:%.2f\n",student[t1].name,m);
                                   printf("\n");
                           }       
                           system("cls");
                           goto againn;
                           break;
                   }
           case(7):
                   {
                           for(g=0;g<a;g++)
                           {
                                   Averagel=Average(mark[g].Chinese,mark[g].Math,mark[g].English);
                           }   
                          
                           printf("总的平均分为:%.2f\n",Average);
                           system("cls");
                           goto againn;
                           break;
                   }
           case(8):
                   {
                          
                           for(k=0;k<a;k++)
                           {
                                   printf("%s的总分为:%d\n",student[k].name,mark[k].Chinese+mark[k].Math+mark[k].English);
                           }
                           system("cls");
                           goto againn;
                           break;
                   }
           case(9):
                   {
                          
                           for(h=0;h<a;h++)
                           {
                                   sum=mark[h].Chinese+mark[h].Math+mark[h].English+sum;
                           }
                           printf("全部的总分为:%d\n",sum);         
                           system("cls");
                           goto againn;
                           break;
                   }
                  
           default:
                   {
                           printf("你输入了无效的数字!请从新输入!\n");
                           goto againn;
                   }
                   break;
           }
           goto again;
           break;
          
                }
        case(4):
                {
                       
                       
                       
                        goto again;
                        break;
                }
        case(5):
                {
                        printf("已退出..\n");
                        goto end;
                        break;
                }
        default:
                {
                        printf("你输入了无效的数字,请从新输入!!\n");
                        goto agn;
                        break;
                }
               
        }
       
       
end:return 0;
       
}
                  

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-10 18:46:47 | 显示全部楼层
你学多久的C咯?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-10 20:58:45 | 显示全部楼层
:Q`````````````````必须的·····粗心惹的祸····
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-10 21:01:19 | 显示全部楼层
:L  发错表情,其实你是定义的那些成绩是float类型的,输出用的格式却是%d,所以就是0,你可以换成%f试下吧·······:L
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-11 18:17:16 | 显示全部楼层
哦,好像是喔.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-11 18:18:05 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-11 19:18:20 | 显示全部楼层

你以前学过什么语言哦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-7-12 18:09:35 | 显示全部楼层
丿夏夜灬彬刂 发表于 2012-7-11 19:18
你以前学过什么语言哦

没有噢..
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-14 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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