C++个人储蓄管理系统
答案:2 悬赏:50
解决时间 2021-11-28 02:00
- 提问者网友:℡她的他i☆
- 2021-11-27 10:03
C++个人储蓄管理系统
最佳答案
- 二级知识专家网友:而你却相形见绌
- 2021-11-27 11:43
#ifndef PERSON_H
#define PERSON_H
#include
#include
class person
{
friend class list;
private:
char name[10];
double per[3];
public:
person(){next=0;}
void s();
person *next;
char * outname(){return name;};
double outper(int i){return per[i];};
void intper();
};
void person::intper()
{ cout<<" 请输入帐号\n";
cin>>per[0];cout<<"请输入存款 \n";
cin>>per[1];cout<<"请输入存款类型\n";
cin>>per[2];
}
void person::s()
{
cout<<"请输入姓名\n";
cin>>name;
cout<<"请输入帐号\n";
cin>>per[0];cout<<"请输入存款\n";
cin>>per[1];cout<<"请输入存款类型\n";
cin>>per[3];
}
class list
{
private:
double high[3],low[3];
double totoal;
person *last,*first;
public:
list(){last=0;first=0;totoal=0;};
~list();
void inpe();
void outpe(char *);
int delpe(char *n);
void think();
void search(char s[10]);
double hi(int i);
double lo(int i);
void av(int i);
void ev(int i);
};
list::~list()
{
if(first!=0)
{
person *p=first,*temp;
while(p!=0){
temp=p;
p=p->next;
delete temp;
cout<<"ok\n";
}
}
}
void list::inpe()
{ person *p=new person();
p->s();
if(first==0){first=last=p;}else{last->next=p;last=p;}
totoal++;
}
void list::outpe(char *n)
{
person *temp=first;for(;temp!=NULL;temp=temp->next)
if(strcmp(temp->outname(),n)==0)
{ cout<<"姓名 帐号 存款 存款类型\n ";
cout<outname()<<" "<outper(0)<<" "<outper(1)<<" "<outper(2);}
}
int list::delpe(char *n)
{
person *temp=first,*p;if(strcmp(first->outname(),n)==0)
{ first->next=first;delete temp;}
else if(temp->next!=0)
{if(strcmp(temp->next->outname(),n)==0)
{p=temp->next;temp->next=temp->next->next;delete p;}
else temp=temp->next;}
totoal--;
cout<<"\n删除成功\n";
return 0;
}
void list::think()
{
cout<<"人数"<
}
double list::hi(int i)
{
high[i]=0.00;
person *temp=first;if(temp!=0)
{if(temp->outper(i)>high[i])
high[i]=temp->outper(i);
temp=temp->next;
}
return high[i];
}
double list::lo(int i)
{
low[i]=100;
person *temp=first;if(temp!=0)
{if(temp->outper(i)
low[i]=temp->outper(i);
temp=temp->next;
}
return low[i];
}
void list::av(int i)
{ double aver=0;
person *temp=first;if(temp!=0)
{aver+=temp->outper(i);
temp=temp->next;
}
cout
if(strcmp(temp->outname(),s)==0)temp->intper();
}
#endif
int main()
{
list will;
int m=0;
do{
cout<<"********************欢迎进入个人储蓄管理系统******************\n"
<<"//----------------------------------------------------------\\\n"
<<" 1、 个人帐户信息的录入:包括个人姓名 帐号 存款 存款类型的录入。\n"
<<" 2、 个人帐户信息的查询:可以根据姓名查询某个人帐户的信息。\n"
<<" 3、 个人帐户信息的修改:可以根据姓名来修改相应的个人帐户的信息。\n"
<<" 4、 个人帐号信息的删除:可以指定删除某个人帐户的信息。\n"
<<" 5、 个人帐户信息的人数统计\n"
<<"//----------------------------------------------------------\\\n";
cin>>m;
switch(m)
{
case 1:
will.inpe();
break;
case 2:
char n[9];
cout<<"请输入姓名\n";
cin>>n;
will.outpe(n);
cout<<"\n";
break;
case 3:
char nb[9];
cout<<"请输入姓名\n";
cin>>nb;
will.outpe(nb);
cout<<"\n";
will.search(nb);
break;
case 4:
char naa[9];
cout<<"请输入姓名\n";
cin>>naa;
will.outpe(naa);
will.delpe(naa);
break;
case 5:
will.think();
break;
}
cout<<"1,继续 2,退出\n";
cin>>m;
}while(m==1);
}
#define PERSON_H
#include
#include
class person
{
friend class list;
private:
char name[10];
double per[3];
public:
person(){next=0;}
void s();
person *next;
char * outname(){return name;};
double outper(int i){return per[i];};
void intper();
};
void person::intper()
{ cout<<" 请输入帐号\n";
cin>>per[0];cout<<"请输入存款 \n";
cin>>per[1];cout<<"请输入存款类型\n";
cin>>per[2];
}
void person::s()
{
cout<<"请输入姓名\n";
cin>>name;
cout<<"请输入帐号\n";
cin>>per[0];cout<<"请输入存款\n";
cin>>per[1];cout<<"请输入存款类型\n";
cin>>per[3];
}
class list
{
private:
double high[3],low[3];
double totoal;
person *last,*first;
public:
list(){last=0;first=0;totoal=0;};
~list();
void inpe();
void outpe(char *);
int delpe(char *n);
void think();
void search(char s[10]);
double hi(int i);
double lo(int i);
void av(int i);
void ev(int i);
};
list::~list()
{
if(first!=0)
{
person *p=first,*temp;
while(p!=0){
temp=p;
p=p->next;
delete temp;
cout<<"ok\n";
}
}
}
void list::inpe()
{ person *p=new person();
p->s();
if(first==0){first=last=p;}else{last->next=p;last=p;}
totoal++;
}
void list::outpe(char *n)
{
person *temp=first;for(;temp!=NULL;temp=temp->next)
if(strcmp(temp->outname(),n)==0)
{ cout<<"姓名 帐号 存款 存款类型\n ";
cout<
}
int list::delpe(char *n)
{
person *temp=first,*p;if(strcmp(first->outname(),n)==0)
{ first->next=first;delete temp;}
else if(temp->next!=0)
{if(strcmp(temp->next->outname(),n)==0)
{p=temp->next;temp->next=temp->next->next;delete p;}
else temp=temp->next;}
totoal--;
cout<<"\n删除成功\n";
return 0;
}
void list::think()
{
cout<<"人数"<
double list::hi(int i)
{
high[i]=0.00;
person *temp=first;if(temp!=0)
{if(temp->outper(i)>high[i])
high[i]=temp->outper(i);
temp=temp->next;
}
return high[i];
}
double list::lo(int i)
{
low[i]=100;
person *temp=first;if(temp!=0)
{if(temp->outper(i)
temp=temp->next;
}
return low[i];
}
void list::av(int i)
{ double aver=0;
person *temp=first;if(temp!=0)
{aver+=temp->outper(i);
temp=temp->next;
}
cout
}
#endif
int main()
{
list will;
int m=0;
do{
cout<<"********************欢迎进入个人储蓄管理系统******************\n"
<<"//----------------------------------------------------------\\\n"
<<" 1、 个人帐户信息的录入:包括个人姓名 帐号 存款 存款类型的录入。\n"
<<" 2、 个人帐户信息的查询:可以根据姓名查询某个人帐户的信息。\n"
<<" 3、 个人帐户信息的修改:可以根据姓名来修改相应的个人帐户的信息。\n"
<<" 4、 个人帐号信息的删除:可以指定删除某个人帐户的信息。\n"
<<" 5、 个人帐户信息的人数统计\n"
<<"//----------------------------------------------------------\\\n";
cin>>m;
switch(m)
{
case 1:
will.inpe();
break;
case 2:
char n[9];
cout<<"请输入姓名\n";
cin>>n;
will.outpe(n);
cout<<"\n";
break;
case 3:
char nb[9];
cout<<"请输入姓名\n";
cin>>nb;
will.outpe(nb);
cout<<"\n";
will.search(nb);
break;
case 4:
char naa[9];
cout<<"请输入姓名\n";
cin>>naa;
will.outpe(naa);
will.delpe(naa);
break;
case 5:
will.think();
break;
}
cout<<"1,继续 2,退出\n";
cin>>m;
}while(m==1);
}
全部回答
- 1楼网友:浪女动了心
- 2021-11-27 12:13
#include
#include
#include
#include
#define buffersize 1024
#define maxaccount 1000
typedef struct bankaccount
{
int account;
int key;
char name[32];
float balance;
}bankaccount;
bankaccount accountcollection[maxaccount];
int curaccount = 0;
void insertaccount(file *fp)
{
bankaccount newaccount;
printf("please input the account information\n");
printf(">>account num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0l,seek_end);
fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void getaccount(file *fp)
{
int accountnum;
int key;
char name[32];
float balance;
int i =0,j;
char buffer[buffersize];
int len;
curaccount = 0;
fseek(fp,0,seek_set);
while(!feof(fp))
{
fscanf(fp,"%d %d %s %f",&accountnum,&key,name,&balance);
accountcollection[curaccount].account = accountnum;
accountcollection[curaccount].key = key;
strcpy(accountcollection[curaccount].name ,name);
accountcollection[curaccount].balance = balance;
curaccount++;
}
}
void listaccount(file *fp)
{
int i =0;
printf("there is %d accounts at all:\n",curaccount-1);
for(i = 0;i< curaccount-1;i++)
{
printf("account[%d]:\n",i+1);
printf("account:%d\n",accountcollection[i].account);
printf("name:%s\n",accountcollection[i].name);
printf("balance:%.2f\n",accountcollection[i].balance);
}
}
int searchaccount(file *fp,int accountnum)
{
int i =0;
for(i = 0;i< curaccount-1;i++)
{
if(accountcollection[i].account == accountnum)
{
printf("account[%d]:\n",i+1);
printf("account:%d\n",accountcollection[i].account);
printf("name:%s\n",accountcollection[i].name);
printf("balance:%.2f\n",accountcollection[i].balance);
return 1;
}
}
return 0;
}
void delaccount(file *fp,int accountnum)
{
int i;
if(searchaccount(fp,accountnum)==0)
printf("can't find the account\n");
else
{
for(i = 0;i
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |