设计对学校校园卡进行管理的校园卡管理系统

设计对学校校园卡进行管理的校园卡管理系统,包括创建账号,户名,学生所在学院,余额,充值,消费等等操作。
系统功能包括:
菜单显示;
校园卡信息录入功能;
校园卡信息的删除;
校园卡信息的浏览查询;
校园卡信息的修改;

用list直接增删改查。

银行系统,稍微改一下中文描述就可以了。

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "string.h"
#define N 50
//银行的结构体
struct Bank
{
    char name[20]; //姓名
    char password[20];//登录密码
    int cardno; //卡号
    double money; //帐上余额
}bank[N];
//记录系统中已经开户的用户数
int count=0;

//开户
void kaihu();
//存款
void cunkuan();
//取款
void qukuan();
//登录
int login();
//查询
void find();
//转账
void transfer();

void main()
{
    int num;
    do{
        printf("\t\t\t*******************************************************\n");
        printf("\t\t\t*                                                     *\n");
        printf("\t\t\t*                 欢迎进入中国银行系统                *\n");
        printf("\t\t\t*                                                     *\n");
        printf("\t\t\t*******************************************************\n");
        printf("\t\t\t请选择您要办理的业务:\n");
        printf("\t\t\t\t1.开户:\n");
        printf("\t\t\t\t2.存款:\n");
        printf("\t\t\t\t3.取款:\n");
        printf("\t\t\t\t4.查询余额:\n");
        printf("\t\t\t\t5.转账:\n");
        printf("\t\t\t\t6.退出:\n");
        scanf("%d",&num);
        switch(num)
        {
            case 1://开户
                kaihu();
                break;
            case 2://存款
                cunkuan();
                break;
            case 3: //取款
                qukuan();
                break;
            case 4://查询
                find();
                break;
            case 5://转账    
                transfer();
                break;
            case 6:
                
                break;
        }
        printf("按任意键继续......\n");
        getch();//暂停
        system("cls");
    }while(num!=6);
    
}
//开户
void kaihu()
{
    printf("请输入您的姓名:");
    scanf("%s",bank[count].name);//字符数组赋值   字符数组,数组传址,所以可以不写 &.
    printf("请输入卡号:");
    scanf("%d",&bank[count].cardno);
    printf("请输入密码:");
    scanf("%s",bank[count].password);
    printf("请输入开户金额:");
    scanf("%lf",&bank[count].money);
    printf("恭喜你开户成功!请妥善保管您的个人信息,详细信息如下:\n");
    printf("您的姓名是:%s,您的卡号是:%d,您的密码是:%s,您的账上余额是:%0.2lf\n",bank[count].name,bank[count].cardno,bank[count].password,bank[count].money);    
    count++;
}
//登录,返回数组的下标
int login()
{
    int m_cardno;
    int i;
    int index=-1;//登录成功的用户下标
    char m_password[20];
    printf("请输入卡号和密码");
    scanf("%d,%s",&m_cardno,m_password);
    
    for(i=0;i<count;i++)
    {
        if(m_cardno==bank[i].cardno && strcmp(m_password,bank[i].password)==0)    //字符串比较要加头文件 "string.h"
        {
            index = i;
            break; //找到以后立即终止循环
        }
    }
    return index;
}
//存款
void cunkuan()
{
    double m_money;
    int currentIdx;
    //返回的下标大于等于0时,表示登录成功
    currentIdx=login();
    if(currentIdx>=0)
    {
        printf("请输入你要存款的金额:");
        scanf("%lf",&m_money);
        printf("存款之前您的账上余额是:%0.2lf\n",bank[currentIdx].money);
        bank[currentIdx].money += m_money;
        printf("存款%0.2lf元,您的账上余额是:%0.2lf\n",m_money,bank[currentIdx].money);
        
    }else{
        printf("您输入的卡号或密码错误\n");
    }
}
//取款
void qukuan()
{
    double m_money;
    int currentIdx;
    //返回的下标大于等于0时,表示登录成功
    currentIdx=login();
    if(currentIdx>=0)
    {
        printf("请输入你要取款的金额:");
        scanf("%lf",&m_money);
        if(bank[currentIdx].money-m_money>=0)
        {
            printf("取款之前您的账上余额是:%0.2lf\n",bank[currentIdx].money);
            bank[currentIdx].money -= m_money;
            printf("取款%0.2lf元,您的账上余额是:%0.2lf\n",m_money,bank[currentIdx].money);
        }else{
            printf("余额不足!\n");
        }
    }else{
        printf("您输入的卡号或密码错误\n");
    }
}
//查询
void find()
{
    int currentIdx;
    //返回的下标大于等于0时,表示登录成功
    currentIdx=login();
    if(currentIdx>=0)
    {
        printf("您的账上余额是:%0.2lf\n",bank[currentIdx].money);
    }else{
        printf("您输入的卡号或密码错误\n");
    }    
    
}
//转账
void transfer()
{
    double m_money;
    int currentIdx;
    int parnetcardno;
    int i,parentIdx=-1;
    //返回的下标大于等于0时,表示登录成功
    currentIdx=login();
    if(currentIdx>=0)
    {
        printf("请输入对方卡号:");
        scanf("%d",&parnetcardno);    
        for(i=0;i<count;i++)
        {
            if(bank[i].cardno==parnetcardno){
                parentIdx=i; //表示对方的账号信息对应的下标
                printf("请输入转出金额:");
                scanf("%lf",&m_money);
                if(bank[currentIdx].money-m_money>=0)
                {
                    //自己的账号减掉转出的钱
                    bank[currentIdx].money-=m_money;
                    //对方的账号加上转入的钱
                    bank[parentIdx].money+=m_money;
                    printf("转账成功:转出%0.2lf元,账上余额是:%0.2lf\n",m_money,bank[currentIdx].money);
                }else{
                    printf("转账失败:余额不足\n");
                }
                break;
            }    
        }
        if(parentIdx==-1){
            printf("转账失败:对方卡号不存在\n");
        }
    }else{
        printf("您输入的卡号或密码错误\n");
    }
}