测试文档

测试文档

测试用例集

测试环境

软件工作内容:教师批卷统计分数
用户池田静香需要用软件解决批卷量大、分数计算繁琐的问题。

输入

  1. 输入学生人数:5
  2. 依次输入学生的信息(从左到右分别为学号、云课堂经验值、考试成绩):
    2001 5000 100
    2002 4000 90
    2003 3000 80
    2004 2000 70
    2005 1000 60

期望结果

能输出每个学生的信息,计算出最后成绩;
统计及格的学生人数、不及格的学生人数以及及格率;
并分别输出及格学生的学号、不及格学生的学号。

测试报告

在软件测试过程中,程序运行没有出现错误,能由输入的学生数据输出所需要的数据

测试结果:

输入学生人数:5
程序运行无错误
依次输入学生的信息(从左到右分别为学号、云课堂经验值、考试成绩):
2001 5000 100
2002 4000 90
2003 3000 80
2004 2000 70
2005 1000 60
程序运行无错误
输出:

输出了每个学生的信息,计算出了最后成绩;
统计了及格的学生人数、不及格的学生人数以及及格率;
并分别输出了及格学生的学号、不及格学生的学号。

错误报告

标题

在输入学生考试成绩时,若随意输入一个数值,如10000000,软件任会把它当成正常数据处理。

内容有以下几点:

环境:在Windows10下,使用该软件。

重现步骤:

(1) 输入学生人数:1
(2) 输入这个学生的学号、云课堂经验值、考试成绩:2001 4000 10000000

结果:

该学生的成绩为:6000032

预期结果:

提示输入出错!

代码

#include <stdio.h>
#define N 100 /N表示最多允许的学生人数
/
struct Student
{
int num; //学号
int empirical; //经验值
int exam; //考试分数
float grade; //成绩
};
int main( )
{
int i, n=0;
int totalEmpirical=0, totalExam=0,totalGrade=0;
int pass=0, fail=0;
float averEmpirical, averExam,averGrade;
float ratio;
struct Student stu[N];
printf("请输入学生人数: ");
scanf("%d", &n);
printf("\n");
printf("请输入学号、云课堂经验值(共5000,成绩占比40%%)、考试成绩(共100,成绩占比60%%): \n");
//输入成绩,并求出期末成绩
for(i=0; i<n; i++)
{
scanf("%d %d %d",&stu[i].num, &stu[i].empirical, &stu[i].exam);
stu[i].grade=(stu[i].empirical40/5000+stu[i].exam0.6);
}
//求各项的总分,目的是求出各项均分,这个循环最好与上面的循环合并
for(i=0; i<n; i++)
{
totalEmpirical += stu[i].empirical;
totalExam += stu[i].exam;
totalGrade+=stu[i].grade;
}
averEmpirical = 1.0totalEmpirical/n;
averExam = 1.0
totalExam/n;
averGrade=1.0*totalGrade/n;
//输出成绩单
printf("学号\t经验值\t考试\t学分绩\n");
for(i=0; i<n; i++){
printf("%d\t%d\t%d\t%.2f\n",stu[i].num, stu[i].empirical, stu[i].exam, stu[i].grade);
if( stu[i].grade>=60){
pass++;
}
else{
fail++;
}
}
ratio=(float)pass/(float)n;
printf("项均分\t%.2f\t%.2f\t%.2f\n\n",averEmpirical, averExam,averGrade);
//输出及格人数,不及格人数,及格率
printf("及格人数:%d 不及格人数:%d 及格率:%.2f\n\n",pass,fail,ratio);
printf("及格同学学号是:\n");
for(i=0; i<n; i++)
if(stu[i].grade>=60)
printf("%d ",stu[i].num);
printf("\n");
printf("不及格同学学号是:\n");
for(i=0; i<n; i++)
if(stu[i].grade<60)
printf("%d ",stu[i].num);
printf("\n");
return 0;
}

posted @ 2020-12-28 13:11  谢特の精灵  阅读(109)  评论(0编辑  收藏  举报