标题:求助!一道:数据结构实训题目。求助!
只看楼主
onion
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-10-23
 问题点数:0 回复次数:2 
求助!一道:数据结构实训题目。求助!

一道:数据结构实训题目
<---->
数据结构实训题目(靠大家了)

活动储蓄帐目管理

任务:为银行设计一个活期帐目管理系统。

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:能迅速地找到储户的帐户,以实现存款、取款记账;

能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

我没学数据结构:-(懂点C语言。能作吗?~~~~~我想在短时间内知道答案。
能否给个类似的题目和详解,看看我能否依葫芦画瓢^_^。
或者高手给出这题答案~~小弟感激不尽!

搜索更多相关主题的帖子: 数据结构实 储户 活期 帐目 
2005-12-02 13:16
badstreams
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-11-23
得分:0 

/saving.h 定义类的头文件---用链表实现的

class Person //声明一个结点类
{friend Save;
private:
char name[10]; //姓名
char number[30]; //身份证号
double money; //存款余额
Person *next;};

class Save //声明一个存款管理类
{private:
person *head; //指向头结点的指针
public:
Save()
{head=0;}
~Save();
Save& CreatePerson(void); //开户
Bool DeletePerson(Person man); //销户
bool CheckIn(void); //存款
bool CheckOut(void); //取款
static int Select(void); //包含有四个选项---开户,销户,存款,取款
};

//saving.cpp ----类的实现
#include<iostream>
#include<cstring>
#include"saving.h"
const int error=0;
const int true=1;
using namespace std;
Save::~Save()
{Person *p=head->next;
while(head)
{delete head;
head=p;
p=p->next;}

Save& Save::CreatePerson(void)
{char na[10],num[30];
cout<<"请输入你的姓名"<<endl;
cin>>na;
cout<<"请输入你的身份证号码:"<<endl;
cin>>num;
Person *p=new Person;
Person *s1,*s2; //两个查找指针
strcpy(p->name,na);
strcpy(p->number,num);
p->money=0;
p->next=null;
if (head)
head=p;
else
{s1=head;s2=head->next;
while(s2)
{s1=s2;
s2=s2->next;}
s1->next=p;}
return *this;}

Bool Save::DeletePerson(Person man)
{Person*p=head,*p1=head->next;
if(strcmp(head->number,man.number))
{head=head->next;
delete p;}
while(strcmp(p1->number,man.number)||p1)
{p=p1;
p1=p1->next;}
if (p1)
return error;
p->next=p1->next;
delete p1;
return true;}

bool Save::CheckIn(void)
{char num[30];
double mom;
cout<<"请输入身份证号码"<<endl;
cin>>num;
cout<<"请输入金额"<<endl;
cin>>mom;
Person *p=head;
while(strcmp(p->number,num)||p)
p=p->next;
if(p)
{cout<<"你输入的身份证号码有错误"<<endl;
return error;}
p->money=p->mooney+mom;
return true;}

bool Save::CheckOut(void)
{char num[30];
double mom;
cout<<"请输入身份证号码"<<endl;
cin>>num;
cout<<"请输入提款金额"<<endl;
cin>>mom;
Person *p=head;
while(strcmp(p->number,num)||p)
p=p->next;
if(p)
{cout<<"你输入的身份证号码有错误"<<endl;
return error;}
if(p->money<mom)
{cout<<"你卡上的余额不足"<<endl;
return error;}
p->money=p->money-mom;
cout<<"你已经成功的提取了"<<mom<<endl;
return true;
}

int Save:: Select(void)
{cout<<"银行存储管理系统"<<endl;
cout<<"1 开设一个新的帐户"<<endl;
cout<<"2 销毁一个帐户"<<endl;
cout<<"3 存入金额"<<endl;
cout<<"4 提取金额"<<endl;
int a ;
cin>>a:
return a;}


//主文件
#include<iostream>
#include"Saving.h"
using namespace std;
void main()
{Save one;
int a=Save::Select();
char b=0;
while(b==27)
{
switch(a)
{case 1:
one.CreatePerson();break;
case 2:
one.DeletePerson();break;
case 3:
one.CheckIn();break;
case 4:
one.CheckOut();break;
}
cout<<"要继续请按下任意键,退出请按下ESC键"<<endl;
cin>>b;
}
}

2005-12-02 21:48
onion
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-10-23
得分:0 
大虾~~~~~~
谢谢~~~~~~~~
非常感动。
我拿去研究了!
2005-12-03 10:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-36319-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019582 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved