| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2001 人关注过本帖
标题:本人拙作-------学生成绩管理系统
只看楼主 加入收藏
bugyang7
Rank: 1
来 自:苏州
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-7-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
本人拙作-------学生成绩管理系统

假设一班有10名学生,一学期有5门课程,编写c程序实现如下功能:
(1)录入每名学生的各科成绩
(2)求出每名学生的平均成绩和总分
(3)求每门课程的平均分、及格率、最高成绩和最低成绩
(4)输出总成绩前5名的学生学号、各科成绩和总分
(5)输出各科补考学生的学号和成绩

#include <stdio.h>
#include <math.h>
void input ( int a [][8] )
{
   int m,n;
   printf ("输入学号及成绩:\n");
   for (m=0; m<10; m++ )
       for (n=0; n<6; n++)
           scanf ("%d",&a[m][n]);
}

void average (int a[][8])
{
    int m,n,s=0;
    for (m=0; m<10; m++ )
    { for (n=1; n<6; n++)
       {
           s= s + a[m][n];
       }
    a[m][6]= s/5;
    a[m][7]= s;
    s=0;
    }

}

void everysubject (int a[][8])
{
    int m,n,s=0,k=0,max=0,min=200;
    int b[5],ma[5],mi[5];
    float d[5];
    for (m=1; m<6; m++ )
    { for (n=0; n<10; n++)
    {s= a[n][m]+s;
    if (a[n][m] >= 60 )
        k++;
    if (a[n][m]>max)
        max = a[n][m];
    if (a[n][m]<min)
        min = a[n][m];
    }
    b[m-1] = s/10;
    d[m-1] = k/10.0;
    ma[m-1] = max;
    mi[m-1] = min;
    s=0;
    k=0;
    max=0;
    min=200;
    }
    printf ("每一门课程的平均分:\n");
    for(m=0;m<5;m++)
        printf ("  %d    ",b[m]);
        printf("\n");

    printf ("每一门课程的及格率:\n");
    for(m=0;m<5;m++)
        printf ("  %f    ",d[m]);
         printf("\n");

    printf ("每一门课程的最高分与最低分:\n");
    for(m=0;m<5;m++)
        printf ("  %d     %d \n", ma[m],mi[m]);
        printf("\n");

       }

void firstfive (int a[][8])
{
    int b[10] = {0,1,2,3,4,5,6,7,8,9};
    int i,j,t;
    for (i=0;i<10;i++)
        for (j=1+i;j<10;j++)
        {
            if(a[b[j]][7] > a[b[i]][7])
            {   
                t = b[j];b[j]=b[i];b[i]=t;
            }
        }
        printf ("总分前五名的学生:\n");

    for (i=0;i<5;i++)
    {
        for (j=0;j<8;j++)
        {
            printf (" %d    ",a[b[i]][j]);
        }
        printf("\n");
    }
}


void reexam (int a[][8])
{
    int i,j;
    printf ("挂科的名单:\n");
    for (i=1;i<6;i++)
    {   printf ("第 %d 课程不及格的名单:\n",i);
        printf ("学号-----------成绩:\n");
        for (j=0;j<10;j++)
        {
            if(a[j][i]<60)
                printf ("%d-----------%d \n",a[j][0],a[j][i]);
        
        }

    }

}

void putout (int a[][8])
{
    int m,n;
    printf("**学号****课程一*****课程二****课程三****课程四*****课程五****平均分*****总分*****\n");
    for (m=0; m<10; m++ )
    { for (n=0; n<8; n++)
           printf("   %d     ",a[m][n]);
           printf ("\n");  
    }
    printf ("\n");
}



main()
{
    int a[10][8];
    char c;
    int i;
    input (a);
    average(a);
 
      do
      {
  
   for(i=0;i<20;i++)
     printf("*");
   printf ("学生成绩管理系统--the case is made by yangqi!");
    for(i=0;i<30;i++)
     printf("*");
     printf("\n");
     printf("\t 1: 输出各学生的成绩,平均成绩,及总分:\n");
     printf("\t 2: 输出每门课程的平均分、及格率、最高成绩和最低成绩:\n");
     printf("\t 3: 输出总成绩前5名的学生学号、各科成绩和总分:\n");
     printf("\t 4: 输出各科补考学生的学号和成绩\n");
     printf("\t 5: 退出\n");
     printf("\t请选择输入选项[1\\2\\3\\4\\5]:\n");
   do
      {
      c=getchar();
      }while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5');
      getchar();
   switch(c)
     {  case '1': putout (a); break;
        case '2': everysubject (a);   break;
        case '3': firstfive (a);   break;
        case '4': reexam (a);  break;
        case '5': exit(0);
     }
   printf(" 按任意键返回主菜单:\n");
   getchar();
  
  }while(1);

}

如有什么不足之处,还望大侠们不吝赐教!!!























收到的鲜花
  • waterstar2011-07-07 19:46 送鲜花  10朵   附言:原创内容,值得加分!
搜索更多相关主题的帖子: 管理系统 problem screen 学生成绩 各科成绩 
2011-07-06 23:54
icysky
Rank: 5Rank: 5
来 自:心灵世界
等 级:职业侠客
威 望:1
帖 子:172
专家分:399
注 册:2011-5-17
收藏
得分:3 
不管如何 我还是顶一下!毕竟程序员需要的是认可!

不管怎么走、总有一个终点...
2011-07-07 07:24
mandown1991
Rank: 4
等 级:业余侠客
帖 子:262
专家分:252
注 册:2011-3-2
收藏
得分:1 
支持一下!
2011-07-07 11:42
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:1 
顶顶更健康。

我们都在路上。。。。。
2011-07-07 12:21
小菜小C
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:70
专家分:111
注 册:2011-3-18
收藏
得分:1 
蛋疼

菜鸟一名,准备起飞
2011-07-07 17:10
wjm22
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:118
注 册:2011-7-5
收藏
得分:1 
有待改进
2011-07-07 17:25
wjm22
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:44
专家分:118
注 册:2011-7-5
收藏
得分:1 
有待改进
2011-07-07 17:25
bccn_2012
Rank: 6Rank: 6
等 级:侠之大者
帖 子:158
专家分:447
注 册:2011-5-14
收藏
得分:1 
支持支持。。。
2011-07-07 17:47
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:2 
有勇气发出来不错,支持下。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-07-07 19:45
月破黄昏
Rank: 1
等 级:新手上路
帖 子:17
专家分:7
注 册:2011-5-11
收藏
得分:2 
膜拜下
2011-07-07 20:58
快速回复:本人拙作-------学生成绩管理系统
数据加载中...
 
   



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

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