
因为你用的scanf("%ld",&m);所以会把40赋值给m,如果你要判断的话,可以利用
ltoa函数来先将数字转换成对应的字符串,如果不知道这个函数怎么用的自己上网查。
接着判断这个字符串是不是有小数点,可以用函数strchr(str,'');不清楚用法的话也可以上网查。
至于自动返回上层,因为你把所有的步骤都写到了一个函数中,所以这是没有很好的办法回到上一个,虽然有个goto的用法,不过不推荐用,你应该把每个可以分开的步骤都封装成一个函数,然后主函数中来调用这些函数,这样的程序比较整体,而且容易排错。
#include <stdioh>
int main (void)
{
int i,g,q=10000,qq=0,z;
char mm[6];
const char MM[6]="123456";
printf ("\n\t请输入密码以登入账户:");
while(1)
{
for(i=0;i<6;i++)
{
mm[i]=getch();
if (mm[i]!='\b')
{
putchar ('');
}
else
{
printf ("\b \b");
i--;
i--;
}
if (mm[i]=='\r')
{
printf ("\b \b");
break;
}
}
if (strcmp(mm,MM)==0)
{
printf ("\n\t密码正确!登入银行账户!\n");
printf ("\t[1]查询余额\t[2]取钱\n\t选项:");
scanf ("%d",&g);
switch (g)
{
case 1:printf ("\t你的余额剩余%d元\n",q-qq);break;
case 2:printf ("\请输入提取金额:");scanf ("%d",&qq);printf ("\t提取现金%d元\n",qq);break;
default:printf ("\t选项错误!\n");break;
}
break;
}
else
{
printf ("\n密码错误!\n");
printf ("请重新输入密码:");
}
}
}
本来是想来个简单的结果看到楼下说要登入这些功能。。。
这是简单的
#include <stdioh>int main (void)
{
double a=10000;
int i;
printf ("请输入你要提取的金额:");
scanf ("%d",&i);
printf ("您的账户余额:%g元",a-i);
return 0;
}
再来个稍难得吧。。。
#include <stdioh>int main (void)
{
char mm[6];
double a=10000;
int i=0,g;
printf ("[1]取款[2]查询余额:");
scanf ("%d",&g);
switch (g)
{
case 1:printf ("请输入提取金额:");scanf ("%d",&i);printf ("账户余额%g",a-i);break;
case 2:printf ("账户余额%g",a-i);break;
default:printf ("选项错误!\n");break
}
return 0;
}
从编译器复制下来的代码中文都要乱码。。。
用printf 一类的输出语句,在命令行做界面
因为你不可能读卡,所以只能是手动输入账户和密码
这就需要你保存一个列表
于是 大致功能
1 登陆
2 退出
3 查询余额
4 取钱。
就这么四个 足够了。
转账什么的 就算了。
以上就是关于c语言编的ATM取款机程序,有个问题请教大家全部的内容,包括:c语言编的ATM取款机程序,有个问题请教大家、用C语言编程ATM的简单取款过程,越简单越好、怎么用C语言做简单ATM机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)