实验十实验报告

更新时间:2024-01-16 04:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南京信息工程大学C语言程序设计 实验(实习)报告

实验(实习)名称_数组实验(实习)日期 6.25 得分______ 指导老师 吴婷婷 系 专业 班级 姓名 学号 1.

实验目的

(1)通过实验进一步掌握文件与文件指针的概念,会定义和使用数组;

(2)能正确使用文件打开,文件关闭,读写文件等基本的文件操作函数;

(3)能运用文件操作函数进行程序设计。 2. 实验内容

某班有学生145人,每人的信息包括:学号、姓名、性别和成绩。编制一个C语言程序完成以下操作: (1) 定义一个结构体类型数组。

(2) 打开可读写的新文件student.date。

(3) 使用函数fwrite将结构体数组内容写入文件student.dat。

(4) 关闭文件student.dat。 (5) 打开可读写文件student.dat。

(6) 从文件中依次读出各学生情况并按学生成绩进行排序,输出排好序后的数据。 (7) 关闭文件student.dat。

#include #include

#define STUDENT_NUM 145 typedef struct {

int number; char name[12]; char gender; float grades; }students;

void sortstudents(students[]); void displaystudents(students[]); int main(void) {

FILE *fp; int i;

students studentForWrite[STUDENT_NUM],studentForRead[STUDENT_NUM]; if((fp=fopen(\{

fprintf(stderr,\exit(1); }

puts(\请输出各个学生的情况:\for(i=0;i

scanf(\i].name,&studentForWrite[i].gender,&studentForWrite[i].grades); if(fwrite(&studentForWrite[i],sizeof(students),1,fp)!=1) {

fprintf(stderr,\exit(2); } }

if(fclose(fp)==EOF) {

fprintf(stderr,\exit(3); }

if((fp=fopen(\{

fprintf(stderr,\exit(4); }

for(i=0;i

{

if(fread(&studentForWrite[i],sizeof(students),1,fp)!=1) {

fprintf(stderr,\exit(5); } }

if(fclose(fp)==EOF) {

fprintf(stderr,\exit(6); }

sortstudents(studentForRead); displaystudents(studentForRead); return 0; }

void sortStudents(students studentToSort[]) {

int top,seek; students temp;

for(top=0;top

for(seek=top+1;seek

if(studentToSort[top].grades>studentToSort[seek].grades) {

temp=studentToSort[top];

studentToSort[top]=studentToSort[seek]; studentToSort[seek]=temp; } } } }

void displaystudents(Students studentToDisplay[]) {

int index;

puts(\”); for(index=0;index

printf(\”,studentToDisplay[index].number,studentToDisplay[index].name,studentToDisplay[index].gender,studentToDisplay[index].grades); } }

本文来源:https://www.bwwdw.com/article/4uho.html

Top