回 帖 发 新 帖 刷新版面

主题:求救!!需要添加一个"输入人员信息,并保存到文件中"功能

#include<iostream>
#include<string> //控制字符串的头文件

using namespace std;
class tong //建立同学录的一个类
{
public:
 tong(); //构造函数
 tong(char n[20],char se,int ag,int te,int qq);
 ~tong();
 void Set();//添加
 void Delete();//删除
 void Alter();//修改
 void List();//显示
 void RearchN();
 void RearchT();
 void RearchQ();
private:
 char name[20];
 int age,telphone,QQ;
 char sex;
};
tong::tong()//构造函数
{
 strcpy(name, "");
 sex='M';
 age=0;
 telphone=0;
 QQ=0;
}
tong::tong(char n[20],char se,int ag,int te,int qq)
{
 strcpy(name, n);
 sex=se;
 age=ag;
 telphone=te;
 QQ=qq;
}
tong::~tong(){}
tong*s[50];int i=0;int j=0;
char name[20];int age,telphone,QQ;char sex;
void tong::Set()//建立通讯录
{
 cout<<"请输入姓名:"<<endl; 
 cin>>name; 
 cout<<"请输入性别:"<<endl;
 cin>>sex;
 cout<<"请输入年龄:"<<endl; 
 cin>>age; 
 cout<<"电话号码:"<<endl; 
 cin>>telphone; 
 cout<<"QQ号码:"<<endl; 
 cin>>QQ; 
 j++; 
 s[i]=new tong(name,sex,age,telphone,QQ); 
 i++;

}
void tong:: Delete() //(2)删除人员(Delete)

 cout<<"请输入您要删除的学生姓名:"<<endl; 
 cin>>name; 
 for(int h=0;h<i;h++) 
 { 
  if(strcmp(name,s[h]->name)==0) 
  { 
   i--; 
   s[h]=s[h+1]; 
   h++; 
  }
  else cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!"; 
 }
}
void tong::Alter() //(3)修改数据(Alter)

 cout<<"请输入您要修改的学生的姓名:"<<endl; 
 cin>>name; 
 for(int h=0;h<i;h++)
 {
  if(strcmp(name,s[h]->name)==0)
  {
   char se;int ag,qq,te;
   cout<<"请输入性别:"<<endl;
   cin>>se;
   cout<<"请输入年龄:"<<endl; 
   cin>>ag; 
   cout<<"电话号码:"<<endl; 
   cin>>te;
   cout<<"QQ号码:"<<endl;
   cin>>qq; 
   s[h]->sex=se; 
   s[h]->age=ag; 
   s[h]->telphone=te;
   s[h]->QQ=qq;
   cout<<"数据修改成功!"; 
   break;
  }
  if (i == j)
  {
   cout<<"对不起!您要查询的学生不存在!"<<endl; 
  }
 //else cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl;
 }

void tong::List() //(4)显示记录(List)

 cout<<"本系统所有通讯录的数据如下:"<<endl; 
 if(i==0) 
  cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; 
 for(int k=0;k<i;k++) 
 { 
  cout<<"姓名:"<<s[k]->name<<" "<< 
  "性别:"<<s[k]->sex<<" "<<"年龄:"<<s[k]->age 
  <<" "<<"电话号码:"<<s[k]->telphone<<" "<<"QQ号码:"
  <<s[k]->QQ<<endl; 
 } 


void tong::RearchN()
{
 if(i==0)
  cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
 cout<<"请输入你要查询的学生姓名"<<endl;
 cin>>name;
 for(int j=0;j<i;j++)
 {
 if(strcmp(name,s[j]->name)==0)
 {
  cout<<"您要查询的学生是:"<<s[j]->name<<endl;
  cout<<"性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
  <<" "<<"QQ号码:"<<s[j]->QQ<<endl;
  break;
 }

// else
// cout<<"对不起!您要查询的学生不存在!"<<endl;
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}

void tong::RearchT()
{
 int n;
 if(i==0)
  cout<<"管理系统中没有输入数据!"<<endl;
 cout<<"请输入你要查询的学生的电话"<<endl;
 cin>>n;
 for(int j=0;j<i;j++)
 {
  if(s[j]->telphone==n)
  {
   cout<<"您要查询的学生是:"<<s[j]->name<<endl;
   cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
   <<" "<<"QQ号码:"<<s[j]->QQ<<endl;
   break;
  }
  
 //else cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}
void tong::RearchQ()
{
 int n;
 if(i==0)
  cout<<"管理系统中没有输入数据!"<<endl;
 cout<<"请输入你要查询的学生的QQ"<<endl;
 cin>>n;
 for(int j=0;j<i;j++)
 {
  if(s[j]->QQ==n)
  {
   cout<<"您要查询的学生是:"<<s[j]->name<<endl;
   cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone<<" "<<"QQ号码:"<<s[j]->QQ<<endl;
   break;
  }
//   else 
//    cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}
void caozuo(int p)
{
 tong t;
 switch(p)
 {
  case 0:t.Set();break;
  case 1:t.Set();break;
  case 2:t.Delete();break;
  case 3:t.Alter();break;
  case 4:t.List();break;
  case 5:t.RearchN();break;
  case 6:t.RearchT();break;
  case 7:t.RearchQ();break;
  case 8:exit(0);break;
 }
}
int main()
{
char w;
do
{    cout << "\n\n" << endl;
    cout << "*******************************************************" << endl;
        cout << "      *   0 通讯录录入  1 增加人员   *" << endl;
    cout << "      *   2 删除人员    3 修改数据   *" << endl;
    cout << "      *   4 显示记录    5 按姓名查询 *" << endl;
    cout << "      *   6 按电话查询  7 按QQ查询   *" << endl;
    cout << "      *          8 退出程序          *" << endl; 
    cout << "*******************************************************" << endl;
    cout << "请输入所需的操作:" ;
int a;
 cin>>a;
 caozuo(a);
 cout<<"您想继续进行其他操作吗?(y/n)"<<endl; 
 cin>>w;
}while(w=='y');
return 0; 
} //利用while语句又回到了前面的循环

回复列表 (共3个回复)

沙发

#include<fstream>
#include<iostream>



#include<string> //控制字符串的头文件

using namespace std;
class tong //建立同学录的一个类
{
public:
 tong(); //构造函数
 tong(char n[20],char se,int ag,int te,int qq);
 ~tong();
 void Set();//添加
 void Delete();//删除
 void Alter();//修改
 void List();//显示
 void RearchN();
 void RearchT();
 void RearchQ();
 void Save();
private:
 char name[20];
 int age,telphone,QQ;
 char sex;
};
tong::tong()//构造函数
{
 strcpy(name, "");
 sex='M';
 age=0;
 telphone=0;
 QQ=0;
}
tong::tong(char n[20],char se,int ag,int te,int qq)
{
 strcpy(name, n);
 sex=se;
 age=ag;
 telphone=te;
 QQ=qq;
}
tong::~tong(){}
tong*s[50];int i=0;int j=0;
char name[20];int age,telphone,QQ;char sex;
void tong::Set()//建立通讯录
{
 cout<<"请输入姓名:"<<endl; 
 cin>>name; 
 cout<<"请输入性别:"<<endl;
 cin>>sex;
 cout<<"请输入年龄:"<<endl; 
 cin>>age; 
 cout<<"电话号码:"<<endl; 
 cin>>telphone; 
 cout<<"QQ号码:"<<endl; 
 cin>>QQ; 
 j++; 
 s[i]=new tong(name,sex,age,telphone,QQ); 
 i++;

}
void tong:: Delete() //(2)删除人员(Delete)

 cout<<"请输入您要删除的学生姓名:"<<endl; 
 cin>>name; 
 for(int h=0;h<i;h++) 
 { 
  if(strcmp(name,s[h]->name)==0) 
  { 
   i--; 
   s[h]=s[h+1]; 
   h++; 
  }
  else cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!"; 
 }
}
void tong::Alter() //(3)修改数据(Alter)

 cout<<"请输入您要修改的学生的姓名:"<<endl; 
 cin>>name; 
 for(int h=0;h<i;h++)
 {
  if(strcmp(name,s[h]->name)==0)
  {
   char se;int ag,qq,te;
   cout<<"请输入性别:"<<endl;
   cin>>se;
   cout<<"请输入年龄:"<<endl; 
   cin>>ag; 
   cout<<"电话号码:"<<endl; 
   cin>>te;
   cout<<"QQ号码:"<<endl;
   cin>>qq; 
   s[h]->sex=se; 
   s[h]->age=ag; 
   s[h]->telphone=te;
   s[h]->QQ=qq;
   cout<<"数据修改成功!"; 
   break;
  }
  if (i == j)
  {
   cout<<"对不起!您要查询的学生不存在!"<<endl; 
  }
 //else cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl;
 }
}

板凳


void tong::List() //(4)显示记录(List)

 cout<<"本系统所有通讯录的数据如下:"<<endl; 
 if(i==0) 
  cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; 
 for(int k=0;k<i;k++) 
 { 
  cout<<"姓名:"<<s[k]->name<<" "<< 
  "性别:"<<s[k]->sex<<" "<<"年龄:"<<s[k]->age 
  <<" "<<"电话号码:"<<s[k]->telphone<<" "<<"QQ号码:"
  <<s[k]->QQ<<endl; 
 } 

void tong::Save() //(9)保存文件(List)

    ofstream savefile("c:\\data.txt");

 savefile<<"本系统所有通讯录的数据如下:"<<endl; 
 if(i==0) 
  savefile<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; 
 for(int k=0;k<i;k++) 
 { 
  savefile<<"姓名:"<<s[k]->name<<" "<< 
  "性别:"<<s[k]->sex<<" "<<"年龄:"<<s[k]->age 
  <<" "<<"电话号码:"<<s[k]->telphone<<" "<<"QQ号码:"
  <<s[k]->QQ<<endl; 
 } 
 savefile.close();



void tong::RearchN()
{
 if(i==0)
  cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
 cout<<"请输入你要查询的学生姓名"<<endl;
 cin>>name;
 for(int j=0;j<i;j++)
 {
 if(strcmp(name,s[j]->name)==0)
 {
  cout<<"您要查询的学生是:"<<s[j]->name<<endl;
  cout<<"性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
  <<" "<<"QQ号码:"<<s[j]->QQ<<endl;
  break;
 }

// else
// cout<<"对不起!您要查询的学生不存在!"<<endl;
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}

void tong::RearchT()
{
 int n,j;
 if(i==0)
  cout<<"管理系统中没有输入数据!"<<endl;
 cout<<"请输入你要查询的学生的电话"<<endl;
 cin>>n;
 for( j=0;j<i;j++)
 {
  if(s[j]->telphone==n)
  {
   cout<<"您要查询的学生是:"<<s[j]->name<<endl;
   cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone
   <<" "<<"QQ号码:"<<s[j]->QQ<<endl;
   break;
  }
  
 //else cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}
void tong::RearchQ()
{
 int n;
 int j;
 if(i==0)
  cout<<"管理系统中没有输入数据!"<<endl;
 cout<<"请输入你要查询的学生的QQ"<<endl;
 cin>>n;
 for(j=0;j<i;j++)
 {
  if(s[j]->QQ==n)
  {
   cout<<"您要查询的学生是:"<<s[j]->name<<endl;
   cout<<" 性别: "<<s[j]->sex<<" "<<"年龄: "<<s[j]->age<<" "<<"电话号码:"<<s[j]->telphone<<" "<<"QQ号码:"<<s[j]->QQ<<endl;
   break;
  }
//   else 
//    cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
 if (i == j)
 {
  cout<<"对不起!您要查询的学生不存在!"<<endl; 
 }
}
void caozuo(int p)
{
 tong t;
 switch(p)
 {
  case 0:t.Set();break;
  case 1:t.Set();break;
  case 2:t.Delete();break;
  case 3:t.Alter();break;
  case 4:t.List();break;
  case 5:t.RearchN();break;
  case 6:t.RearchT();break;
  case 7:t.RearchQ();break;
  case 9:t.Save();break;
  case 8:exit(0);break;
 }
}
int main()
{
char w;
do
{    cout << "\n\n" << endl;
    cout << "*******************************************************" << endl;
        cout << "      *   0 通讯录录入  1 增加人员   *" << endl;
    cout << "      *   2 删除人员    3 修改数据   *" << endl;
    cout << "      *   4 显示记录    5 按姓名查询 *" << endl;
    cout << "      *   6 按电话查询  7 按QQ查询   *" << endl;
    cout << "      *   9 输入的信息保存文件       *" << endl;
    cout << "      *          8 退出程序          *" << endl; 
    cout << "*******************************************************" << endl;
    cout << "请输入所需的操作:" ;
int a;
 cin>>a;
 caozuo(a);
 cout<<"您想继续进行其他操作吗?(y/n)"<<endl; 
 cin>>w;
}while(w=='y');
return 0; 
} //利用while语句又回到了前面的循环



新浪微博: 李思扬_pa

3 楼


谢谢了,最近我去实习了,就没来得及登陆回复,不好意思,谢谢你的帮助哦...

我来回复

您尚未登录,请登录后再回复。点此登录或注册