标题:求指教 菜单程序
只看楼主
yanhua111
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-5-31
结帖率:0
已结贴  问题点数:20 回复次数:1 
求指教 菜单程序
编了好几天了,一直没有编出来,求大神指点#include<stdio.h>
#define maxnumber 10;
int main()
{int a;
int num[10];
int score[10][3];
float aver[10];
void input(long num[],int score[][3],float aver[],maxnumber);
void search(long num[], int score[][3],float aver[],maxnumber);
void output(long num[], int score[][3],float aver[],maxnumber);
              printf("菜单\n");
printf("-------------------------------\n");
printf("1.请输入学生的学号和成绩\n");
printf("2查询学生的成绩\n");
printf("3.打印输出学生成绩\n");

printf("0.退出系统\n");
printf("-------------------------------\n");
do
{
    printf("请选择(0-3):\n");
scanf("%d",&a);
if(a<0||a>3)
printf("输入错误\n");
else
switch(a)
{
case 0:printf("谢谢使用!\n");break;
case 1:input(num,score,aver);
    break;
case 2:search(num,score,aver);break;
case 3:printf("正在打印...\n");
    output(num,score,aver);break;        
default:printf("输入错误!请重新输入\n");
}
while(a!=0);
return 0;
}



void input(long num[], int score[][3],float aver[],maxnumber)
{int i,j;
for (i=0;i<maxnumber;i++)
  {  printf("学号为:");
     scanf("%ld",&num[i]);
     printf("\n各科成绩英语 高数 计算机为:\n");
     aver[i]=0;
     for (j=0;j<3;j++)
       { scanf("%d",&score[i][j]);
          aver[i]+=score[i][j];
       }
     aver[i]/=3;
     }
}

void serch(long num[],int score[][3],float aver[],maxnumber)
{int i,j,t;
  printf(" 你的学号是:\n");
  for (i=0;i<10;i++)
      if(t==num[i])
    { printf ("%8ld",num[i]);
      for (j=0;j<3;j++)
          printf("%5d",score[i][j]);
      printf("%8.1f",aver[i]);
      printf("\n");}}

void output(long num[], int score[][3],float aver[],maxnumber)
{ int i,j;
  printf("    学号 英语 高数 计算机 平均分\n");
  for (i=0;i<n;i++)
    { printf ("%8ld",num[i]);
      for (j=0;j<3;j++)
          printf("%5d",score[i][j]);
      printf("%8.1f",aver[i]);
      printf("\n");
      }
 }
搜索更多相关主题的帖子: num int score float printf 
2018-05-31 23:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
#include<stdio.h>
#define maxnumber 10

void input(long num[], int score[][3],float aver[]);
void search(long num[], int score[][3],float aver[]);
void output(long num[], int score[][3],float aver[]);

int main()
{
    int a;
    long num[10];
    int score[10][3];
    float aver[10];
    do
    {
        printf("\n菜单\n");
        printf("-------------------------------\n");
        printf("1.请输入学生的学号和成绩\n");
        printf("2查询学生的成绩\n");
        printf("3.打印输出学生成绩\n");
        printf("0.退出系统\n");
        printf("-------------------------------\n");
        printf("请选择(0-3):\n");
        scanf("%d",&a);
        if(a<0||a>3)
            printf("输入错误\n");
        else
            switch(a)
            {
                case 0:
                    printf("谢谢使用!\n");
                    break;
                case 1:
                    input(num,score,aver);
                    break;
                case 2:
                    search(num,score,aver);
                    break;
                case 3:
                    printf("正在打印...\n");
                    output(num,score,aver);
                    break;
                default:
                    printf("输入错误!请重新输入\n");
            }
    }
    while(a!=0);
    return 0;
}

void input(long num[], int score[][3],float aver[])
{
    int i,j;
    for (i=0; i<maxnumber; i++)
    {
        printf("学号为:");
        scanf("%ld",&num[i]);
        printf("\n各科成绩英语 高数 计算机为:\n");
        aver[i]=0;
        for (j=0; j<3; j++)
        {
            scanf("%d",&score[i][j]);
            aver[i]+=score[i][j];
        }
        aver[i]/=3;
    }
}

void search(long num[],int score[][3],float aver[])
{
    long i,j,t;
    printf(" 你的学号是:\n");
    scanf("%ld",&t);
    for (i=0; i<maxnumber; i++)
        if(t==num[i])
        {
            printf ("%8ld",num[i]);
            for (j=0; j<3; j++)
                printf("%5d",score[i][j]);
            printf("%8.1f",aver[i]);
            printf("\n");
        }
}

void output(long num[], int score[][3],float aver[])
{
    int i,j;
    printf("    学号 英语 高数 计算机 平均分\n");
    for (i=0; i<maxnumber; i++)
    {
        printf ("%8ld",num[i]);
        for (j=0; j<3; j++)
            printf("%5d",score[i][j]);
        printf("%8.1f",aver[i]);
        printf("\n");
    }
}
2018-06-01 04:42



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




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

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