A____________A 2015-01-09 12:31 采纳率: 0%
浏览 1852

请问一下这个C++学生信息管理系统管理系统为什么文件读取不了。

#include
#include
#include
#include
using namespace std;
#define M 200 //可以存信息总量
int N=0; //学生总量
class student
{
public:
student();
void set(); //初始化信息,第一次对信息的录入
void add(); //添加学生信息
void del(); //删除某学生信息
void change(); //修改某学生信息
void search(); //查询某学生信息
void display(); //显示全部学生信息
private:
static int num;
string name,sex,politic,address;
};
int student::num=110;

student::student() {}

void student::set()
{
int i;
string setname,setsex,setpolitic,setaddress;
ofstream outfile;
outfile.open("f1.txt",ios::out); //----打开文件----
if(!outfile)
{
cerr<<" open error"< exit(1);
}
//----依次录入相应个数的学生信息----
for(i=0;i {
cout cout cin>>setname;
name=setname;
if(setname=="0") break;
if(setname!="0")
{
N++;
num++;
outfile< outfile cout cin>>setsex;
sex=setsex;
outfile< cout cin>>setpolitic;
politic=setpolitic;
outfile< cout cin>>setaddress;
address=setaddress;
outfile<<setaddress<<endl;
}
}
outfile.close(); //----关闭文件----
}

void student::add()
{
string addname,addsex,addpolitic,addaddress;

//----以追加的方式录入信息,直接将信息追加到以前文件的末尾----
ofstream outfile("f1.txt",ios::app);
if(!outfile)
{
cerr<<" open error"< exit(1);
}
N=N+1;
//----依次输入相应的数据,并且追加到之前的文件中去----
cout num++;
outfile cout cin>>addname;
outfile< cout cin>>addsex;
outfile< cout cin>>addpolitic;
outfile< cout cin>>addaddress;
outfile<<addaddress<<endl;
outfile.close();
cout<<"已添加成功!"<<endl;
}

void student::del()
{
int k,i;
int num[M];
string name[M],sex[M],politic[M],address[M];
ifstream infile("f1.txt",ios::in);
if(!infile)
{
cerr<<" open error"< exit(1);
}
for(i=0;i {
cout infile>>num[i];
cout< infile>>name[i];
cout< infile>>sex[i];
cout< infile>>politic[i];
cout< infile>>address[i];
cout< }
cout cin>>k;
k=k-1;
infile.close();
ofstream outfile("f1.txt",ios::out);
if(!outfile)
{
cerr<<" open error"<<endl;
exit(1); //退出程序
}
//----将数组存取的信息输出到文件中去----
for(i=0;i<N;i++)
{
if(i!=k)
{
outfile<<num[i]<<" ";
outfile<<name[i]<<" ";
outfile<<sex[i]<<" ";
outfile<<politic[i]<<" ";
outfile<<address[i]<<" "<<endl;
}
}
outfile.close();
N=N-1;
cout<<"已删除成功!"<<endl;
}

void student::change()
{
int i,k;
int num[M];
string name[M],sex[M],politic[M],address[M];
ifstream infile("f1.txt",ios::in);
if(!infile)
{
cerr<<" open error"< exit(1);
}
for(i=0;i {
cout infile>>num[i];
cout< infile>>name[i];
cout< infile>>sex[i];
cout< infile>>politic[i];
cout< infile>>address[i];
cout< }
infile.close();
ofstream outfile("f1.txt",ios::out);
if(!outfile)
{
cerr exit(1);
}
cout cin>>k;
k=k-1;
cout<<"请输入新的数据:"< cout cin>>name[k];
cout<<"请输入性别:"< cin>>sex[k];
cout<<"请输入政治面貌:"< cin>>politic[k];
cout<<"请输入家庭住址:"< cin>>address[k];
for(i=0;i<N;i++)
{
outfile<<num[i]<<" ";
outfile<<name[i]<<" ";
outfile<<sex[i]<<" ";
outfile<<politic[i]<<" ";
outfile<<address[i]<<" "<<endl;
}
outfile.close();
cout<<"已修改成功!"<<endl;
}

void student::search()
{
int i,n,w=0,num[M],a[M];char ch;
string searchname,name[M],sex[M],politic[M],address[M],b[M][4];
cout<<"a.按学号查找 b.按姓名查找"< ifstream infile("f1.txt",ios::in);
if(!infile)
{
cerr exit(1);
}
for(i=0;i {
infile>>num[i];a[i]=num[i];
infile>>name[i];b[i][0]=name[i];
infile>>sex[i];b[i][1]=sex[i];
infile>>politic[i];b[i][2]=politic[i];
infile>>address[i];b[i][3]=address[i];
}
cout<<"请输入a或者b!"< cin>>ch;
if(ch=='a')
{
cout<<"请输入学号!"< cin>>n;
for(i=0;i if(a[i]==n)
{
w=1;
cout cout cout cout cout cout cout }
if(w==0)
cout }
else if(ch=='b')
{
cout cin>>searchname;
for(i=0;i<N;i++)
if(name[i]==searchname)
{
w=1;
cout<<" 学号 姓名 性别 政治面貌 家庭住址"<<endl;
cout<<" ";
cout<<setw(9)<<a[i];
cout<<setw(9)<<b[i][0];
cout<<setw(9)<<b[i][1];
cout<<setw(9)<<b[i][2];
cout<<setw(9)<<b[i][3]<<endl;
}
if(w==0)
cout<<"无此人信息!"<<endl;
}
else cout<<"没有此选项!"<<endl;
}

void student::display()
{
int k,num;
string name,sex,politic,address;
ifstream infile("f1.txt",ios::in);
if(!infile)
{
cerr<<" open error"< exit(1);
}
cout for(k=0;k {
cout infile>>num;
cout< infile>>name;
cout< infile>>sex;
cout< infile>>politic;
cout< infile>>address;
cout<<setw(9)<<address<<endl;
}
infile.close();
}

student stu;
void main()
{
char ch;
void menu();
menu();
cin>>ch;
while(ch!='0')
{
system("cls");
switch(ch)
{
case '1':stu.set();break;
case '2':stu.add();break;
case '3':stu.del();break;
case '4':stu.change();break;
case '5':stu.search();break;
case '6':stu.display();break;
case '0':cout<<"退出系统!";break;
default:cout<<"没有此选项!"< }
menu();
cin>>ch;
}
}

void menu()
{
cout<<"******************"<<endl;
cout<<"* 1.输入 "<<endl;
cout<<"
2.添加 "<<endl;
cout<<"
3.删除 "<<endl;
cout<<"
4.修改 "<<endl;
cout<<"
5.查询 "<<endl;
cout<<"
6.显示全部 "<<endl;
cout<<"
0.退出 "<<endl;
cout<<"
*****************"<<endl;
}

  • 写回答

5条回答 默认 最新

  • shiter 人工智能领域优质创作者 2015-01-09 13:45
    关注

    你怎么调用的,主函数在那?

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器