大学c设计方案学生信息管理系统.docx
《大学c设计方案学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《大学c设计方案学生信息管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
大学c设计方案学生信息管理系统
《程序设计基础(C语言)》
课程设计说明书
学院:
交通学院
班级:
机械1201
学号:
20122815606
姓名:
田亮
日期:
2013年7月
题目名称:
学生信息管理系统
算法分析:
说明:
该系统包括五个模块,分别是1.成绩显示,2.各科最好成绩,3.成绩查询,4.每人的平均成绩,5.成绩修改。
1.成绩显示voidshow(structstudent*stu)。
:
当从键盘上输入1时,进入成绩显示系统,将每个人的成绩输出;
2.各科最好成绩voidmax(structstudent*stu)。
:
当从键盘上输入2时,进入循环比较,输出每科的最好成绩;
3.成绩查询:
voidsearch(structstudent*stu)。
当从键盘上输入3时,输出“请输入学号”,输入学号后与之进行匹配,匹配成功,输出该生信息,不成功输出“对不起,没有该生”;
4.每人的平均成绩voidaverage(structstudent*stu)。
:
当从键盘上输入4时,求每人的总分,然后再求平均值,并通过循环,依次输出,每人的平均成绩;
5.成绩修改voidupdate(structstudent*stu)。
:
当从键盘上输入5时,开始修改成绩,然后将改好成绩
6.当从键盘上输入0时,退出系统。
流程设计:
代码设计:
#include
voidshow(structstudent*stu)。
//显示成绩单//
voidmax(structstudent*stu)。
//各科最好成绩//
voidsearch(structstudent*stu)。
//成绩查询//
voidaverage(structstudent*stu)。
//每个人平均成绩//
voidupdate(structstudent*stu)。
//成绩修改//
structstudent//定义结构体//
{
charname[20]。
intnum。
intage。
charsex[4]。
floatscore1。
floatscore2。
floatscore3。
}stu[10]={{"张三",1,18,"男",86,95,92},
{"李四",2,19,"女",85.5,89,92},
{"小红",3,19,"女",86,91,90},
{"小华",4,17,"男",86,89,95},
{"小明",5,19,"男",78,88,93.5},
{"小亮",6,20,"男",74,78,88},
{"小浩",7,19,"男",66,67,95.5},
{"小敏",8,20,"女",83,79,90},
{"小杰",9,19,"男",56,89,90.5},
{"小洁",10,18,"女",84,77,86}}。
//定义数组//
intmain(void)
{
intm。
do//do循环//
{
printf("\t**********学生信息管理**********\n")。
printf("\n")。
printf("___________________________________________________\n")。
printf("1:
显示成绩信息2:
各科最好成绩\n")。
printf("\n")。
printf("3:
成绩查询4:
每个人平均成绩\n")。
printf("\n")。
printf("5:
成绩修改0:
退出系统\n")。
printf("\n")。
printf("___________________________________________________\n")。
printf("\t\t请在上述功能中选择(0—5)\n")。
scanf("%d",&m)。
switch(m)
{
case1:
show(stu)。
break。
case2:
max(stu)。
break。
case3:
search(stu)。
break。
case4:
average(stu)。
break。
case5:
update(stu)。
break。
case0:
break。
default:
printf("选择错误!
请重选。
。
。
\n")。
break。
}
}while(m!
=0)。
//show(stu)。
//max(stu)。
//search(stu)。
//average(stu)。
//update(stu)。
return0。
}
voidshow(structstudent*stu)//显示成绩单函数//
{
inti,j。
printf("姓名\t学号\t年龄\t性别\t语文\t数学\t英语\n")。
for(j=0。
j<60。
j++)
printf("%c",'-')。
//输出横线————//
printf("\n")。
for(i=0。
i<10。
i++)
printf("%s\t%d\t%d\t%s\t%4.2f\t%4.2f\t%4.2f\n",//输出各科成绩//
stu[i].name,stu[i].num,stu[i].age,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3)。
printf("\n")。
}
voidmax(structstudent*stu)//各科最好成绩函数//
{
inti。
floatmax1,max2,max3。
max1=stu[0].score1。
for(i=0。
i<10。
i++)//循环//
if(max1{max1=stu[i].score1。
}
printf("语文最好成绩是:
%6.2f,",max1)。
//语文最好成绩//
printf("\n")。
printf("\n")。
max2=stu[0].score2。
for(i=0。
i<10。
i++)
if(max2{max2=stu[i].score2。
}
printf("数学最好成绩是:
%6.2f,",max2)。
//数学最好成绩//
printf("\n")。
printf("\n")。
max3=stu[0].score3。
for(i=0。
i<10。
i++)
if(max3{max3=stu[i].score3。
}
printf("英语最好成绩是:
%6.2f,",max3)。
//英语最好成绩//
printf("\n")。
printf("\n")。
}
voidsearch(structstudent*stu)//定义成绩查询函数//
{
inti,a。
printf("\n请输入要查询的学号:
\n")。
scanf("%d",&a)。
if(1<=a&&a<=10)//确保输入值在范围之内//
for(i=0。
i<10。
i++)
{
if(a==stu[i].num)
{
printf("姓名\t学号\t年龄\t性别\t语文\t数学\t英语\n")。
printf("%s\t%d\t%d\t%s\t%4.2f\t%4.2f\t%4.2f\n",
stu[i].name,stu[i].num,stu[i].age,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3)。
}
}
else
printf("\n对不起,没有这个学生\n")。
printf("\n")。
}
voidaverage(structstudent*stu)//求每个人得平均成绩函数//
{
inti。
floatsum,ave。
for(i=0。
i<10。
i++)
{sum=0。
sum=sum+stu[i].score1+stu[i].score2+stu[i].score3。
//求和//
ave=sum/3。
//求平均值//
printf("%s:
%4.2f\n",stu[i].name,ave)。
}
printf("\n")。
}
voidupdate(structstudent*stu)//修改成绩函数//
{
inti,n,j。
printf("请输入要修改成绩学生的学号:
\n")。
scanf("%d",&n)。
if(1<=n&&n<=10)
for(i=0。
i<10。
i++)
{
if(n==stu[i].num)//判断//
{
printf("%s:
\n",stu[i].name)。
//输入新成绩//
printf("请输入该生语文成绩:
\n")。
scanf("%f",&stu[i].score1)。
printf("请输入该生数学成绩:
\n")。
scanf("%f",&stu[i].score2)。
printf("请输入该生英语成绩:
\n")。
scanf("%f",&stu[i].score3)。
}
}
else
printf("\n对不起,没有这个学生\n")。
printf("\n")。
printf("\n")。
printf("姓名\t学号\t年龄\t性别\t语文\t数学\t英语\n")。
for(j=0。
j<60。
j++)
printf("%c",'-')。
printf("\n")。
for(i=0。
i<10。
i++)
printf("%s\t%d\t%d\t%s\t%4.2f\t%4.2f\t%4.2f\n",//输出修改后的成绩单//
stu[i].name,stu[i].num,stu[i].age,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3)。
printf("\n")。
printf("\n")。
}
运行结果:
显示成绩单:
各科最好成绩
成绩查询:
平均成绩:
修改成绩:
退出系统: