永发信息网

c++ 请高手们帮忙改一下 能运行了告诉我一声 急用 谢谢大家了

答案:2  悬赏:10  手机版
解决时间 2021-05-05 17:45

#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(){} //构造函数
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<<"数据修改成功!";
}
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;
}

else
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;
}
else 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;
}
else 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<<"请输入操作代码(0 通讯录录入/1 增加人员/2 删除人员/3 修改数据/4 显示记录/ 5 按姓名查询/6 按电话查询/7 按QQ查询/8 退出)"<<endl;
int a;cin>>a; caozuo(a);
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
cin>>w;
}
while(w=='y');
return 0;
} //利用while语句又回到了前面的循环

最佳答案

#include<iostream>
#include<string> //控制字符串的头文件
using namespace std;
class tong //建立同学录的一个类
{


public:
tong::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,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<<"数据修改成功!";
}
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;
}


else
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;
}
else 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;
}
else 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<<"请输入操作代码(0 通讯录录入/1 增加人员/2 删除人员/3 修改数据/4 显示记录/ 5 按姓名查询/6 按电话查询/7 按QQ查询/8 退出)"<<endl;
int a;cin>>a; caozuo(a);
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
cin>>w;
}
while(w=='y');
return 0;
} //利用while语句又回到了前面的循环

全部回答

最大的问题是 class定义后面没有 ;

class{}; 其实char name[20] 我个人更倾向于string name 会比c语言的字符数组容易操作

当然,只是个建议,尊重你的个人习惯

然后我把默认构造函数修改了一下

tong::tong()//构造函数 { strcpy(name, ""); sex='M'; age=0; telphone=0; QQ=0;

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
想学电吉他,请高手介绍一下,注意哪些东西
媪的近义词,劳有所得的近义词有那些
联想台式电脑四千元左右能玩cf吗
男朋友为什么会对你破口大骂?
T派9元韩版衣
王寨村我想知道这个在什么地方
情侣心愿祝福语大全,女友生日快到了,想在贴
广州上下九的美特思邦威的店在哪
西瓜雨后容易产生的病毒有那些?
为什么我空间编辑导航,好友秀勾不气起来
做激烈运动会恶心是怎么回事
请问mobi格式小说在安卓手机用什么阅读器可以
海昌欣城东门在哪里啊,我有事要去这个地方
dnf华北二区寂静灵魂腰带,衣服和护腿谁有?
关于牡丹花的句子,中国工商银行国航知音卡联
推荐资讯
应该买什么样的牛奶洗脸
梦有含义吗?
真牛美味台湾猪脚粉地址在什么地方,想过去办
函数y=|2x^2-(lga)x+4|的图像关于直线x=1对称
在哪能买到2级的付龙丹
怎么容易怀龙凤胎,怎么样才能怀上龙凤胎
其什么乐什么的成语,乐什么好什么,一个成语
DNF中怎么知道师傅在不在线啊?在那个频道?
QQ群面板在哪里
手机图片保存失败
QQ三国无法运行,怎么办
急! 高悬赏 , ! 农村红白喜事所用的鼓乐等,..
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?