程序设计基础专周报告.docx
- 文档编号:7876516
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:15
- 大小:18.11KB
程序设计基础专周报告.docx
《程序设计基础专周报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础专周报告.docx(15页珍藏版)》请在冰豆网上搜索。
程序设计基础专周报告
成都电子机械高等专科学校
专周报告
课程名称
程序设计基础专周
专周题目
学生成绩管理系统
姓名
班级
学号
指导教师
设计时间
成都电子机械高等专科学校计算机工程系
一、题目和设计要求
一、题目
学生成绩管理系统
二、功能说明
1、学生成绩信息包括:
学号、姓名、4门课程的成绩、总分及平均分;
2、能完成对学生成绩的录入、修改;
3、能计算总分及平均分
4、成绩排序
(1)能根据学生平均分排序;
(2)能根据指定科目成绩排序;
5、查询功能
(1)能按指定学号和姓名显示学生成绩
(2)能按指定科目显示不及格学生信息(学号、姓名、指定科目成绩)
(3)显示全部学生的全部成绩。
三、设计要求
1、学生成绩信息可用数组存储(可初始化部分数据)。
2、提供菜单选择功能。
3、程序结构合理,各功能通过函数调用实现。
4、必须要有必要的注释信息。
程序源代码
#include
#include
voidshuru();
voidchakan();
voidjisuan();
voidxiougai();
voidpaixu();
intnum[100]={1,2,3,4};
charname[100][20]={"A","B","C","D"};
intscore[100][6]={{97,84,93,95},{89,97,88,91},{95,91,86,94},{93,95,93,94}};
inti,j,y;
voidmain(void)
{
printf("学生成绩管理系统\n");
for(i=0;i<100;i++)
{
printf("******************************************************************\n");
printf("功能表:
\n");
printf("1输入学生成绩\n");
printf("2查看学生成绩\n");
printf("3修改学生成绩\n");
printf("4计算平均成绩\n");
printf("5学生成绩排序\n");//菜单项//
printf("******************************************************************\n");
printf("请选择你想要的功能:
\n");
inta;
scanf("%d",&a);
switch(a)
{
case1:
printf("输入学生成绩,\n");
shuru();
break;
case2:
printf("查看学生成绩\n");
chakan();
break;
case3:
printf("修改学生成绩\n");
xiougai();
break;
case4:
printf("计算平均成绩\n");
jisuan();
break;
case5:
printf("学生成绩排序\n");
paixu();
break;//switch语句执行选定项目//
}
}
}
intx;
voidshuru()
{
for(x=4;x<100;x++)
{
printf("请输入学号(当输入成绩小于0时退出录入):
\n");
scanf("%d",&num[x]);
if(num[x]<0)
break;
printf("请输入姓名(请不要使用空格):
\n");
scanf("%s",&name[x]);
printf("请输入学生语文、数学、英语、计算机成绩:
\n");
scanf("%d",&score[x][0]);
scanf("%d",&score[x][1]);
scanf("%d",&score[x][2]);
scanf("%d",&score[x][3]);
}
}//输入学生成绩//
voidchakan()
{
printf("******************************************************************\n");
printf("功能表:
\n");
printf("1查看全部学生成绩\n");
printf("2指定姓名查看成绩\n");
printf("3指定学号查看成绩\n");
printf("4查看指定科目不及格学生信息\n");//查询菜单项//
printf("******************************************************************\n");
printf("请选择你想要的功能:
\n");
intb=0;
scanf("%d",&b);
switch(b)
{
case1:
printf("姓名学号语文数学英语计算机总分平均分\n");
for(j=0;j<100;j++)
{
if(num[j]>0)
printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]);
}//查询所有学生成绩//
break;
case2:
printf("指定姓名查看成绩\n");
break;
case3:
printf("请输入你要查看学生的学号:
");
scanf("%d",&y);
printf("姓名学号语文数学英语计算机总分平均分\n");
printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[y-1],num[y-1],score[y-1][0],score[y-1][1],score[y-1][2],score[y-1][3],score[y-1][4],score[y-1][5]);
break;//输入学号查看成绩//
case4:
printf("1语文\n");
printf("2数学\n");
printf("3英语\n");
printf("4计算机\n");
intz;
scanf("%d",&z);
switch(z)
{
case1:
printf("姓名学号语文\n");
for(j=0;j<100;j++)
{
if(score[j][0]>0&&score[j][0]<60)
printf("%2s%4d%4d\n",name[j],num[j],score[j][0]);
}
break;//查看语文科目不及格学生//
case2:
printf("姓名学号数学\n");
for(j=0;j<100;j++)
{
if(score[j][1]>0&&score[j][1]<60)
printf("%2s%4d%4d\n",name[j],num[j],score[j][1]);
}
break;//查看数学科目不及格学生//
case3:
printf("姓名学号英语\n");
for(j=0;j<100;j++)
{
if(score[j][2]>0&&score[j][2]<60)
printf("%2s%4d%4d\n",name[j],num[j],score[j][2]);
}
break;//查看英语科目不及格学生//
case4:
printf("姓名学号计算机\n");
for(j=0;j<100;j++)
{
if(score[j][3]>0&&score[j][3]<60)
printf("%2s%4d%4d\n",name[j],num[j],score[j][3]);
}
break;//查看计算机科目不及格学生//
}
break;//查询科目成绩不及格学生信息//
}//switch语句执行选定项目//
}
voidjisuan()
{
for(j=0;j<100;j++)
{
score[j][4]=score[j][0]+score[j][1]+score[j][2]+score[j][3];
score[j][5]=score[j][4]/4;
}
}//计算总分和平均分//
voidxiougai()
{
printf("1输入学号修改\n2输入姓名修改\n");
intm;
printf("请选择:
");
scanf("%d",&m);
switch(m)
{
case1:
printf("请输入需要修改成绩学生的学号:
");
intxuehao;
scanf("%d",&xuehao);
for(j=0;j<100;j++)
if(num[j]==xuehao)
{
printf("1语文\n2数学\n3英语\n4计算机\n");
intxue;
printf("请输入需要修改的科目:
");
scanf("%d",&xue);
printf("请输入新的成绩:
");
scanf("%d",&score[j][xue-1]);
break;
}
break;//输入学号修改学生成绩//
}
}
voidpaixu()
{
printf("1按语文成绩排序\n");
printf("2按数学成绩排序\n");
printf("3按英语成绩排序\n");
printf("4按计算机成绩排序\n");
printf("5按总分和平均分排序\n");
intn,k;
charnam[20];
scanf("%d",&n);
switch(n)
{
case1:
printf("姓名学号语文数学英语计算机总分平均分\n");
for(i=99;i>=0;i--)
{
for(j=0;j
if(score[j][0] { k=score[j][0]; score[j][0]=score[j+1][0]; score[j+1][0]=k; k=score[j][1]; score[j][1]=score[j+1][1]; score[j+1][1]=k; k=score[j][2]; score[j][2]=score[j+1][2]; score[j+1][2]=k; k=score[j][3]; score[j][3]=score[j+1][3]; score[j+1][3]=k; k=score[j][4]; score[j][4]=score[j+1][4]; score[j+1][4]=k; k=score[j][5]; score[j][5]=score[j+1][5]; score[j+1][5]=k; k=num[j]; num[j]=num[j+1]; num[j+1]=k; strcpy(nam,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],nam); } } for(j=0;j<100;j++) if(num[j]>0) printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]); break;//按语文成绩排序// case2: printf("姓名学号语文数学英语计算机总分平均分\n"); for(i=99;i>=0;i--) { for(j=0;j if(score[j][1] { k=score[j][1]; score[j][1]=score[j+1][1]; score[j+1][1]=k; k=score[j][0]; score[j][0]=score[j+1][0]; score[j+1][0]=k; k=score[j][2]; score[j][2]=score[j+1][2]; score[j+1][2]=k; k=score[j][3]; score[j][3]=score[j+1][3]; score[j+1][3]=k; k=score[j][4]; score[j][4]=score[j+1][4]; score[j+1][4]=k; k=score[j][5]; score[j][5]=score[j+1][5]; score[j+1][5]=k; k=num[j]; num[j]=num[j+1]; num[j+1]=k; strcpy(nam,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],nam); } } for(j=0;j<100;j++) if(num[j]>0) printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]); break;//按数学成绩排序// case3: printf("姓名学号语文数学英语计算机总分平均分\n"); for(i=99;i>=0;i--) { for(j=0;j if(score[j][2] { k=score[j][2]; score[j][2]=score[j+1][2]; score[j+1][2]=k; k=score[j][1]; score[j][1]=score[j+1][1]; score[j+1][1]=k; k=score[j][0]; score[j][0]=score[j+1][0]; score[j+1][0]=k; k=score[j][3]; score[j][3]=score[j+1][3]; score[j+1][3]=k; k=score[j][4]; score[j][4]=score[j+1][4]; score[j+1][4]=k; k=score[j][5]; score[j][5]=score[j+1][5]; score[j+1][5]=k; k=num[j]; num[j]=num[j+1]; num[j+1]=k; strcpy(nam,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],nam); } } for(j=0;j<100;j++) if(num[j]>0) printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]); break;//按英语成绩排序// case4: printf("姓名学号语文数学英语计算机总分平均分\n"); for(i=99;i>=0;i--) { for(j=0;j if(score[j][3] { k=score[j][3]; score[j][3]=score[j+1][3]; score[j+1][3]=k; k=score[j][1]; score[j][1]=score[j+1][1]; score[j+1][1]=k; k=score[j][2]; score[j][2]=score[j+1][2]; score[j+1][2]=k; k=score[j][0]; score[j][0]=score[j+1][0]; score[j+1][0]=k; k=score[j][4]; score[j][4]=score[j+1][4]; score[j+1][4]=k; k=score[j][5]; score[j][5]=score[j+1][5]; score[j+1][5]=k; k=num[j]; num[j]=num[j+1]; num[j+1]=k; strcpy(nam,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],nam); } } for(j=0;j<100;j++) if(num[j]>0) printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]); break;//按计算机成绩排序// case5: printf("姓名学号语文数学英语计算机总分平均分\n"); for(i=99;i>=0;i--) { for(j=0;j if(score[j][4] { k=score[j][4]; score[j][4]=score[j+1][4]; score[j+1][4]=k; k=score[j][1]; score[j][1]=score[j+1][1]; score[j+1][1]=k; k=score[j][2]; score[j][2]=score[j+1][2]; score[j+1][2]=k; k=score[j][3]; score[j][3]=score[j+1][3]; score[j+1][3]=k; k=score[j][0]; score[j][0]=score[j+1][0]; score[j+1][0]=k; k=score[j][5]; score[j][5]=score[j+1][5]; score[j+1][5]=k; k=num[j]; num[j]=num[j+1]; num[j+1]=k; strcpy(nam,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],nam); } } for(j=0;j<100;j++) if(num[j]>0) printf("%2s%4d%4d%4d%4d%4d%4d%4d\n",name[j],num[j],score[j][0],score[j][1],score[j][2],score[j][3],score[j][4],score[j][5]); break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 周报