坚决打造绿色网络安全环境,禁止发布不当信息,发布需实名认证,已清理未实名用户

求C语言高手帮忙!已知有n名学生学号、姓名、课程成绩,设计一个菜单程序,完成功能如下:打印姓名,总分

  •    234游戏网友 提出于 2019-07-27 01:04:07
  • n已知有n名学生学号、姓名、课程成绩设计一个菜单程序,完成功能如下:①打印姓名,总分;打印学号、姓名、成绩、总分、名次。...

    请注意:本网坚决拥护中国共产党领导,坚决打击任何违规违法内容,若您发现任何有害信息,请E-Mail:q@qimei168.com举报,我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦,实现中国腾飞而努力!

    2019-04-24 11:10:34

    最佳回答 main()
    {void add1();
    void add2();
    void add3();
    int x;
    system("grftabl 936");
    textbackground(20);
    textcolor(14);
    while(1)
    {clrscr();
    printf("nnnn");
    printf(" *程序菜单*n");
    printf("****************************n");
    printf("* 1、 姓名、学号、总分 *n");
    printf("* 2、学号、姓名、成绩、总分、名次 *n");
    printf("* 3、 退 出 *n");
    printf("***************************|");
    printf(" 请选择1---3:");
    scanf("%d",&x);
    switch(x)
    {case 1:clrscr();add1();getch();continue;
    case 2:clrscr();add2();getch();continue;
    case 3:clrscr();add3();getch();break;}
    break;}}
    void add1()
    {int c[5];int i,t,j,m,v;
    int a[5]={106011023,11024,11025,11026,11027};
    char n[5][118]={" 张三 "," 李四 "," 王五 "," 杨六 "," 黄七 "};
    int b[5][4]={{67,89,91,83},
    {54,86,84,71},
    {67,94,78,81},
    {78,76,90,77},
    {96,87,83,81}};
    clrscr();
    for(v=0;v<5;v++)
    printf("n");
    printf(" # 成绩表 #n");
    printf("n");
    printf(" ┌————————┬————————┬———————┐n");
    printf(" │ 学号 │ 姓名 │ 总分 │n");
    for(i=0;i<5;i++)
    {printf(" ├————————┼————————┼———————┤n");
    printf(" │ %5d │",a[i]);
    for(m=0;m<6;m++)
    printf("%c",n[i][m]);
    c[i]=b[i][0]+b[i][1]+b[i][2]+b[i][3];
    printf("│%-9d",c[i]);
    printf("│");
    printf("n");
    }
    printf(" └————————┴————————┴———————┘n");
    getch();}
    void add2()
    {int c[5];int i,t,j,m,v;
    int a[5]={10501,10502,10503,10504,10505};
    char n[5][18]={" 肥 "," 军 "," 小 "," 沈 "," 李 "};
    int b[5][4]={{67,89,91,83},
    {54,86,84,71},
    {67,94,78,81},
    {78,76,90,77},
    {96,87,83,81}};
    clrscr();
    for(v=0;v<5;v++)
    printf("n");
    printf(" # 成绩表 #n");
    printf("n");
    printf(" |******|******|******|n");
    printf(" | 学号 | 姓名 | 总分 |n");
    for(i=0;i<5;i++)
    {printf(" |******|******|******|n");
    printf(" |%6d|",a[i]);
    for(m=0;m<6;m++)
    printf("%c",n[i][m]);
    c[i]=b[i][0]+b[i][1]+b[i][2]+b[i][3];
    printf("|%-6d",c[i]);
    printf("|");
    printf("n");
    }
    printf(" |********************|n");
    getch();}
    void add3()
    {
    printf("n");
    getch();} 若未找到您需要的回答,请添加微信公众号每日时讯榜(搜索公众号或者,第一个公众号即是)留言即可,管理员会在第一时间内给予答复。

    2019-04-24 11:10:34

    • 和你要的差不多!如果要帮你改改

      #include 
      #include 
      #include 
      #include 
      int n;
      struct student
      {
          char name[100];
          int number;
          float math;
          float english;
          float conputer;
          float chine;
          float sum;
          struct student *node; 
      };
      int input(struct student *head)
      {
        struct student *p1=head->node;
        int i=1;
        printf("全班信息如下:");
        printf("================================================================================");
        while(p1!=NULL)
        {
              printf("第%d名 姓名%s 学号%d  数学%5.2f 英语%5.2f 计算机%5.2f 语文%5.2f 总分%5.2f",i++,p1->name,p1->number,p1->math,p1->english,p1->conputer,p1->chine,p1->sum);
             p1=p1->node;
             printf("");
        }
          printf("================================================================================");

      return 0;
      }


      int sort(struct student *head)
      {
        struct student *p1,*p2;
        char ch[100];
        int temp,i,j;
        float temp1;
        for(i=1;i  {
            p1=p2=head->node;
            for(j=0;j      {
                 p1=p2;
                 p2=p2->node;
                 if(p1->sumsum)
                 {
                     strcpy(ch,p1->name);
                     strcpy(p1->name,p2->name);
                     strcpy(p2->name,ch);

                     temp=p1->number;
                     p1->number=p2->number;
                     p2->number=temp;

                     temp1=p1->chine;
                     p1->chine=p2->chine;
                     p2->chine=temp1;

                     temp1=p1->conputer;
                     p1->conputer=p2->conputer;
                     p2->conputer=temp1;


                     temp1=p1->english;
                     p1->english=p2->english;
                     p2->english=temp1;


                     temp1=p1->math;
                     p1->math=p2->math;
                     p2->math=temp1;

                     temp1=p1->sum;
                     p1->sum=p2->sum;
                     p2->sum=temp1;
                 
                 }
            
            
            }

        }
        input(head);
      return 0;
      }
      struct student * editor(void)
      {
          struct student *head,*p1,*p2;
          int num;
          head=(struct student *)malloc(sizeof(struct student));
          if(head==NULL)
          {
              printf("内存不足分配失败!");
              exit(-1);
          }
          head->node=NULL;
          p2=head;
          printf("请输入学生学号[0退出] ");
          scanf("%d",&num);
          while(num!=0)
          {
              p1=(struct student *)malloc(sizeof(struct student));
              if(p1==NULL)
              {
                  printf("内存不足分配失败!");
                  exit(-1);
              }
              printf("请输入学生姓名 ");
              scanf("%s",p1->name);
              getchar();
              printf("");
              printf("请输入数学成绩 ");
              scanf("%f",&p1->math);
               getchar();
               printf("");
               printf("请输入英语成绩 ");
               scanf("%f",&p1->english);
               getchar();
               printf("");
               printf("请输入计算机成绩 ");
               scanf("%f",&p1->conputer);
               getchar();
               printf("");
               printf("请输入语文成绩 ");
               scanf("%f",&p1->chine);
               getchar();
               printf("");
               p1->sum=p1->chine+p1->conputer+p1->english+p1->math;
               p1->number=num;
               p1->node=NULL;
               p2->node=p1;
               p2=p1;
               n++;
               printf("请输入学生学号[0退出] ");
               scanf("%d",&num);
               getchar();
               printf("");
               
                       
          }
          sort(head);
          
          return head;
      }
      int main()
      {
          struct student *head;
          head=editor();
          
          return 0;
      }

      2019-04-24 11:10:34

    相似问题

    精彩推荐