C程序設计综合性实验报告模版.docVIP

  • 4
  • 0
  • 约3.76千字
  • 约 6页
  • 2016-11-30 发布于重庆
  • 举报
C程序設计综合性实验报告模版

《C程序设计》综合性实验 实验报告 题目: 学生成绩管理 姓名: 班级: 学号: 指导教师: 完成时间: 实验题目 学生成绩管理 实验目的 1. 掌握一维数组、二维数组的使用方法。 2. 掌握结构体数组的定义和使用。 3. 综合应用数据文件的读写语句保存结构体数组中的数据。 实验要求 有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。 具体要求: ?定义结构体类型(student_type),其中包括学号(num[11])、姓名(name[8])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。 ?在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。 ?定义保存文件函数save()和显示文件函数display()。 程序流程图 #include stdio.htypedef struct student_type_tag{ char num[11]; char name[9]; char classname[20]; float score[3]; float ave; }student_type; student_type stud[4]; void save() { FILE *fp = fopen(score.txt, wb); if (fp) { for (int i = 0; i 4; i++) { fwrite(stud[i], sizeof(student_type), 1, fp); } fclose(fp); } } void display() { FILE *fp = fopen(score.txt, rb); if (fp) { printf(\n------------成绩---------------); for (int i = 0; i 4; i++) { student_type astud; fread(astud, sizeof(student_type), 1, fp); printf(\n%11s | %9s | %20s | %3.1f | %3.1f | %3.1f | %3.1f, astud.name, astud.name, astud.classname, astud.score[0], astud.score[1], astud.score[2], astud.ave); } fclose(fp); } } int main(int argc, char* argv[]) { for (int i = 0; i 1; i++) { printf(\n--输入成绩[%i/4]--\n, i+1); printf(请输入学号(最长11位):);scanf(%s, stud[i].num); printf(请输入姓名(最长9位):);scanf(%s, stud[i].name); printf(请输入班级(最长20位):);scanf(%s, stud[i].classname); printf(请输入成绩1(xx.x):);scanf(%f, stud[i].score[0]); printf(请输入成绩2(xx.x):);scanf(%f, stud[i].score[1]); printf(请输入成绩3(xx.x):);scanf(%f, stud[i].score[2]); stud[i].ave = (stud[i].score[0] + stud[i].score[1] + stud[i].score[2]) / 3; } printf(\n正在保存...); save(); printf(ok); display(); getchar(); getchar(); return 0; } 程序代码 实验结果 实验体会 通过这次C

文档评论(0)

1亿VIP精品文档

相关文档