| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2299 人关注过本帖
标题:我是一个菜鸟,正在写一个银行管理系统,写了这么多总是有错误,运行不了, ...
只看楼主 加入收藏
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:12 
我是一个菜鸟,正在写一个银行管理系统,写了这么多总是有错误,运行不了,求大神指点下
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>


struct CCard
{
 char card [20];
 char password[7];
 int flag;
 float account;
};
 int main()
{

 struct CCard C1[5];
     printf("\n\n-----------------------------------------------欢迎进入银行管理系统!---------------------------------------------------");
     scanf("%s");
 int n=0;
 while(n)
{
     printf("请输入相应编号进行以下操作:\n");
     scanf("%d",&n);
     printf("\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
     printf("\n-----------------------------------------------1.银行卡管理--------------------------------------------------------------");
     printf("\n-----------------------------------------------2.银行卡登录--------------------------------------------------------------");
}
 switch(n)
{
 case 1:manage();break;
 case 2:Winlogon();break;
 case 3:exit(0);
 default:printf("输入错误,请重新输入!\n");
}
 return 0;
}



int winlogon();
{
int i=0;
     printf("\n请输入您的卡号:");
     gets("card C1[0]");
     printf("\n请输入您的密码:");
while(++i <= 3)
{
     gets("password c1[0]");
if(strcmp("card C1[0]","password C1[0]")==0)
 {
     printf("\n登陆成功,请输入相应编号进行以下操作:");
     printf("\n------------------------------------------------1.存款---------------------------------------------------------------");
     printf("\n------------------------------------------------2.取款---------------------------------------------------------------");
     printf("\n------------------------------------------------3.转账---------------------------------------------------------------");
     printf("\n------------------------------------------------4.余额查询-----------------------------------------------------------");
     break;
 }
 switch(n)
{
case 1:drawmoney();break;
case 2:deposit();break;
case 3:transfer();break;
case 4:balance();break;
case 5:exit(0);
default:printf("输入错误,请重新输入!\n");
}
 
  else
  {
      printf("用户名或密码错误,请重新输入!");
     break;
     }
  if(i<3)
  {
      printf("\n请重新输入密码,你还有%d次机会",3-i);
  }
  else
  {
      printf("密码错误已超过三次,你的账户已被冻结!");
  }
}
return 0;
}

int Manage();
{
char m[10]="mao123";
char input[10]={0};

        printf("请输入管理员密码:");
       gets(input);
if(strcmp(m,input)==0)
{
       printf("\n登陆成功,请输入相应编号进行以下操作:");
       printf("\n------------------------------------------------1.添加银行卡---------------------------------------------------------------");
       printf("\n------------------------------------------------2.删除银行卡---------------------------------------------------------------");
       printf("\n------------------------------------------------3.改密---------------------------------------------------------------");
       printf("\n------------------------------------------------4.信息查询-----------------------------------------------------------");
}
 switch(n)
{
 case 1:open();break;
 case 2:closing();break;
 case 3:modify();break;
 case 4:information();break;
 case 5:exit(0);
 default:printf("输入错误,请重新输入!\n");
}
else
     {
        printf("密码错误,请重新输入");
}
return o;
}

void drawmoney;
{   
    int Num;
        printf("\n请输入存款金额:");
        scanf("%d,&Num");
        C1[0].account=C1[0].account+Num;
        getchar();
        printf("请把你的钱放到指定位置----");
}

void deposit;
{
    char x;
        printf(\n"请输入取款金额:");
        scanf("%f",&x);
    if(C1[0].account>=x)
        C1[0].account=C1[0].account-x;
        printf("请取走您的钱----");
    else
        printf("对不起,您的余额不足----");
}
void transfer();
{
    char y;
        printf("请输入需要转账的银行卡号:");
        scanf("%c",&CCard);
        printf(\n"请输入转账金额:");
        scanf("%f",&y);
    if(C1[0].account>y);
        C1[0].account=C1[0].account-y;
        C1[1].account=C1[1].account+y;
        printf("恭喜您转账成功----");
    else
        printf("对不起,您的余额不足----");
}
void balance();
{
        printf("您的银行卡余额剩余10000元----");
}
void open();
{
int z=3;
        printf("\n请依次输入卡号,密码,余额");
        scanf("%c,%d,%f",&C1[Z].card[15],&C1[z].password[6],&C1[Z].account);
        printf("恭喜您开户成功");
}
void closing();
{
int z=4;
        printf("\n请依次输入卡号,密码,余额");
        scanf("%c,%d,%f",&C1[Z].card[15],&C1[z].password[6],&C1[Z].account);
        printf("恭喜您销户成功");
}
void modify();
{
        printf("请输入需要修改密码的银行卡号:");
        scanf("%c",&C1[5].card);
        printf("请输入旧密码:");
        scanf("%d",&C1[5].password);
if(strcmp("card C1[5]","password C1[5]")==0)
        printf("请输入新密码:");
        printf("请再次输入:");
        printf("修改成功,请牢记您的新密码!!!!");

}
void information();
{
    printf("系统故障,对不起,请稍后打开-----");
}
搜索更多相关主题的帖子: 银行 printf 输入 case break 
2017-07-04 19:37
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>


struct CCard
{

 char card [20];

 char password[7];

 int flag;

 float account; 
};

 int main()
{


 struct CCard C1[5];
     printf("\n\n-----------------------------------------------欢迎进入银行管理系统!---------------------------------------------------");
     scanf("%s");

 int n=0;

 while(n)
{
     printf("请输入相应编号进行以下操作:\n");
     scanf("%d",&n);
     printf("\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
     printf("\n-----------------------------------------------1.银行卡管理--------------------------------------------------------------");
     printf("\n-----------------------------------------------2.银行卡登录--------------------------------------------------------------");
}

 switch(n)
{

 case 1:manage();break;//manage()等几个函数的原型在哪儿?
 case 2:Winlogon();break;

 case 3:exit(0);

 default:printf("输入错误,请重新输入!\n");
}

 return 0;
}



int winlogon();//从这个开始开始,每个函数后面的分号是几个意思?
{
int i=0;
     printf("\n请输入您的卡号:");
     gets("card C1[0]");
     printf("\n请输入您的密码:");
while(++i <= 3)
{
     gets("password c1[0]");
if(strcmp("card C1[0]","password C1[0]")==0)

 {
     printf("\n登陆成功,请输入相应编号进行以下操作:");
     printf("\n------------------------------------------------1.存款---------------------------------------------------------------");
     printf("\n------------------------------------------------2.取款---------------------------------------------------------------");
     printf("\n------------------------------------------------3.转账---------------------------------------------------------------");
     printf("\n------------------------------------------------4.余额查询-----------------------------------------------------------");
     break;

 }

 switch(n)
{
case 1:drawmoney();break;
case 2:deposit();break;
case 3:transfer();break;
case 4:balance();break;
case 5:exit(0);
default:printf("输入错误,请重新输入!\n");
}

 
  else
  {
      printf("用户名或密码错误,请重新输入!");
     break;
     }
  if(i<3)
  {
      printf("\n请重新输入密码,你还有%d次机会",3-i);
  }
  else
  {
      printf("密码错误已超过三次,你的账户已被冻结!");
  }
}
return 0;
}

int Manage();
{
char m[10]="mao123";
char input[10]={0};

        printf("请输入管理员密码:");
       gets(input);
if(strcmp(m,input)==0)
{
       printf("\n登陆成功,请输入相应编号进行以下操作:");
       printf("\n------------------------------------------------1.添加银行卡---------------------------------------------------------------");
       printf("\n------------------------------------------------2.删除银行卡---------------------------------------------------------------");
       printf("\n------------------------------------------------3.改密---------------------------------------------------------------");
       printf("\n------------------------------------------------4.信息查询-----------------------------------------------------------"); 
}

 switch(n)
{

 case 1:open();break;

 case 2:closing();break;

 case 3:modify();break;

 case 4:information();break;

 case 5:exit(0);

 default:printf("输入错误,请重新输入!\n");
}
else
     {
        printf("密码错误,请重新输入");
}
return o;
}

void drawmoney;
{    
    int Num;
        printf("\n请输入存款金额:");
        scanf("%d,&Num");
        C1[0].account=C1[0].account+Num;
        getchar();
        printf("请把你的钱放到指定位置----");
}

void deposit;
{
    char x;
        printf(\n"请输入取款金额:");
        scanf("%f",&x);
    if(C1[0].account>=x)
        C1[0].account=C1[0].account-x;
        printf("请取走您的钱----");
    else
        printf("对不起,您的余额不足----");
}
void transfer();
{
    char y;
        printf("请输入需要转账的银行卡号:");
        scanf("%c",&CCard);
        printf(\n"请输入转账金额:");
        scanf("%f",&y);
    if(C1[0].account>y);
        C1[0].account=C1[0].account-y;
        C1[1].account=C1[1].account+y;
        printf("恭喜您转账成功----");
    else
        printf("对不起,您的余额不足----");
}
void balance();
{
        printf("您的银行卡余额剩余10000元----");
}
void open();
{
int z=3;
        printf("\n请依次输入卡号,密码,余额");
        scanf("%c,%d,%f",&C1[Z].card[15],&C1[z].password[6],&C1[Z].account);
        printf("恭喜您开户成功");
}
void closing();
{
int z=4;
        printf("\n请依次输入卡号,密码,余额");
        scanf("%c,%d,%f",&C1[Z].card[15],&C1[z].password[6],&C1[Z].account);
        printf("恭喜您销户成功");
}
void modify();
{
        printf("请输入需要修改密码的银行卡号:");
        scanf("%c",&C1[5].card);
        printf("请输入旧密码:");
        scanf("%d",&C1[5].password);
if(strcmp("card C1[5]","password C1[5]")==0)
        printf("请输入新密码:");
        printf("请再次输入:");
        printf("修改成功,请牢记您的新密码!!!!");

}
void information();
{
    printf("系统故障,对不起,请稍后打开-----");
}


[此贴子已经被作者于2017-7-4 19:59编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-04 19:56
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
收藏
得分:0 
回复 2楼 renkejun1942
manage()等几个函数的原型都在main函数下面啊,。声明函数后面不用加分号么???
2017-07-05 14:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
1、为了系统能够正确识别 要求函数的实现要在调用之前
2、除了main之外 函数不是很多 内容不是很长 可以不用声明 直接在调用之前实现(一般放在main之前 include之后)
3、函数很多 或者很长 需要再调用之前进行声明 (一般放在main之前 include之后) 在main之后分别实现之
4、声明函数自然需要分号  但是你的不是  你的是实现 实现的话 如果后面用了分号 表明是个空函数 下面内容和函数没有关系

[此贴子已经被作者于2017-7-5 14:43编辑过]


DO IT YOURSELF !
2017-07-05 14:42
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
收藏
得分:0 
回复 4楼 wp231957
这样,谢谢版主
2017-07-05 15:46
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
收藏
得分:0 
flag是怎样用的?让flag=0时表示账户冻结,=1时正常
2017-07-05 21:03
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:5 
回复 6楼 乎uifhu
if(0==flag)
    执行某代码
else
    执行另一代码

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-05 21:14
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
收藏
得分:0 
回复 7楼 renkejun1942
好的,谢谢大神
2017-07-05 22:16
乎uifhu
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2017-6-5
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
这个哪里错了,为什么输入正确的执行的是else
2017-07-05 22:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 9楼 乎uifhu
你这都贴不全 咋判断

再说了 都说多少次了 不要贴图  真搞不懂 是贴代码简单些  还是贴图简单些

DO IT YOURSELF !
2017-07-06 08:38
快速回复:我是一个菜鸟,正在写一个银行管理系统,写了这么多总是有错误,运行不 ...
数据加载中...
 
   



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

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