中易网

C++个人储蓄管理系统

答案:2  悬赏:50  
解决时间 2021-11-28 02:00
C++个人储蓄管理系统
最佳答案
#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);
}
全部回答
#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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯