数据结构课程设计 题目 1 (活期储蓄管理系统)

本文介绍了如何使用C语言实现一个简单的活期储蓄管理系统,包括开户、销户、存取款和转账等功能。系统通过链表数据结构管理账户,能够快速查找、插入和删除账户,并记录交易历史。
摘要由CSDN通过智能技术生成
 题目 1
  .小明是一个计算机专业top student,祝贺他毕业了。并准备到银行参加工作。上班第一天,经理叫他编制一个实现一个活期储蓄处理程序,算作考查。上班第一天, 一定要给领导一个好印象,小明二话没说,就答应了。现要你是小明了,请完成如下题目功能。储户开户、销户、存入、支出活动频繁,系统设计要求:

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

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

活期储蓄管理系统源代码如下:

#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
#define LEN sizeof(struct Account)  
#define RECORDCOUNT 5  
#define MESSAGELENGTH 100  
#define NAMELENGTH 100  
#define VIEWCOUNT 5  
#define DEFAULTBALANCE 0.00  
#define SAVE 1  
struct Account  *head,*tail,*p; /*账户头部和尾部指针*/  
struct Account  
{  
    char    name[NAMELENGTH];               /* 账户名称 */  
    float   balance;            /* 账户余额*/  
    char    message[RECORDCOUNT][MESSAGELENGTH];    /* 交易记录 */  
    int maxMessageIndex;  
    struct Account  *next;  /* 指向下一账户 */  
};  
  
void freeMemory();   /*释放内存*/  
void removeFirst(struct Account * account);    /*移除第一个元素*/  
void showMenu();                /*输出选择菜单*/  
struct Account * findAccountByName(char name[]);       /*通过账户名称找到对应的账户 */  
void writeMessage(struct Account * account,char message[]);  /* 写入交易记录 */  
void  init();   /* 创建链表,并返回表头指针 */  
void openAccount();         /* 开户 */  
void closeAccount();        /* 销户 */  
void deposit();              /* 存款*/  
void withdraw();            /* 取款 */  
void transfer();             /* 转账 */  
void print();              /*输出账户列表*/  
void printMessage();      /*输出账户交易记录*/  
  
int main()  
{  
    init();  
    printf("                 欢迎使用活期储蓄管理系统\n");  
    showMenu();  
    char choice;  
    fflush(stdin);  
    choice = getchar();  
    while(choice != '8')  
    {  
        switch(choice)  
        {  
        case '1':  
            openAccount();  
            showMenu();  
            fflush(stdin);  
            choice = getchar();  
            break;  
        case '2':  
            closeAccount();  
            showMenu();  
            fflush(stdin);  
            choice = getchar();  
            break;  
        case '3':  
    
数据结构课程设计中,银行活期储蓄账目管理系统通常会涉及使用一些常见的数据结构,如数组、链表或树等,来模拟账户管理的需求。这个系统可能会包括以下几个关键模块: 1. **账户类**:存储用户的基本信息,如账号、姓名、余额等,并提供存钱、取款、查询余额等操作。 2. **交易记录**:维护用户的交易历史,可以是队列或堆栈的形式,按照时间顺序保存每一次的存款和取款操作。 3. **异常处理**:考虑可能出现的操作错误,比如取款金额大于余额,需要捕获并处理这些异常情况。 4. **界面设计**:用户友好的交互界面,可以让用户输入指令、查看余额和历史交易。 5. **文件I/O**:如果需要持久化存储,可以将数据保存到文本文件或者数据库中。 下面是一个简单的Python伪代码示例: ```python class Account: def __init__(self, id, name, balance): self.id = id self.name = name self.balance = balance self.transactions = [] def deposit(self, amount): self.balance += amount self.transactions.append(f"Deposit: {amount}") def withdraw(self, amount): if amount <= self.balance: self.balance -= amount self.transactions.append(f"Withdrawal: {amount}") else: print("Insufficient balance") # ...其他功能和接口... def main(): account = Account("001", "Alice", 1000) # 使用account对象进行操作... print(account.balance) # 查询余额 account.withdraw(500) # 取款 if __name__ == "__main__": main() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值