C语言:学生成绩统计系统

来源:互联网 发布:sql to date 编辑:程序博客网 时间:2024/04/26 04:54

第一次发博客,也是个初学者,很多只是一知半解,如果有说错的地方,希望大家可以告诉我,我多多努力改正。

该程序可以输入学生成绩,计算平均成绩和及格率,以及查找学生成绩和修改学生成绩,输入所需功能对应的数字再按回车键即可,效果如下





看起来还不错吧大笑,代码如下:

#include<stdio.h>
void main()
{
int sel,i=0,x,y,n;
double sum,ave=1,count=0,a[999];
do
{
printf("\n");
printf("\t************************************\n");
printf("\t*    ===========================   *\n");
printf("\t*          学生成绩统计系统        *\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*     退出系统-------------6       *\n");
printf("\t*                                  *\n");
printf("\t************************************\n");
printf("\t请输入选项(1-6):");
scanf("%d",&sel);
switch(sel)
{
case 1:
printf("执行输入学生成绩命令。\n");
printf("\t请输入学生人数(0-999):");
scanf("%d",&n);
printf("\t\t学号\t成绩\n");
do
{
printf("\t\t[%d]\t",i+1);
scanf("%lf",&a[i]);
i++;
}while(i<n);
break;
case 2:
printf("执行统计平均成绩命令。\n");
sum=0;
for(i=0;i<n;i++)
sum+=a[i];
ave=sum/n;
printf("平均成绩为%.1f\n",ave);
break;
case 3:
printf("执行统计及格率命令。\n");
for(i=0;i<n;i++)
if(a[i]>=60)
count++;
printf("及格率为%.1f%%\n",count/n*100);
break;
case 4:
printf("执行查找学生成绩命令。\n");
do
{
printf("请输入需查找的学生的学号(输入非法数据退出):");
scanf("%d",&x);
if(x>0&&x<=n)
printf("\t[%d]\t%.1f\n",x,a[x-1]);
else
break;
}while(1);
break;
case 5:
printf("执行修改学生成绩命令。\n");
do
{
printf("请输入需修改的学生的学号(输入非法数据退出):");
scanf("%d",&y);
if(y>0&&y<=n)
{
printf("\t[%d]\t%.1f\n",y,a[y-1]);
printf("\t请输入改动后的分数:");
scanf("%lf",&a[y-1]);
}
else
break;
}while(1);
break;
case 6:
printf("退出系统。\n");
break;
default:
printf("输入错误!\007\n");
break;
}
}while(sel>0&&sel!=6);
}


复制即可用,不必修改由***组成的边框,显示不对,但是在vc中没问题。

0 0
原创粉丝点击