用户基本信息管理2.docx
《用户基本信息管理2.docx》由会员分享,可在线阅读,更多相关《用户基本信息管理2.docx(13页珍藏版)》请在冰豆网上搜索。
![用户基本信息管理2.docx](https://file1.bdocx.com/fileroot1/2022-11/16/c9c698bd-625c-40ce-b7f0-d9ffd85c01a7/c9c698bd-625c-40ce-b7f0-d9ffd85c01a71.gif)
用户基本信息管理2
Power.cpp
#include"Power.h"
#include
#include
usingnamespacestd;
voidPower:
:
SetName(charn[])
{
strcpy(name,n);
}
char*Power:
:
GetName()
{
returnname;
}
voidPower:
:
SetNum(charn[])
{
strcpy(num,n);
}
char*Power:
:
GetNum()
{
returnnum;
}
voidPower:
:
SetSex(charn[])
{
strcpy(sex,n);
}
char*Power:
:
GetSex()
{
returnsex;
}
voidPower:
:
SetAddress(charn[])
{
strcpy(address,n);
}
char*Power:
:
GetAddress()
{
returnaddress;
}
voidPower:
:
Input()
{
charch[30];
cout<<"\t姓名:
";
cin.getline(ch,'\n');
SetName(ch);
cout<<"\t编号:
";
cin.getline(ch,'\n');
SetNum(ch);
cout<<"\t性别:
";
cin.getline(ch,'\n');
SetSex(ch);
cout<<"\t家庭住址:
";
cin.getline(ch,'\n');
SetAddress(ch);
}
voidPower:
:
Display()
{
cout<<"\t"<}
Main.cpp
#include"Powerlist.h"
#include"Power.h"
#include
usingnamespacestd;
PowerListPowers;
intMainMenuSelect()
{
chars[2];
intcn;
cout<<"\t**********************\n";
cout<<"\t-------主菜单---------\n";
cout<<"\t1.用户信息管理\n";
cout<<"\t2.用户缴费管理\n";
cout<<"\t3.用户收费信息管理\n";
cout<<"\t0.退出系统\n";
cout<<"\t**********************\n";
cout<<"\t选择0-9:
";
for(;;)
{
gets(s);
cn=atoi(s);
if(cn>1)
cout<<"\n\t2-9功能待定,重选0-9:
";
else
break;
}
returncn;
}
voidMainMenu()
{
for(;;)
{
switch(MainMenuSelect())
{
case1:
Powers.Menu();
break;
case0:
cout<<"\t再见!
\n";
return;
}
}
}
intmain()
{
MainMenu();
return0;
}
Powerlistcpp
#include"Powerlist.h"
#include
#include
usingnamespacestd;
PowerList:
:
PowerList()
{
pHead=NULL;
}
voidPowerList:
:
Add()
{
Power*pCurrent;
if(pHead==NULL)//如果是空链表,需特殊处理
{
pHead=newPower();
pHead->Input();
pHead->next=NULL;
}
else
{
//将新节点添加到链表最后面
pCurrent=pHead;
while(pCurrent->next!
=NULL)
pCurrent=pCurrent->next;
pCurrent->next=newPower();
pCurrent=pCurrent->next;
pCurrent->Input();
pCurrent->next=NULL;
}
}
voidPowerList:
:
Adds()
{
intn;
cout<<"\t请输入用户数量:
";
cin>>n;
getchar();//消除回车符
//如果输入数量为0,则直接退出
if(n<=0)
return;
for(inti=1;i<=n;i++)
{
Add();
}
}
voidPowerList:
:
Delete()
{
intn;
charch[30];
if(pHead==NULL)
{
cout<cout<<"\t没有数据\n";
cout<<"\t──────────────"<return;
}
cout<<"\t请输入删除用户数量:
";
cin>>n;
getchar();
while(n--)
{
Power*pCurrent,*p;
pCurrent=p=pHead;
cout<<"\t请输入用户名:
";
cin.getline(ch,'\n');
while(pCurrent!
=NULL)
{
if(strcmp(pCurrent->GetName(),ch)==0)
{
pCurrent->Display();
if(p==pCurrent)
pHead=pHead->next;
p->next=pCurrent->next;
free(pCurrent);
break;
}
p=pCurrent;
pCurrent=pCurrent->next;
}
}
}
voidPowerList:
:
Display()
{
cout<<"\t━━━━━━━━━━━━━━"<cout<<"\t姓名"<<"\t编号"<<"\t性别"<<"\t家庭住址"<cout<<"\t──────────────"<Power*pCurrent;
pCurrent=pHead;
while(pCurrent!
=NULL)
{
pCurrent->Display();
pCurrent=pCurrent->next;
}
cout<<"\t━━━━━━━━━━━━━━"<}
PowerList:
:
~PowerList()
{
//要将所有节点释放掉
//链表操作相关程序,需结合画图来帮助理解
if(pHead!
=NULL)
{
Power*pCurrent;
pCurrent=pHead;
while(pCurrent->next!
=NULL)
{
pHead=pHead->next;
free(pCurrent);
pCurrent=pHead;
}
free(pCurrent);
}
}
//
//保存用户链表到文件
//
voidPowerList:
:
Save(charfileName[])
{
//打开文件
ofstreamoFile(fileName,ios:
:
out|ios:
:
binary);//二进制方式写入文件
if(!
oFile)
{
cout<<"\t文件""<"<return;
}
Power*pCurrent;
pCurrent=pHead;
while(pCurrent!
=NULL)
{
oFile.write((char*)pCurrent,sizeof(*pCurrent));
pCurrent=pCurrent->next;
}
cout<<"\t用户信息保存成功!
"<oFile.close();//别忘了关闭文件流
}
voidPowerList:
:
Load(charfileName[])
{
ifstreamiFile(fileName,ios:
:
in|ios:
:
binary);
if(!
iFile)
{
cout<<"\t文件""<"<return;
}
if(iFile.peek()!
=EOF)//文件内容不为空,EOF即endoffile
{
//第一个节点需单独读取
pHead=newPower();
iFile.read((char*)pHead,sizeof(*pHead));
}
else
{
pHead=NULL;
return;
}
Power*pCurrent;
pCurrent=pHead;
while(iFile.peek()!
=EOF)//后续节点循环读取
{
pCurrent->next=newPower();
iFile.read((char*)&(*(pCurrent->next)),sizeof(*(pCurrent->next)));
pCurrent=pCurrent->next;
}
pCurrent->next=NULL;
cout<<"\t读取成功!
"<iFile.close();//别忘了关闭文件流
}
intPowerList:
:
MenuSelect()
{
chars[2];
intcn;
cout<<"\t**********************\n";
cout<<"\t-----用户电费管理-----\n";
cout<<"\t1.添加用户信息\n";
cout<<"\t2.显示用户信息\n";
cout<<"\t3.保存用户信息\n";
cout<<"\t4.读取用户记录\n";
cout<<"\t5.删除用户记录\n";
cout<<"\t0.返回主菜单\n";
cout<<"\t**********************\n";
cout<<"\t选择0-4:
";
for(;;)
{
gets(s);
cn=atoi(s);