c语言实训 银行小代码

银行小型管理系统

#include <stdio.h>
#include<string.h>
#include<math.h>
void kaihu();//函数
void chaxun();
void cunkuan();
void qukuian();
void zhuanzhang();
void lixi();
void zhaomi();
void gaimi();
void dongjie();
void save();//储存文件函数
int cont=0,cont1=0,interest=0,tra=0,pwdc,mimaa,pwd;
int pwd, select, num = 1, flag = 1,pwd1,cont1;
int money=10000;
struct message
{
    char name[20];
    char card[18];
    char mima1[10];
    char mima2[10];

}me;



int main()
{
    printf("******************************************************\n");
    printf("********************欢迎使用建设银行******************\n");
    printf("******************************************************\n");
    printf("\n\n\n\n");
    printf("******************请选择需要办理的业务****************\n");
    printf("-----------------------------------\n");
    printf("1、办卡\n");
    printf("2、用卡\n");
    printf("-----------------------------------\n");
    int a1;
    printf("请选择:");
    scanf("%d",&a1);
    system("cls");
    if(a1 == 1)
    {
        kaihu();
    }

    /*while外循环输入银行卡密码三次,如果密码正确,进入操作界面,再用while控制内循环输入相应操作选项,执行相应操作
    case 1 查询余额,case 2 取款 case 3 存款 case 4 转账 case5利息 case6 改密
    case 6 退卡 如果前两次密码错误提醒 密码错误,第三次提醒 密码错误三次,请联系银行客服*/

   if(a1 == 2)
   {
       int pwd, select, num = 1, flag = 1,pwd1,cont1;
       printf("*************请插卡*************\n");
       printf("请设置密码:");
       scanf("%d",&pwd);
       mimaa=pwd;
       system("cls");
    while (num <= 3)
    {
        printf("请输入银行卡密码:");
        scanf("%d", &pwd1);
        system("cls");
        if (pwd == pwd1)
        {
            printf("-----------------------------------\n");
            printf("| 1、查询余额                     |\n");
            printf("| 2、取款                         |\n");
            printf("| 3、存款                         |\n");
            printf("| 4、转账                         |\n");
            printf("| 5、利息                         |\n");
            printf("| 6、修改密码                     |\n");
            printf("| 0、退出                         |\n");
            printf("-----------------------------------\n");
            while (flag == 1)
            {
                printf("请输入选项:");
                scanf("%d", &select);
                switch (select)
                {
                case 1:  chaxun();
                    break;
                case 2: qukuan();
                     break;
                case 3:cunkuan();
                      break;
                case 4: zhuanzhang();
                     break;
                case 5:  lixi();
                    break;
                case 6: gaimi();
                    break;
                case 0: printf("退卡\n"); printf("请取卡。"); flag = 0;
                }
            }
            break;
        }
        else
        {
            if (num < 3)
            {
                printf("密码错误!\n");
            }
            else
            {
                printf("密码错误,请到密码管理中心!\n");
                {
                    int call;
                    printf("please call 95533\n");

                    printf(" 1   2   3\n 4   5   6\n 7   8   9   \n");

                    printf("请输入拨打的电话:");

                    scanf("%d",&call);
                    system("cls");
                    if(call == 95533)
                    {
                        printf("******************************************************\n");
                        printf("********************欢迎来到密码管理中心**************\n");
                        printf("******************************************************\n");
                        printf("-----------------------------------\n");
                        printf("| 1、找回密码                     |\n");
                        printf("| 2、银行卡冻结                   |\n");
                        printf("| 3、退出                         |\n");
                        printf("-----------------------------------\n");
                        int select1,flag1 = 1,pwdc,pwda1,pwdb1;
                        while(flag1 == 1)
                        {
                            printf("请选择:");
                            scanf("%d",&select1);
                            switch(select1)
                        {
                            case 1: zhaomi();
                                break;
                            case 2: dongjie();
                                break;
                            case 3: printf("退出\n");  flag1==0;
                        }
                    }
                    break;

                    }
                }
            }
            num++;
        }
    }
    }
    return 0;
}
void kaihu()
{

	int i,j=0;
	float m;
	 FILE *fp;
	 struct message;
	//char User[32],mima1[32],mima2[32];
	printf("请输入您的用户名: ");
	scanf("%s",&me.name);
	 printf("请输入身份证号码:");
    scanf("%s",&me.card);
			while(j!=1)
			{
				printf("请输入您的密码: ");
				scanf("%s",me.mima1);
				getchar();
				printf("请再次输入您的密码: ");
				scanf("%s",me.mima2);
				if(strcmp(me.mima1,me.mima2)==0)
				{
					printf("密码设置成功\n");
					printf("请输入您的存款金额: ");
                    scanf("%f",&m);
					j=1;
					printf("办卡成功 请取卡。\n");
					save();
				}
				else
					printf("两次输入不相同,请重新输入。\n ");
			}

}

void save()//储存到文本
{
    FILE *fp;
    fp=fopen("信息.txt","w"); //文件名
    if(fp == NULL)
    {
        printf("无法打开文件\n");
        return;
    }
    fwrite(&me,sizeof(struct message),10,fp);//数据输入
    printf("文件写入完成\n");
    fclose(fp);//关闭文件,缓冲区中的数据写入磁盘。
                     //fclose是一个函数名,功能是关闭一个流。返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。
}


void chaxun()
{
     printf("查询余额");
     printf("%d\n", money);
}


void qukuan()
{
    printf("取款数目:");

    //int cont;
    scanf("%d", &cont);
    printf("余额:%d\n",money - cont);
    money-=cont;
}

void cunkuan()
{
    printf("存款数目:");
    //int cont1;
    scanf("%d",&cont1);
    printf("余额:%d\n",money + cont1 );
    money+=cont1;

}
void zhuanzhang()
{
            printf("转账\n");
            int kahao,tra,pwd2;
            printf("请输入需要转账的银行卡号码:");
            scanf("%d",&kahao);
            printf("请输入转账的数目:");
            scanf("%d",&tra);
            printf("请输入密码:");
            scanf("%d",&pwd2);
                if(pwd2 == mimaa)
                {
                    printf("转账成功。现余额为:%d\n",money-tra);
                    money-=tra;
                }
                else
                    {
                        printf("!!!密码错误!!!转账失败,请重试!!!\n");
                    }
}
void lixi()
{
    printf("利息\n");
      int year,interest,amount;
      printf("年利润:0.0225 \n利息:");
      printf("请输入您的存款年数");
         scanf("%d",&year);
        interest=money*pow(1.0225,year)-money;
        printf("您的利息为:%d\n",interest);
        amount=money+interest;
        printf("您的总金为:%d\n",amount);

}

void zhaomi()
{
      printf("请输入身份证号码:");
     int c1,d1,e1,f1,g1,pwda,pwdb;
     scanf("%*6d%4d%1d%1d%1d%1d%*4d",&c1,&d1,&e1,&f1,&g1);
     printf("请输入密码:");
     scanf("%d",&pwda);
     printf("请确认密码:");
     scanf("%d",&pwdb);
            if(pwda == pwdb)
            {
                    printf("密码修改成功");
            }
            else
                    printf("修改失败,请重试!");
}
void gaimi()
{
                                int pwda1,pwdb1;
                                    printf("请输入原密码:");
                                    scanf("%d",&pwdc);
                                    if(pwdc == mimaa)
                                {
                                    printf("请输入新密码:"); scanf("%d",&pwda1);
                                    printf("请确认新密码:"); scanf("%d",&pwdb1);
                                    if(pwda1 == pwdb1)
                                    {
                                        printf("密码修改成功");
                                    }
                                    else  printf("修改失败,请重试!\n");
                                }
                                else  printf("原密码输入错误,请重试!\n");
}

void dongjie()
{
                               printf("请输入身份证号码:");
                                int a,b,c,d,e,f,g;
                                scanf("%*6d%4d%1d%1d%1d%1d%*4d",&c,&d,&e,&f,&g);
                                 printf("请确认银行卡是否冻结:\n1. 是\n2.否\n");
                                 int k;
                                 scanf("%d",&k);
                                 if(k == 1)
                                 {
                                     printf("银行冻结成功。\n");
                                     printf("-----------------------------------\n");
                                     printf("| 1、查询余额                     |\n");
                                     printf("| 2、取款                         |\n");
                                     printf("| 3、存款                         |\n");
                                     printf("| 4、转账                         |\n");
                                     printf("| 5、利息                         |\n");
                                     printf("| 6、打印清单                     |\n");
                                     printf("| 0、退出                         |\n");
                                     printf("-----------------------------------\n");
                                     int flag2=1,select3;
                                     while(flag2 == 1 )
                                     {
                                         printf("请输入选项:");
                                         scanf("%d",&select3);
                                         switch(select3)
                                         {
                                             case 1:
                                             printf("查询失败,银行卡已冻结!\n"); break;
                                             case 2:
                                                printf("取款失败,银行卡已冻结!\n"); break;
                                             case 3:
                                                printf("存款失败,银行卡已冻结!\n"); break;
                                             case 4:
                                                printf("转账失败,银行卡已冻结!\n"); break;
                                             case 5:
                                                printf("收利失败,银行卡已冻结!\n"); break;
                                             case 6:
                                                printf("列单失败,银行卡已冻结!\n"); break;
                                            case 0: printf("退出\n"); flag2 == 0;
                                         }
                                     }

                                 }
                                 else
                                       printf("银行卡冻结失败");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值