三 调试分析(包含各模块的测试用例,及测试结果)
3.1源程序
#include <stdlib.h> #include <stdio.h> #include <string.h> #define MAXN 35
#define MAX_NAME 256
typedef struct student //学生信息 {
int no;
char name[MAX_NAME]; double english; double math;
double Programming; double mark_ave; double mark_tot; } STUDENT;
/*-----------输入信息子程序---------*/ void input(STUDENT *data, int *len) {
int no;
putchar('\n');
printf("%s\n", "请输入新的记录,如果需要退出当前菜单请输入-1."); printf("%s\n", "格式:\n学号\n");
printf("%s\n", "姓名 英语 数学 C语言"); putchar('\n'); printf("如:\n"); printf("5\n");
printf("黄瑞 100 100 100\n"); scanf("%d", &no); while(no != -1) {
data[*len].no = no;
scanf("%s %lf %lf %lf", data[*len].name, &data[*len].english, &data[*len].math,&data[*len].Programming);
data[*len].mark_ave=(data[*len].english+data[*len].math+data[*len].Programming)/3.0;
data[*len].mark_tot=data[*len].english+data[*len].math+data[*len].Programming;
(*len)++;
scanf("%d", &no); } }
/*---------------输出信息子程序---------------*/ void output(STUDENT *data, int len) {
int i;
system("cls");
printf("%8s", "学号"); printf("%8s", "姓名"); printf("%8s", "英语"); printf("%8s", "数学"); printf("%10s", "计算机"); printf("%12s", "平均分"); printf("%10s", "总分"); putchar('\n');
for (i =0; i < 80; i++) putchar('='); putchar('\n');
for (i = 0; i< len; i++) {
printf("%8d", data[i].no);