C程序设计综合性实验报告

时间:2020-11-09 09:12:53 手机站 来源:网友投稿

《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程序设计综合性实验报告

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。