当前位置:
文档之家› C程序设计综合实验报告(信管)
C程序设计综合实验报告(信管)
printf(" || 9:根据总分排名10:退出系统||\n");
switch(x)
{case 1:luru(stu);break;
case 2:cjcx(stu);break;
case 3:xxsc(stu);break;
case 4:xiugai(stu);break;
case 5:pjcj(stu);break;
三、实验内容
1、实验内容
对学生基本信息,包括学号、姓名、至少三门课成绩。
1学生基本信息录入;
2学生基本信息的输出;
3按学号查询学生信息;
4按学号修改某学生信息并输出;
5求每个人平均成绩;
6删除某学生信息;
7添加某学生信息
8输出平均分大于80分的同学信息;
9根据总成绩或平均成绩综合排名;(此功能用链表处理的同学可不做)
}
/*求某同学的平均成绩*/
void pjcj(struct student stu[])
{
int a,i;
float ave,sum=0;
printf("请输入你要查询第几个同学的平均成绩:\n");
scanf("%d",&a);
for(i=0;i<4;i++)
sum=sum+stu[a-1].score[i];
for(i=0;i<11;i++)
printf("%d",stu[b-1].dianhua[i]);
printf("\n"); }
}
/*根据总分排名*/
void zfpm(struct student stu[])
{
int i,j,z[M]={1},temp2;
float sum[M]={0},temp1;
sum[i]=sum[j];
sum[j]=temp1;
temp2=stu[i].num; /*交换学号*/
stu[i].num=stu[j].num;
stu[j].num=temp2;}}
}
printf("其总分排名是:\n名次学号姓名总分\n");
for(i=0;i<x;i++)
printf("%d %d %s %f\n",z[i],stu[i].num,stu[i].name,sum[i]);
实验题目
学生成绩管理系统的设计
一、实验目的
通过该实验把C语言中基本知识(如:顺序结构、选择结构、循环结构、数组、函数、指针、链表等)得到综合应用。完成学生成绩管理系统基本功能设计,提高学生的编程能力和分析问题、解决问题的能力。
二、设备与环境
硬件:多媒体计算机
软件:Windows系列或DOS系列的操作系统、C语言
华北科技学院计算机系综合性实验
实 验 报 告
课程名称C程序设计
实验学期2011至2012学年 第二学期
学生所在系部计算机学院
年级11级专业班级信管B11-2班
学生姓名牟海军学号************
任课教师孙改平
实验成绩
计算机系制
《 C程序设计》课程综合性实验报告
开课实验室:计算机基础实验室2012年06月28日
for(j=0;j<x;j++)
{for(i=0;i<4;i++)
sum[j]=sum[j]+stu[j].score[i];}
for(i=1;i<x;i++)
z[i]=z[i-1]+1;
for(i=0;i<x-1;i++)
{for(j=1;j<x;j++)
{if(sum[j]>sum[i])
{temp1=sum[i]; /*交换成绩*/
printf("你想添加的信息编号\n");
scanf("%d",&a);
if(a==1)
{printf("请输入性别: M or W\n");
getchar();
scanf("%c",&stu[b-1].xingbie);
printf("修改后该学生信息为: \n");
printf("%d\t%s\t%f\t%f\t%f\t%f %c\n",stu[b-1].num,stu[b-1].name,stu[b-1].score[0],stu[b-1].score[1],stu[b-1].score[2],
2、实验要求
a、用结构体数组或链表存储学生信息
b、基本功能用函数实现;
c、至少完成实验内容中4个功能,学生可以自己增加或减少题目功能;
d、程序能正确执行、输入与输出有必要的提示信息、界面美观;
e、用菜单调用加分。用链表加分。
3、最后结果输出。要求:输出格式要界面直观、清晰大方、格式规范。
四、实验结果及分析
void cjcx(struct student stu[]); /*按学号查询成绩*/
void xxsc(struct student stu[]); /*学生基本信息输出*/
void xiugai(struct student stu[]); /*修改学生信息并输出*/
void pjcj(struct student stu[]); /*求某同学平均成绩*/
scanf("%f",&stu[i].score[j]);}
printf("你输入的信息是:\n num name score1 score2
score3 score4\n");
for(i=0;i<x;i++)
{
printf("\n %d %s ",stu[i].num,stu[i].name);
for(j=0;j<4;j++)
stu[b-1].score[3],stu[b-1].dizhi);
}
if(a==3)
{printf("请输入:\n");
for(i=0;i<11;i++)
scanf("%d",&stu[b-1].dianhua[i]);
printf("修改后该学生信息为:\n");
printf("%d\t%s\t%f\t%f\t%f\t%f\t ",stu[b-1].num,stu[b-1].name,stu[b-1].score[0],stu[b-1].score[1],stu[b-1].score[2],stu[b-1].score[3]);
void sccj(); /*删除某学生成绩*/
void tjxx(struct student stu[]); /*添加某学生信息*/
void pjfdy80(struct student stu[]); /*输出平均分大于80的同学信息*/
void zfpm(struct student stu[]); /*根据总分排名*/
printf(" || 1:学生基本信息录入2:按学号查询成绩||\n");
printf(" || 3:学生基本信息输出4:修改学生信息并输出||\n");
printf(" || 5:求某同学平均成绩6:删除某学生成绩||\n");
printf(" || 7:添加某学生信息8:输出平均分大于80的同学信息||\n");
printf(" %f ",stu[i].score[j]);
printf("\n");}
}
/*添加某学生信息*/
void tjxx(struct student stu[])
{
int a,b,i;
printf("请输入你要添加第几个学生的信息:\n");
scanf("%d",&b);
printf(" 1:性别2:地址3:电话号\n");
stu[b-1].score[3],stu[b-1].xingbie);
}
if(a==2)
{printf("请输入不超过20位地址:\n");
getchar();
gets(stu[b-1].dizhi);
printf("修改后该学生信息为:\n");
printf("%d\t%s\t%f\t%f\t%f\t%f %s\n",stu[b-1].num,stu[b-1].name,stu[b-1].score[0],stu[b-1].score[1],stu[b-1].score[2],
1、实验运行过程及分析
流程图:
程序代码:
struct student
{
int num;
int dianhua[11];
float score[4];
char name[10];
char xingbie;
char dizhi
void luru(struct student stu[]); /*学生基本信息录入*/
case 6:sccj(stu);break;
case 7:tjxx(stu);break;
case 8:pjfdy80(stu);break;
case 9: zfpm(stu);break;
case 10:exit(0);}