当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在gc++下运行不通过
帖子发表于 : 2009-02-28 19:36 
头像

注册: 2009-02-14 16:28
帖子: 72
送出感谢: 0 次
接收感谢: 0 次
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <cstdlib>


using namespace std;
class book
{
public:
book();//默认构造函数
char inter_face();//首页
void add_person();//添加联系人
void del_person();//删除联系人
void show_all();//显示所有联系人
void alter();//修改信息
void select();//查询联系人
void save_new();//保存新增加的联系人
private:
string name;//姓名
string address;//地址
string number;//电话号码
string post;//邮编
string qq;//QQ号
};
struct record
{
book object;//双向链表中的数据域是是一个记录类
record *prior;//指向前躯
record *next;//指向后继
};
book::book()
{
name = "\0";
address = "\0";
number = "\0";
post = "\0";
qq = "\0";
}

//首页
char book::inter_face()
{
system("cls");

cout <<endl;
cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 小 小 通 迅 录 ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 1. 添加新联系人. 4. 修改信息. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 2. 删除联系人. 5. 查询联系人. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t※ 3. 显示所有联系人. 6. 关闭通迅录. ※" <<endl
<<"\t\t※ ※" <<endl
<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<endl <<endl
<<"\t\t\t选择 :" ;

char choose;
cin >>choose;
fflush(stdin);

return choose;
}

//添加联系人
void book::add_person()
{
cout <<endl <<"根据下面提示输入新联系人信息" <<endl <<endl
<<"姓名 :" ;
cin >>name;
fflush(stdin);
cout <<"电话 : ";
cin >>number;
fflush(stdin);
cout <<"QQ : ";
cin >>qq;
fflush(stdin);
cout <<"邮编 : ";
cin >>post;
fflush(stdin);
cout <<"地址 : ";
cin >>address;
fflush(stdin);

save_new();

cout <<endl <<endl <<"新联系人信息已经保存好!!!!!" <<endl <<endl;
system("pause");
}

//删除联系人
void book::del_person()
{
ofstream outData("temp.txt", ios::out);
ifstream inData("pbook.txt", ios::in); //
if (!outData || !inData)
{
cout <<endl <<"对不起!!!!找不到文件!!!!" <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"你要删除输入姓名或电话号 :";
cin >>sign;
string str1;
bool flag = true;
string str;

while (inData >>name >>number)
{
getline(inData, str);

if ((sign==name) || (sign==number))
{
cout <<endl <<"你想删除的联系人:" <<endl <<endl;
cout <<str1 <<endl;
cout <<setiosflags(ios::left) <<setw(17) <<name
<<" " <<number <<str <<endl;
flag = false;
break;
}

outData <<setiosflags(ios::left) <<setw(17) <<name
<<" " <<number <<str <<endl;
}

if (flag)
{
cout <<endl <<"对不起!!!联系人中没你找的人!!!!" <<endl <<endl;
}
else
{
while (getline(inData, str))
{
outData <<str <<endl;
}

outData.close();
inData.close();

ofstream out("pbook.txt", ios::out);
ifstream in("temp.txt", ios::in);

if (!out || !in)
{
cout <<endl <<"对不起不能打开文件!!!" <<endl <<endl;
system("pause");
return;
}

while (getline(in, str))
{
out <<str <<endl;
}

out.close();//
in.close();
cout <<endl <<"这个人的信息已经从你的通迅录中删除!!!" <<endl <<endl;
}

system("pause");
}

//显示所有联系人
void book::show_all()
{
ifstream inData("pbook.txt",ios::in);


if (!inData)
{
cout <<endl <<"对不起!!!!没有找到文件!!!!!" <<endl;
system("pause");
return;
}

bool flag = true;
string record;

while (getline(inData, record))
{
if (flag)
{
cout <<endl <<"所有联系人信息如下: "<<endl;
}
cout <<record <<endl;
flag = false;
}

if (flag)
{
cout <<endl <<"你的通迅录中没有联系人!!!!!" <<endl <<endl;
}
else
{
cout <<endl <<"所有联系人已经全部显示出来!!!!!" <<endl <<endl;
}

system("pause");
}
//修改信息
void book::alter()
{
ifstream inData("pbook.txt", ios::in);

if (!inData)
{
cout <<endl <<"对不起不能打开文件!!!!!" <<endl <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"请输入你想要修改的联系人的姓名或电话号码 :";
cin >>sign;
fflush(stdin);

string str1;
getline(inData, str1);

record *H = new record;
record *p = H;
record *q = H;
bool flag = true;

while (inData >>p->object.name >>p->object.number >>p->object.qq
>>p->object.post >>p->object.address)
{
p->next = new record;
p = p->next;
p->prior = q;
q->next = p;
q = p;
}
p->next = NULL;//
inData.close();

p = H;
while (p)
{
if ((p->object.name==sign) || (p->object.number==sign))
{
if (flag)
{
cout <<endl <<"你想修改你联系人的信息如下: " <<endl <<endl;
cout <<endl <<str1 <<endl;
cout <<setiosflags(ios::left) <<setw(17)
<<p->object.name <<" " <<setw(16) <<p->object.number
<<" " <<setw(18) <<p->object.qq
<<" " <<setw(14) <<p->object.post
<<" " <<setw(20) <<p->object.address <<endl;
flag = false;
}
cout <<endl <<"请根据下面提示修改信息 : " <<endl;
cout <<"姓名 :" ;
cin >>p->object.name;
fflush(stdin);
cout <<"电话号:";
cin >>p->object.number;
fflush(stdin);
cout <<"QQ :";
cin >>p->object.qq;
fflush(stdin);
cout <<"邮编 :";
cin >>p->object.post;
fflush(stdin);
cout <<"地址 :";
cin >>p->object.address;
fflush(stdin);
break;
}

p = p->next;
}

if (flag)
{
cout <<endl <<"你的通迅录中没有你找的联系人!!!!" <<endl <<endl;
system("pause");
return;
}
else
{
ofstream out("pbook.txt",ios::out);

if (!out)
{
cout <<endl <<"对不起!!!不能打开文件!!!!" <<endl;
system("pause");
return;
}

out <<str1 <<endl;
p = H->next;
while (p)
{
out <<setiosflags(ios::left) <<setw(17) <<p->object.name
<<" " <<setw(16) <<p->object.number
<<" " <<setw(18) <<p->object.qq
<<" " <<setw(14) <<p->object.post
<<" " <<setw(20) <<p->object.address <<endl;
p = p->next;
}

out.close();
cout <<endl <<"信息已经修改完成!!!!" <<endl <<endl;
system("pause");
}
}

//查询联系人
void book::select()
{
ifstream inData("pbook.txt",ios::in);

if (!inData)
{
cout <<endl <<"对不起!!!!文件找不到!!!!" <<endl;
system("pause");
return;
}

string sign;
cout <<endl <<"输入你想查找的联系人的姓名或电话号码: ";
cin >>sign;
fflush(stdin);

string str1;
bool flag = true;

string str;
while (inData >>name >>number)
{
getline(inData, str);//
if ((name==sign) || (number==sign))
{
cout <<endl <<"你要查找的联系人是: " <<endl <<endl;
cout <<str1 <<endl;
cout <<setiosflags(ios::left) <<setw(17) <<name
<<number <<str <<endl;
flag = false;
break;
}
}
}
void book::save_new()
{
ofstream outData("pbook.txt", ios::app);

if (!outData)
{
cout <<endl <<"对不起!!!打开文件失败!!!!" <<endl <<endl;
system("pause");
return;
}

outData << setiosflags(ios::left) << setw(17) << name
<<" " << setw(16) << number <<" "
<< setw(18) << qq <<" "
<< setw(14) << post <<" "
<< setw(20) << address <<endl;

outData.close();
}
enum power{ADD = '1', DEL = '2', SHOW = '3', Alter = '4', Select = '5', END = '6'};

int main()
{
char choose;
book abj;

while (choose = abj.inter_face())
{
switch (choose)
{
case ADD:
abj.add_person();////添加联系人
break;
case DEL:
abj.del_person();////删除联系人
break;
case SHOW:
abj.show_all();////显示所有联系人
break;
case Alter:
abj.alter();////修改信息
break;
case Select:
abj.select();////查询联系人
break;
case END:
cout <<endl <<"谢谢使用!!!!!" <<endl <<endl;
exit(0);
break;
default:
break;
}
}
return 0;
}
错误如下:看不董
在 /home/fifth/NetBeansProjects/Application_1 中运行 "/usr/bin/make -f Makefile CONF=Debug"

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: 正在进入目录 `/home/fifth/NetBeansProjects/Application_1'
/usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/application_1
make[2]: 正在进入目录 `/home/fifth/NetBeansProjects/Application_1'
make[2]: *** 没有规则可以创建“build/Debug/GNU-Linux-x86/newfile.o”需要的目标“newfile.c”。 停止。
make[2]:正在离开目录 `/home/fifth/NetBeansProjects/Application_1'
make[1]: *** [.build-conf] 错误 2
make[1]:正在离开目录 `/home/fifth/NetBeansProjects/Application_1'
make: *** [.build-impl] 错误 2

生成 失败。 退出值 2。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在gc++下运行不通过
帖子发表于 : 2009-02-28 20:39 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
尽管你这个程序在linux下运行会有点问题, system("pause") system("cls") !!

不过编译连接都应该没问题。

估计是你的ide配置的问题,不妨在终端中 用直接用 g++ -Wall youfile.cpp 编译试试


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在gc++下运行不通过
帖子发表于 : 2009-02-28 21:09 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
二楼说得精妙,赞一个


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译