《C程序设计》综合性实验
实验报告
题目: 学生成绩管理
姓名: 侯锐
班级: 机械类1205
学号: 201215910622
指导教师: 周颜
完成时间: 2013年5月21日
实验题目
学生成绩管理
实验目的
1. 掌握一维数组、二维数组的使用方法。
2. 掌握结构体数组的定义和使用。
3. 综合应用数据文件的读写语句保存结构体数组中的数据。
实验要求
有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。
具体要求:
?定义结构体类型(student_type),其中包括学号(num[12])、姓名(name[15])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。
?在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。
?定义保存文件函数save()和显示文件函数display()。
程序流程图
开始
开始
输入
输入i=0
NOi<4?
NO
i<4?
YES
YES
输入学生
输入学生i的信息
计算学生i
计算学生i的平均分
输出所有信
输出所有信息
i=i+1
i=i+1
结束
结束
程序代码
#include<stdio.h>
#include<stdlib.h>
struct Student
{
double num;
char name[15];
char clas[20];
float score[3];
float ave;
};
struct Student stu[4];
void main()
{
void save();
void display();
int i;
printf("请输入各学生的信息:学号、姓名、班级、三门课的成绩:\n");
for(i=0;i<4;i++)
{
scanf("%lf %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].clas,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
}
save();
display();
}
void save()
{
int i;
FILE *fp;
char filename[]={"score.txt"};
if((fp=fopen(filename,"w"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
for(i=0;i<4;i++)
{
fprintf(fp,"%12.0lf ",stu[i].num);
fprintf(fp,"%s ",stu[i].name);
fprintf(fp,"%s ",stu[i].clas);
fprintf(fp,"%5.1f ",stu[i].score[0]);
fprintf(fp,"%5.1f ",stu[i].score[1]);
fprintf(fp,"%5.1f ",stu[i].score[2]);
fprintf(fp,"%6.2f ",stu[i].ave);
fprintf(fp,"\n");
}
fclose(fp);
}
void display()
{
int i;
FILE *fp;
char filename[]={"score"};
if((fp=fopen(filename,"w"))==NULL)
{
printf("无法打开此文件\n");
exit(0);
}
for(i=0;i<4;i++)
{
fscanf(fp,"%12.0lf ",stu[i].num);
fscanf(fp,"%s ",stu[i].name);
fscanf(fp,"%s ",stu[i].clas);
fscanf(fp,"%5.1f ",stu[i].score[0]);
fscanf(fp,"%5.1f ",stu[i].score[1]);
fscanf(fp,"%5.1f ",stu[i].score[2]);
fscanf(fp,"%6.2f ",stu[i].ave);
}
fclose(fp);
for(i=0;i<4;i++)
{
printf("学号:%12.0lf 姓名:%s 班级:%s 三门课成绩:%5.1f,%5.1f,%5.1f 平均成绩:%6.2f\n",stu[i].num,stu[i].name,stu[i].clas,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);
}
}
实验结果
实验体会
一个学期的C语言程序设计学习结束了,我深深的体会到了学习C语言的困难。刚开始学习的时候感觉还比较简单,因为那些是最简单的东西,但是往后的章节越来越有难度。通过本次的综合性试验,我明白了想学好C语言并不是一朝一夕的事,而且仅仅只在课堂上的学习时间是完全不够的,必须在课下勤加练习,一个好的程序往往是十分复杂的,因此,想要真正的学好C语言,出了要牢牢掌握住所有的程序写法外,还要有足够的耐心,并且还要认真细心,这些都是必不可少的,我一定会尽我最大的努力去学好它。
推荐访问:实验报告 程序设计 综合性 实验 C程序设计综合性实验报告