自问自答,正解为:
#include "stdafx.h"
#include
#include"iostream.h"
#include"stdlib.h"
void enter(char *filename,int n)
{ char name[30],flag='y';
int number,score;
ofstream outstuf;
outstuf.open(filename,ios::out);
if(!outstuf) {cerr<<"file could not be open"<
outstuf<<"this is a file of students\n";
cout<<"请输入: number ,name ,an score: (enter Ctrl+z to end intput)\n";
int i=n;
do
{i--; cin>>number>>name>>score;
outstuf<
outstuf.close(); }
void display(char*filename)
{ char name[30]; int number,score;
ifstream instuf(filename,ios::in);
if(!instuf) {cerr<<"file could not be open"<
char s[80]; instuf.getline(s,80);
while(instuf>>number>>name>>score)
{cout<
instuf.close();}
void interfaced(void){ cout<<"文件复习:\n"; cout<<"=======================================\n";
cout<<" 输入纪录-----------------0\n";
cout<<" 查询纪录-----------------1\n";
cout<<" 退出---------------------2\n";
cout<<"=======================================\n";
cout<<"请输入数字(0--2):\n";}
void main()
{
char filename[30]; int i,n;
cout<<"please input the name of student`s file"<
cin>>filename;
do
{j:interfaced();
i=NULL;
cin>>i;
if(i!=0&&i!=1&&i!=2)
{cout<<"please enter a right number!!!";
goto j;}
else
switch(i)
{
case 0: cout<<"输入多少个人的数据呢?"<
case 1: display(filename);i=NULL;goto j;
case 2: exit(0);
default : cout<<"警告!!!请输入数字0-2!\n";i=NULL; goto j;
}
}while(i!=2&&i!='2');
}