佛山科学技术学院
实验报告
实验名称小型学生信息管理系统
实验项目 编写一学生信息管理系统,用来管理学生基本信息及成绩信息 专业班级姓名XXX学号
指导教师 成绩 日期
、试验目的
本实验为学生提供了一个既动手又动脑,上机实践的机会。学生通过分析和解决该实验,将课本上的 理论知识和实际有机地结合起来,锻炼学生分析、解决较复杂问题的能力,提高学生编写综合系统程序的 能力。
、实验内容
编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。系统功能模块如下图:
显示主菜单
数据输入r
数据输入
r数据
修改
数据 处理
数据 输岀
排序
L.J
查询
统计
退出
不及格r
平均分
科目
具体要求为:
建立学生信息,每个学生的信息应包括:学号、姓名、性别、班级、至少3门课程的成绩;
数据输入:输入学生的各项信息;
数据修改:根据输入学生的学号可以选择修改该学生的信息;
数据处理:可以选择处理方式为:排序、查询、统计。其中:
a)排序:按学号排序
b)查询:根据学号查询成绩
c)统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生;
数据输出:输出学生的相应结果信息;
退出:退出整个学生信息管理系统。
输出结果截屏的第一条记录一定要反映出你自己的真实信息。
三、程序组织结构图、函数调用关系图
四、程序清单
#i nclude
#in clude
#i ncludevstri ng.h>
struct stude nt
{
char num[10];
char n ame[10];
char sex[4];
char clas[20];
int yw,sx,yy;
float ave;
}stu[100];
int i,j;
void In putData()
{
char x;
while(1)
{
printf("\t学号:");
sca nf("%s",stu[i]. nu m); printf("\t姓名:");
scan f("%s",stu[i]. name); printf("\t性别:");
scan f("%s",stu[i].sex);
printf("\t班级:");
scan f("%s",stu[i].clas);
printf("\t语文:");
scan f("%d",&stu[i].yw);
printf("\t数学:");
scan f("%d",&stu[i].sx);
printf("\t英语:");
scan f("%d",&stu[i].yy);
stu[i].ave=float((stu[i].yw+stu[i].sx+stu[i].yy)/3.0);
i++;
printf("\t是否继续输入数据(Y.N)");cin>>x;
if(x==' n'||x=='N') break;
}
}
void EditData()
{
int coun t=0;
char str[10];
prin tf("\n请输入学生学号:");
cin> >str;
while (co un t
{
if(strcmp(str,stu[co un t]. num)==0)
{
数学printf(" 学号姓名性别 班级语文
数学
英语\n");
printf("\n");
prin tf("%-11s",stu[cou nt]. nu m);
prin tf("%-13s",stu[cou nt].n ame);
prin tf("%-8s",stu[cou nt].sex);
prin tf("%-16s",stu[cou nt].clas);
prin tf("%-6d",stu[cou nt].yw);
prin tf("%-6d",stu[co un t].sx);
prin tf("%-4d",stu[co un t].yy);
prin tf("\n");
printf("\n");
break;
}
coun t++;
}
if(co un t>=i)
printf("\n查无此人");
else
{
printf("\n\t修改数据:\n");
printf("\t学号:");
sca nf("%s",stu[i]. nu m);
printf("\t姓名:");
scan f("%s",stu[i]. name);
printf("\t性别:");
scan f("%s",stu[i].sex);
printf("\t班级:");
scan f("%s",stu[i].clas);
printf("\t语文:");
scan f("%d",&stu[i]