Chap12文件12.1学生成绩文件统计12.2用户信息加密和校验12.3文件综合应用:资金账户管理
Chap 12 文件 12.1 学生成绩文件统计 12.2 用户信息加密和校验 12.3 文件综合应用:资金账户管理
本章要点■什么是文件?C文件是如何存储的?■什么是文件缓冲系统?工作原理如何?1什么是文本文件和二进制文件?■怎样打开、关闭文件?怎样编写文件读写程序?■怎样编写程序,实现简单的数据处理?
本章要点 ◼ 什么是文件?C文件是如何存储的? ◼ 什么是文件缓冲系统?工作原理如何? ◼ 什么是文本文件和二进制文件? ◼ 怎样打开、关闭文件? ◼ 怎样编写文件读写程序? ◼ 怎样编写程序,实现简单的数据处理?
12.1学生成绩文件统计【例12-1】有5位学生的计算机等级考试成绩被事先保存在数据文件C:If12-1.txt(C盘根目录下的文件f12-1.txt,需事先准备好该文件)中,包括学号、姓名和分数,文件内容如下:301101 Zhangwen 91301102 Chenhui 85301103Wangweidong76301104 Zhengwei 69301105Guowentao55请读出文件的所有内容显示到屏幕,并输出平均分。国T:VHOWEVSS100学校108项目100-C教材口X口区f12-1.txt-记事本301101Zhangwen 91文件(F)编辑()格式(0)查看(V)帮助(H)301102Chenhui 85301101 Zhangwen 91一301103Wangweidong76301102 Chenhui 85301104Zhewei 69301103Wangweidong 76301105Guowentao 55301104 Zhengwei 69Average75score:301105Guowentao 55Presss any key to continue口K
12.1 学生成绩文件统计 【例12-1】有5位学生的计算机等级考试成绩被事先保存在数据文件 C:\f12-1.txt(C盘根目录下的文件f12-1.txt,需事先准备好该文件) 中,包括学号、姓名和分数,文件内容如下: 301101 Zhangwen 91 301102 Chenhui 85 301103 Wangweidong 76 301104 Zhengwei 69 301105 Guowentao 55 请读出文件的所有内容显示到屏幕,并输出平均分
#include<stdio.h>例12-1源程序#include<stdlib.h>#include<process.h>int main(void)YFILE *fp;/*1.定义文件指针*/long num; char stname[2o];int i, score; int avg_score = O;/*2.打开文件*if((fp=fopen("c:llf12-1.txt","r"))==NULL)printf("File open error!\n");exit(0);1续下页
#include <stdio.h> #include <stdlib.h> #include <process.h> int main(void) { FILE *fp; /*1.定义文件指针*/ long num; char stname[20]; int i, score; int avg_score = 0; if((fp=fopen("c:\\f12-1.txt","r")) == NULL) /*2.打开文件*/ { printf("File open error!\n"); exit(0); } 续下页. 例12-1 源程序
例12-1源程序接上页....*3.文件处理(逐个读入和处理数据)*for(i=0;i<5;i++)1./*从文件读入成绩保存到变量*/fscanf(fp,"%ld%s%d",&num,stname,&score);avg_score+=score;/*统计总分*/*输出成绩到屏幕*/printf("%ld%s%din",num,stname,score)/*输出平均分到屏幕*/printf("Average score: %dln",avg_score/5);if(fclose(fp)/*4.关闭文件*printf("Can not close the file!ln");exit(0);7return O;7
例12-1 源程序 /*3.文件处理(逐个读入和处理数据)*/ for(i=0;i<5;i++) { /*从文件读入成绩保存到变量*/ fscanf(fp,"%ld%s%d",&num,stname,&score); avg_score += score; /*统计总分*/ /*输出成绩到屏幕*/ printf("%ld%s %d\n",num,stname,score); } /*输出平均分到屏幕*/ printf("Average score: %d\n", avg_score/5); if(fclose(fp)){ /*4.关闭文件*/ printf( "Can not close the file!\n" ); exit(0); } return 0; } 接上页