武汉科技大学C语言课程设计实验报告
二○一二 ~二○一三 学年第 一 学期
电子技术学院
课程设计报告书
课程名称: C程序课程设计
班 级: 电信DB2011级1102班
学 号: XXXXXXXXX
姓 名: XXXX
指导教师: 陈彬
二○一二年 九 月
一、需求分析学生成绩管理程序学生成绩管理程序每位学生的信息有:姓名学号和功课的成绩。myfile.txt)的形式保存每个学生的所有信息。(实验中:假设3个班,每个班学生人数不得少于5人)
学号 姓名 性别 班级 数学 英语 计算机 01 王鹏 男 班 58 981102 李女 班 68 88 951103 赵亚女 班 58 48 96
增加学生记录,并将增加的信息以文件的(myfile.txt)的形式保存。
删除学生记录,以“学号”、“姓名”为关键字删除记录,若要删除的记录不存在,给出必要的提示信息;
统计各班级学生每门课程的班级平均分,并由高到低排序。
按学号其浏览全部学生成绩
三、详细设计
1、建立结构体
struct student
{
int num;
char name[10],sex[10];
int Class,math,english,computer;
struct student * next;
};
int n;
2、成绩单建立模块
Y
N
Y
N
struct student *creat(void)
{
struct student *head,*p1,*p2;
n=0;
p1=p2=(struct student *)malloc(LEN);
printf("请输入学生信息(按学号顺序输入)\n");
printf("学号:"); scanf("%d",&p1->num);
printf("姓名:"); scanf("%s",p1->name);
printf("性别:"); scanf("%s",p1->sex);
printf("班级:"); scanf("%d",&p1->Class);
printf("数学:"); scanf("%d",&p1->math);
printf("英语:"); scanf("%d",&p1->english);
printf("计算机:"); scanf("%d",&p1->computer);
head=NULL;
while(1)
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student *)malloc(LEN);
printf("\n请输入学生信息(按学号顺序输入)[当不再输入时在学号处输入\"0\"结束]\n");
printf("学号:");scanf("%d",&p1->num);
if(p1->num==0)break;
else
printf("姓名:"); scanf("%s",p1->name);
printf("性别:"); scanf("%s",p1->sex);
printf("班级:"); scanf("%d",&p1->Class);
printf("数学:"); scanf("%d",&p1->math);
printf("英语:"); scanf("%d",&p1->english);
printf("计算机:"); scanf("%d",&p1->computer);
}
p2->next=NULL;
return(head);
}
3、数据增加模块