(C语言程序设计案例课件)项目八学生成绩文件管理.pptx
文本预览下载声明
大连理工大学出版社;;项目八 学生成绩文件管理;;项目八 学生成绩文件管理;任务一 将学生成绩顺序读写到文件中;任务一 将学生成绩顺序读写到文件中; 假设班级目前的学生数为30,则程序代码如下:
/*源文件名:Li8_1.c
功能:统计一个班级的期末考试信息。*/
#include stdio.h
#define N 30 /*定义班级中学生的人数*/
void main()
{
int i;
FILE *fp;
FILE *fpp;
struct stu
{
char name[20];
int number;; int score;
}stud[N] /*打开或建立stu.txt文件,只允许写入数据*/
fp=fopen(stu.txt,w);
for(i=0;iN;i++)
{
printf(请输入第%d个学生的信息:\n,i+1);
printf(姓名:);
scanf(%s,stud[i].name);
printf(学号:);
scanf(%d,stud[i].number);
printf(总分:);
scanf(%d,stud[i].score);
fprintf(fp, %s,%d,%d\n,stud[i].name, stud[i].number,
stud[i].score);; fclose(fp); /*关闭stu.txt文件*/
/*打开已有的stu.txt文件,只允许读取数据*/
fpp=fopen(stu.txt,r);
for(i=0;iN;i++)
{
if(stud[i].score550.0)
printf(%s(学号:%d)是个优秀的学.\n,stud[i].name,stud[i].number);
}
fclose(fpp); /*关闭stu.txt文件*/
getch();
}; 程序首先将30个学生的信息存放到文件stu.txt中,然后对存放在stu.txt中的学生的总分进行统计,并将总分在550分以上的学生的名单输出。
以输入5个(假设此时N的值为5)学生的信息为例,程序的运行情况为: ;任务一 将学生成绩顺序读写到文件中; 此时如果打开文件stu.txt,则5个学生的信息清单按照输入的顺序存放在stu.txt文件中,如图所示。; 要完成上面的任务,小王必须要能够熟练使用文件的读写函数对文件进行一系列的操作,并要了解以下几个跟文件相关得概念:
文件是一组相关数据的集合。在C程序设计中,按文件的内容可以分为两类:一类是程序文件,它是程序得源代码;另一类是数据文件,它是程序运行时需要的原始数据及输出的结果。这两类文件都保存在磁盘上,随时可以使用。程序文件的创建和使用已经在前面各章使用了,本项目主要介绍数据文件的创建和使用。; 按数据得存储形式,数据文件可以分为文本文件和二进制文件两类。
文本文件:也称ASCII文件,是一种字符流文件。文本文件的优点是可以直接阅读,而且ASCII码标准统一,使文件易于移植,其缺点是输入、输出都要进行转换,效率低。
二进制文件:二进制文件中的数据是按其在内存中的存储形式存放的。; 流:流是一个逻辑设备,具有诸多相同的行为。在C语言中有两种性质的流:文字流和二进制。
顺序文件:可以进行顺序存取的文件称为顺序文件。
随机文件:可以进行随机存取的文件称为随机文件。
C语言支持的文件存取方式有两种:顺序存取和随机存取。随机存取也称直接存取。;8.2 文件的打开与关闭 ;8.2 文件的打开与关闭 —8.2.1 文件的打开 ;8.2 文件的打开与关闭 —8.2.1 文件的打开 ;8.2 文件的打开与关闭 —8.2.1 文件的打开 ;8.2 文件的打开与关闭 —8.2.1文件的打开 ;8.2 文件的打开与关闭 —8.2.1 文件的打开 ;8.2 文件的打开与关闭 —8.2.1 文件的打开 ;8.2 文件的打开与关闭; 上述语句的含义是关闭fp所指向的文件,同时自动释放分配给文件的内存缓冲区。当正常完成关闭文件的操作时,fclose函数的返回值为0,表示已正确关闭指定的文件;如返回非0值则表示有错误发生。 ;8.2 文件的打开与关闭 —8.2.2 文件的关闭 ;8.2 文件的打开与关闭 —8.2.2 文件的关闭 ;8.3 文件的读写;8.3 文件的读写
显示全部