大学c设计方案学生信息管理系统.docx
《大学c设计方案学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《大学c设计方案学生信息管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
![大学c设计方案学生信息管理系统.docx](https://file1.bdocx.com/fileroot1/2022-11/20/7e185d94-0f96-4a23-9934-9e41fd9caf09/7e185d94-0f96-4a23-9934-9e41fd9caf091.gif)
大学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");
}
运行结果:
显示成绩单:
各科最好成绩
成绩查询:
平均成绩:
修改成绩:
退出系统: