上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.14 编程实作
【例2-26】 在C盘根目录下建立一文件student.dat,并从键盘输入3个学生的数据到该文件中。每个学生的数据包括姓名、身份证号,以及数学、英语、计算机等课程的成绩。
1.编写源程序
<1> 启动Visual C++ 6.0,选择“文件 | 新建”菜单命令。
<2> 从弹出的“新建”对话框中选择“文件”标签,从其列表项中选择“C++ Source File”,指定文件目录,并输入文件名student。
<3> 在Visual C++ 6.0的编辑器中输入下面的程序代码。
//Eg2-26-1.cpp #include <iostream> #include <fstream> using namespace std; void main(){ ofstream outfile("C:\\student.dat"); char name[8],id[8]; int math,eng,computer; for(int i=0;i<3;i++) { cout<<"输入姓 名: "; cin>>name; cout<<"输入身份证号: "; cin>>id; cout<<"输入数学成绩: "; cin>>math; cout<<"输入英语成绩: "; cin>>eng; cout<<"输入计算机成绩: "; cin>>computer; outfile<<name<<" "<<id<<" "<<math<<" "<<eng<<""<<computer<<endl; } outfile.close(); }
2.运行程序,查看建立的文件
编译程序,修改程序中的错误,然后运行程序。根据屏幕提示输入每个学生的各项数据,每输入一个数据后按一次Enter键。程序结束后,用Windows的记事本或VC的编辑器打开建立的文件C:\student.dat,观察文件格式,如图2-4所示,然后按相同格式增加5个学生的成绩在文件后面。
图2-4 用记事本打开C++程序建立的文件
3.读取建立的文件数据
文件一经建立,就能多次使用,可以对它进行读取、修改、查找等操作。现在编写一程序将文件student.dat中的数据读出来,并显示在屏幕上。在C++编辑器中输入、编译并运行下面的程序,然后检查屏幕上的数据是否与文件C:\student.dat中的数据一致。
//Eg2-26-2.cpp #include<iostream> #include<fstream> using namespace std; void main(){ ifstream infile("c:\\student.dat"); char name[8],id[8]; int math,eng,computer; infile>>name; while (!infile.eof()){ infile>>id>>math>>eng>>computer; cout<<"姓 名: "<<name<<endl; cout<<"身份证号: "<<id<<endl; cout<<"数学成绩: "<<math<<endl; cout<<"英语成绩: "<<eng<<endl; cout<<"计算机成绩: "<<computer<<endl<<endl; infile>>name; } infile.close(); }
为了对文件中的数据进行各种处理,常常将文件中的数据读取到数组、树、链表或栈之类的数据结构中。
上面的程序采用了标准C++的头文件,将其中的语句:
#include <iostream> #include <fstream> using namespace std;
替换成
#include <iostream.h> #include <fstream.h>
再编译、运行程序,看看结果是否相同。