大学c++方案设计书学生信息管理系统.docx
- 文档编号:346527
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:12
- 大小:270.47KB
大学c++方案设计书学生信息管理系统.docx
《大学c++方案设计书学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《大学c++方案设计书学生信息管理系统.docx(12页珍藏版)》请在冰豆网上搜索。
大学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时,退出系统。
流程设计:
开始
输入数字m
(0—5)
m=?
m=1
m=2
m=3
m=4
m=5
m=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")。 } 运行结果: 显示成绩单: 各科最好成绩 成绩查询: 平均成绩: 修改成绩: 退出系统:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 c+ 方案设计 学生 信息管理 系统