数据结构课程设计 题目1 活期储蓄程序

本博客介绍了一个活期储蓄处理程序的设计,包括储户开户、销户、存取款、转账等功能。通过登录验证后,用户可以选择相应操作。程序采用C++语言和数据结构实现,利用链表来存储和查找账户信息。在实践过程中,作者深化了对C++和数据结构的理解,认识到数据结构在程序设计中的关键作用,并对自己的编程技巧和算法设计能力进行了反思和提升。
摘要由CSDN通过智能技术生成

题目:

        题目1.小明是一个计算机专业top student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天,一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:

(1)能比较迅速地找到储户的帐户,以实现存款、取款记账;

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

分析:

        从主函数出发,先是登录:输入用户名和密码,若输入信息一次不符合则提示,大于等于两次即自动退出系统,若符合即可登入,进入主菜单,选择1则去到开户函数kaihu(),this指针从账号初始赋予值1000后移1位即第一个开户者账号为10001,将输入数据给Record对象,创建结点封装Record对象,将Node结点插入Linklist链表,之后会显示账户所有信息并提示开户成功和该账户的初始信息,按任意键回到主菜单;选择2去到销户函数xiaohu(),则指针指向输入的需要销户账号并检验密码是否正确以及账户是否还存在,然后根据确认进行销户,按任意键返回主菜单;选择3去到查找函数chazhao()类似选项2的步骤然后显示出要该账户的各种信息,之后按任意键返回主菜单进行其他功能操作;选择4去到存款函数cun(),是按输入账号的指针地址查找账户信息看是否存在,然后进行存款步骤,最后显示存款后的账户信息,按任意键返回主菜单;选择5去到取款函数qu()类似选项4步骤,进行取款,若输入金额大于余额指针所指的数值则提示余额不足,若成功后显示取款后账户信息并提示取款结束,按任意键返回主菜单;选择6去到转账函数zhuan()验证转出账户信息是否正确然后根据输入的转入账户信息和金额进行转账,转出账户指针指向的余额数值减去转出的金额,转入账户指针则增加;选择0则直接退出程序。

功能: 登录(输入用户名和密码)、开户(输入账户名、密码、金额)、销户(输入账号、密码以及确认)、查询(输入账号、密码,结果有账号、户名、密码、余额、状态)、存款(输入账号和存款金额)、取款(输入账号、密码、取款金额)、转账(转出账号及其密码、转入账号、转入金额)、显示账户信息、退出系统。

//主函数.cpp
#include"Bank.h"
#include<iostream>
using namespace std;
void welcome();
void login(Bank *bank);
void mainmenu(Bank *bank);
int main()
{	Bank *bank=new Bank;
	welcome();
	login(bank);
	return 0;
}
void welcome()
{   cout<<"|~——————————————————~|"<<endl;
    cout<<"|                                      |"<<endl;
	cout<<"|       > 感谢使用活期储蓄程序 <       |"<<endl;
    cout<<"|                                      |"<<endl;
	cout<<"|______________________________________|"<<endl;
}
void mainmenu(Bank *bank)
{	int choice=-1;
do
{ cout<<endl;
	cout<<"|~——————————————————~|"<<endl;
	cout<<"|               1.开户                 |"<<endl;
	cout<<"|               2.销户                 |"<<endl;
	cout<<"|               3.查询                 |"<<endl;
	cout<<"|               4.存款                 |"<<endl;
	cout<<"|               5.取款                 |"<<endl;
	cout<<"|               6.转账                 |"<<endl;
	cout<<"|               0.退出                 |"<<endl;
	cout<<"|______________________________________|"<<endl;
	cout<<"请选择您想要进行的操作选项:"<<endl;
	cin>>choice;
        switch(choice)  
        {case 0:  
            exit(0);  
        case 1:  
            bank->kaihu();  
            break;  
        case 2:  
            bank->xiaohu();  
            break;  
        case 3:  
            bank->chazhao();  
            break;  
        case 4:  
            bank->cun();  
            break;  
        case 5:  
            bank->qu();  
            break;  
        case 6:  
            bank->zhuan();  
            break;  
        default:  
            cout << "——没有该选项——" << endl;  
            break;  
        }  
    }  
 while(true);        
}  
void login(Bank *bank)
{ 	string admin_name;
	string admin_password;
	for(int i=1;i<=3;++i)
	{   cout<<endl;
		cout<<"请输入您的用户名:"<<endl;
		cin>>admin_name;
		cout<<"请输入您的密码:"<<endl;
		cin>>admin_password;
		if((admin_name=="admin")&&(admin_password=="admin"))
		{		mainmenu(bank);
		}
		else
		{	if(i<2)
			{	cout<<"——用户名或密码输入错误——"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值