学生成绩分布统计
需求分析;
学生成绩分布统计系统方便统计管理员对学生成绩等信息的添加,修改,删除,查询等操作,同时一样的方学生对自己各科成绩的查询,学习的交流。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理无法比拟的有点,例如:检索迅速,查找方便,可靠性高,存储量大,保密性强,寿命长,成本低等。这些优点能够极大的提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。因此,开发这样的一套程序是很有必要的事情。
整体设计
详细设计
调试分析过程描述:
在用户使用错误的数据或访问没有权限的数据后,系统给出提示:”对不起,你非法使用数据,没有权限!“而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。用户输入的信息是非中文字符,系统提示:您所输入的信息是非中文字符。
用户输入的信息是中文字符,但与本系统已收录的学生信息不匹配,系统提示:您所输入的信息不存在,请仔细核对您输入的信息是否在本系统收录的学生信息范围之内,重新输入,学生管理员输入的不符合数据的类型,系统提示:输入格式错误请重新输入。
出错处理对策: 由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破环,但有可能占用更多的数据存储空间,权衡措施由用户来决定。 系统软件出错很容易在出错日志里看到,我们对可能发生的错误会有一个错误编号以及相应的处理方式,以手册的方式提供。用户可以根据系统的提示信息进行相应的排错处理,建立系统运行日志,用于记录系统在运行过程中出现的可以预知的或无法判断的系统错误信息。
运行结果
#include <stdio.h>
#define N 2
#define M 2
int s[N]={0},a[N][M];
char b[N][10];
void fun1(int a[N][M])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
s[i]+=a[i][j];
printf("第%d个同学的平均分是%.2f\n",i+1,s[i]/5.0);
}
}
void fun2(int a[N][M])
{
float p[M]={0};
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
p[i]+=a[j][i];
p[i]/=10.0;
printf("第%d门课程的平均分是%.2f\n",i+1,p[i]);
}
}
void fun3(char b[N][10])
{
int max,t,i;
max=s[0];
for(i=1;i<N;i++)
if(s[i]>max)
{
max=s[i];
t=i;
}
printf("%s荣获所有学生中最高分%d分\n",b[t],max);
}
main()
{
int i,j;
float p[M]={0};
for(i=0;i<N;i++)
{
printf("输入第%d个学生的姓名:",i+1);
scanf("%s",&b[i]);
for(j=0;j<M;j++)
{
printf("输入该学生的第%d门成绩:",j+1);
scanf("%d",&a[i][j]);
}
}
printf("\n");
fun1(a);
printf("\n");
fun2(a);
printf("\n");
fun3(b);
return 0;
}