64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cstring>
#include <iomanip>
#include <fstream>
using namespace std;
class infmation
{
public:
infmation()
{}
~infmation()
{}
void IN(char name[],double shui,double dian,double meiqi,double allmoney)
{
strcpy(Name,name);
Shui=shui;
Dian=dian;
Meiqi=meiqi;
Allmoney=allmoney;
}
char *REName()
{
return Name;
}
double REShui()
{
return Shui;
}
double REDian()
{
return Dian;
}
double REMeiqi()
{
return Meiqi;
}
double REAllmoney()
{
return Allmoney;
}
void print()
{
cout <<setw(6) <<Name <<setw(6) <<Shui <<setw(6) <<Dian <<setw(6) <<Meiqi <<setw(6) <<Allmoney <<endl;
}
void show()
{
cout <<setw(6) <<Name <<setw(6) <<Shui <<setw(6) <<Dian <<setw(6) <<Meiqi <<setw(6) <<Allmoney <<endl;
}
infmation *next;
private:
char Name[6];
double Shui;
double Dian;
double Meiqi;
double Allmoney;
};
void Search();
void Add();
void Edit();
void Del();
void Tranf();
void Tranf()
{
int n;
while (1)
{
cout <<"********************************************" <<endl;
cout <<"* *" <<endl;
cout <<"* 信息操作 *" <<endl;
cout <<"* 1**** 信息查询 *" <<endl;
cout <<"* 2**** 信息增加 *" <<endl;
cout <<"* 3**** 信息修改 *" <<endl;
cout <<"* 4**** 信息删除 *" <<endl;
cout <<"* 0**** 退 出 *" <<endl;
cout <<"********************************************" <<endl;
cout <<"请输入N的值";
cin>>n;
switch (n)
{
case 1:
Search();
break;
case 2:
Add();
break;
case 3:
Edit();
break;
case 4:
Del();
break;
}
if (n==0) break;
}
}
void Search()
{
infmation *head,*p,*q;
char t[6];
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
head=NULL;
cout <<"请输入查询人员信息的姓名:" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation();
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
q->next=NULL;
}
fp1.close();
p=head;
while (p!=NULL)
{
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<"用水量 " <<"用电量 " <<"用煤气量 " <<" 所付款数" <<endl;
p->print();
break;
}
p=p->next;
if (p==NULL)
cout <<" 无人员信息" <<endl;
}
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
void Add()
{
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
ofstream fp2;
cout <<"姓名" <<endl;
cin>>name;
cout <<"用水量" <<endl;
cin>>shui;
cout <<"用电量" <<endl;
cin>>dian;
cout <<"用煤气量" <<endl;
cin>>meiqi;
cout <<"所付款数" <<endl;
cin>>allmoney;
fp2.open("infmation.txt",ios_base::app);
fp2 <<name <<" "<<shui <<" " <<dian <<" "<<meiqi <<" "<<allmoney <<'\n';
fp2.close();
}
void Edit()
{
infmation *head,*p,*q;
char t[6];
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
head=NULL;
cout <<"请输入修改人员信息的姓名:" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation;
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
}
q->next=NULL;
fp1.close();
p=head;
while (p!=NULL)
{
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<" 用水量 " <<" 用电量 " <<" 用煤气量 " <<" 所付款数 " <<endl;
p->show();
cout <<"请输入人员用水量:" <<endl;
cin>>shui;
cout <<"请输入人员用电量:" <<endl;
cin>>dian;
cout <<"请输入人员用煤气量:" <<endl;
cin>>meiqi;
cout <<"请输入人员所付款数:" <<endl;
cin>>allmoney;
p->IN(t,shui,dian,meiqi,allmoney);
ofstream fp2("infmation.txt");
p=head;
while (p!=NULL)
{
fp2<<(p->REName())<<(p->REShui())<<(p->REDian())<<(p->REMeiqi()) <<(p->REAllmoney()) <<'\n';
p=p->next;
}
fp2.close();
cout <<"信息修改完毕" <<endl;
break;
}
p=p->next;
if (p=NULL)
cout <<"无此人员信息" <<endl;
}
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
void Del()
{
infmation *head,*p,*q;
char t[6];
char x;
char name[6];
double dian;
double shui;
double meiqi;
double allmoney;
head=NULL;
cout <<"输入删除的姓名" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation;
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
}
q->next=NULL;
fp1.close();
p=q=head;
while (p!=NULL)
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<" 用水量 " <<" 用电量 " <<" 用煤气量 " <<" 所付款数 " <<endl;
p->show();
cout <<" 确定要删除 ????(Y/N)" <<endl;
cout <<"输入X的值:" <<endl;
cin >> x;
if (x=='Y')
{
if (p=head)
{
p=q->next;
head=p;
delete q;
}
else
{
q->next=p->next;
delete p;
}
}
break;
}
q=p;
p=p->next;
if (p==NULL)
cout <<"无此信息" <<endl;
ofstream fp2("infmation.txt");
p=head;
while (p!=NULL)
{
fp2 <<p->REName()<<p->REShui()<<p->REDian()<<p->REMeiqi() <<p->REAllmoney() <<'\n';
p=p->next;
}
fp2.close();
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
int main()
{
int n;
while (1)
{
cout <<"********************************************" <<endl;
cout <<"* *" <<endl;
cout <<"* 水电煤系统 *" <<endl;
cout <<"* 登陆 *" <<endl;
cout <<"* 1**** 信息 *" <<endl;
cout <<"* 0**** 退 出 *" <<endl;
cout <<"********************************************" <<endl;
cout <<"请输入N的值";
cin>>n;
switch (n)
{
case 1:
Tranf();
break;
}
if (n==0) break;
}
return 0;
}
fp2 <<name <<' ' <<shui <<' ' <<dian <<' ' <<meiqi <<' ' <<allmoney <<'\n';
fp2 <<name <<" "<<shui <<" "<<dian <<" "<<meiqi <<" "<<allmoney << endl;
#include <iostream>
#include <cstring>
#include <iomanip>
#include <fstream>
using namespace std;
class infmation
{
public:
infmation()
{}
~infmation()
{}
void IN(char name[],double shui,double dian,double meiqi,double allmoney)
{
strcpy(Name,name);
Shui=shui;
Dian=dian;
Meiqi=meiqi;
Allmoney=allmoney;
}
char *REName()
{
return Name;
}
double REShui()
{
return Shui;
}
double REDian()
{
return Dian;
}
double REMeiqi()
{
return Meiqi;
}
double REAllmoney()
{
return Allmoney;
}
void print()
{
cout <<setw(6) <<Name <<setw(6) <<Shui <<setw(6) <<Dian <<setw(6) <<Meiqi <<setw(6) <<Allmoney <<endl;
}
void show()
{
cout <<setw(6) <<Name <<setw(6) <<Shui <<setw(6) <<Dian <<setw(6) <<Meiqi <<setw(6) <<Allmoney <<endl;
}
infmation *next;
private:
char Name[6];
double Shui;
double Dian;
double Meiqi;
double Allmoney;
};
void Search();
void Add();
void Edit();
void Del();
void Tranf();
void Tranf()
{
int n;
while (1)
{
cout <<"********************************************" <<endl;
cout <<"* *" <<endl;
cout <<"* 信息操作 *" <<endl;
cout <<"* 1**** 信息查询 *" <<endl;
cout <<"* 2**** 信息增加 *" <<endl;
cout <<"* 3**** 信息修改 *" <<endl;
cout <<"* 4**** 信息删除 *" <<endl;
cout <<"* 0**** 退 出 *" <<endl;
cout <<"********************************************" <<endl;
cout <<"请输入N的值";
cin>>n;
switch (n)
{
case 1:
Search();
break;
case 2:
Add();
break;
case 3:
Edit();
break;
case 4:
Del();
break;
}
if (n==0) break;
}
}
void Search()
{
infmation *head,*p,*q;
char t[6];
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
head=NULL;
cout <<"请输入查询人员信息的姓名:" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation;
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
q->next=NULL;
}
fp1.close();
p=head;
while (p!=NULL)
{
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<"用水量 " <<"用电量 " <<"用煤气量 " <<" 所付款数" <<endl;
p->print();
break;
}
p=p->next;
if (p==NULL)
cout <<" 无人员信息" <<endl;
}
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
void Add()
{
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
ofstream fp2;
cout <<"姓名" <<endl;
cin>>name;
cout <<"用水量" <<endl;
cin>>shui;
cout <<"用电量" <<endl;
cin>>dian;
cout <<"用煤气量" <<endl;
cin>>meiqi;
cout <<"所付款数" <<endl;
cin>>allmoney;
fp2.open("infmation.txt",ios_base::app);
fp2 <<name <<' ' <<shui <<' ' <<dian <<' ' <<meiqi <<' ' <<allmoney <<'\n';
fp2.close();
}
void Edit()
{
infmation *head,*p,*q;
char t[6];
char name[6];
double shui;
double dian;
double meiqi;
double allmoney;
head=NULL;
cout <<"请输入修改人员信息的姓名:" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation;
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
}
q->next=NULL;
fp1.close();
p=head;
while (p!=NULL)
{
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<" 用水量 " <<" 用电量 " <<" 用煤气量 " <<" 所付款数 " <<endl;
p->show();
cout <<"请输入人员用水量:" <<endl;
cin>>shui;
cout <<"请输入人员用电量:" <<endl;
cin>>dian;
cout <<"请输入人员用煤气量:" <<endl;
cin>>meiqi;
cout <<"请输入人员所付款数:" <<endl;
cin>>allmoney;
p->IN(t,shui,dian,meiqi,allmoney);
ofstream fp2("infmation.txt");
p=head;
while (p!=NULL)
{
fp2<<(p->REName())<<(p->REShui())<<(p->REDian())<<(p->REMeiqi()) <<(p->REAllmoney()) <<'\n';
p=p->next;
}
fp2.close();
cout <<"信息修改完毕" <<endl;
break;
}
p=p->next;
if (p=NULL)
cout <<"无此人员信息" <<endl;
}
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
void Del()
{
infmation *head,*p,*q;
char t[6];
char x;
char name[6];
double dian;
double shui;
double meiqi;
double allmoney;
head=NULL;
cout <<"输入删除的姓名" <<endl;
cin>>t;
ifstream fp1("infmation.txt");
q=new infmation;
head=q;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
q->IN(name,shui,dian,meiqi,allmoney);
while (!fp1.eof())
{
p=new infmation;
fp1>>name>>shui>>dian>>meiqi>>allmoney;
p->IN(name,shui,dian,meiqi,allmoney);
q->next=p;
q=p;
}
q->next=NULL;
fp1.close();
p=q=head;
while (p!=NULL)
if (strcmp(p->REName(),t)==0)
{
cout <<" 姓名 " <<" 用水量 " <<" 用电量 " <<" 用煤气量 " <<" 所付款数 " <<endl;
p->show();
cout <<" 确定要删除 ????(Y/N)" <<endl;
cout <<"输入X的值:" <<endl;
if (x=='Y')
{
if (p=head)
{
p=q->next;
head=p;
delete q;
}
else
{
q->next=p->next;
delete p;
}
}
break;
}
q=p;
p=p->next;
if (p==NULL)
cout <<"无此信息" <<endl;
ofstream fp2("infmation.txt");
p=head;
while (p!=NULL)
{
fp2 <<p->REName()<<p->REShui()<<p->REDian()<<p->REMeiqi() <<p->REAllmoney() <<'\n';
p=p->next;
}
fp2.close();
p=head;
q=p->next;
while (q!=NULL)
{
delete p;
p=q;
q=p->next;
}
delete p;
}
int main()
{
int n;
while (1)
{
cout <<"********************************************" <<endl;
cout <<"* *" <<endl;
cout <<"* 水电煤系统 *" <<endl;
cout <<"* 登陆 *" <<endl;
cout <<"* 1**** 信息 *" <<endl;
cout <<"* 0**** 退 出 *" <<endl;
cout <<"********************************************" <<endl;
cout <<"请输入N的值";
cin>>n;
switch (n)
{
case 1:
Tranf();
break;
}
if (n==0) break;
}
return 0;
}