| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:小弟正在写一个ATM系统,存款取款这方面遇到写问题,就是不知道怎样查询用户 ...
只看楼主 加入收藏
pace
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
小弟正在写一个ATM系统,存款取款这方面遇到写问题,就是不知道怎样查询用户信息包括读取当时的金额数值。下面是我写的存取款的代码,哪位大虾帮帮忙啊,帮我补充下代码
#include <stdio.h>#include "string.h"#include <conio.h>#include <stdlib.h>void cunkuan(long *);void qukuan(long *);void main_menu();long money=1000;long *p;int main(void){ main_menu(); cunkuan(&money); qukuan(&money);     return 0;}void cunkuan(long *p){   long a;   printf("请输入您要存入的金额(RMB):");   scanf("%ld",&a);      money+=a;   printf("\n已存入账户!您账户当前的余额为:%ld元\n",money);        return main_menu();  }void qukuan(long *p){   long num;   printf("请输入你要取出的金额(RMB):");   scanf("%ld",&num);   if(num<0&&num%100!=0)   {    printf("\n必须是能整除100的数\n\n");   }   else if(num>money)   {      printf("\n对不起!您账上的余额不足!\n");   }   else   {    money-=num;    printf("取款成功!请收好您的现金\n");    printf("您账户当前的余额为:%ld元\n",money);   }   //system("CLS");    return main_menu();}void main_menu(){ long money; //system("CLS");    printf("^==================================================^\n"); printf("*       1、存款       2、取款      3、退出         *\n"); printf("^==================================================^\n"); printf("请选择服务项目:"); switch(getch()) {    case '1':cunkuan(&money);break;     case '2':qukuan(&money);break;    case '3':exit(1);break;    default:putchar('\a'); } } 
搜索更多相关主题的帖子: 查询 存取款 color 用户 
2012-12-18 20:40
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
貌似是论文啊

真正的atm系统是经过千锤百炼的  括号  也出岔子,记得电视报过  atm疯狂吐钞  捡钱的反而被判刑

DO IT YOURSELF !
2012-12-18 20:46
晴娣
Rank: 2
等 级:论坛游民
帖 子:21
专家分:38
注 册:2010-12-29
收藏
得分:5 
ATM系统  不敢擅自评论,等大师
2012-12-18 21:08
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:5 
你这代码,在哪里复制的?

My life is brilliant
2012-12-18 21:36
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:5 
程序代码:
  #include <stdio.h>
#include "string.h"
#include <conio.h>
#include <stdlib.h>
typedef struct _bank{
    char name[30];
    long surplus;
    struct _bank *next;
     }bank;
bank *build(bank *);
void deposit(bank *);
void take_out(bank *);
void main_menu();
bank *find(bank *);
bank *cancellation(bank *,bank *);
int main(){
    bank *head=NULL,*p;
    char a;
    main_menu();
    a=getchar();
   switch(a) {
    case '4':head=build(head);break;
    case '6':printf("==========谢谢使用,再见。========");_sleep(1500);exit(0);
    case '2':
    case '3':
    case '1':
    case '5':p=find(head);if(p==NULL){printf("===========操作失败,谢谢使用。==========");break;}
             if(a=='1'){deposit(p);break;}
             if(a=='2'){take_out(p);break;}
             if(a=='3'){head=cancellation(head,p);break;}
             if(a=='5')printf("==========账号信息=============\n帐号名:%s\n余额:%d",p->name,p->surplus);getch();break;
    default:putchar('\a'); }
    return 0;}
bank *build(bank *head){
    bank *p,*q;
    if((p=(bank *)malloc(sizeof(bank)))==NULL){
        printf("========服务无效,请重试。======");
        return NULL;}
    printf("========请输入要建立的账号的姓名:");
    fflush(stdin);
    scanf("%s",p->name);
    printf("=========请输入开户金额:");
    fflush(stdin);
    scanf("%l",p->surplus);
    p->next=NULL;
    if(head==NULL)return p;
    else{q=head;while(q->next!=NULL)q=q->next;
    q->next=p;return head;}}
bank *find(bank *head){
    bank *p;
    char a[30]={'\0'};
    p=head;
    printf("=============请输入你所要操作的账户名:");
    fflush(stdin);
    scanf("%s",a);
    if(head==NULL)return NULL;
    for(;strcmp(a,p->name)&&p!=NULL;)p=p->next;
    if(p==NULL)return NULL;
    else return p;}
void take_out(bank *p){
    long a;
    printf("============请输入取出的金额:");
    fflush(stdin);
    scanf("%l",&a);
    if(a>p->surplus){printf("=============余额不足,谢谢使用。===============");return ;}
    p->surplus=p->surplus-a;
    return ;}
void deposit(bank *p){
    long a;
    printf("==============请输入要存入的金额:");
    fflush(stdin);
    scanf("%l",&a);
    p->surplus=p->surplus+a;
    return ;}
bank *cancellation(bank *head,bank *p){
    bank *q;
    q=head;
    if(p==head){head=head->next;free(q);return head;}
    while(q->next!=p)q=q->next;
    q->next=p->next;
    return head;}
void main_menu(){
    system("CLS");
    printf("^==================================================^\n");
    printf("*       1、存款       2、取款      3、注销账户       *\n");
    printf("^==================================================^\n");
    printf("^==================================================^\n");
    printf("*       4、开户       5、查询      6、退出==========*、n");
    printf("请选择服务项目:");
     } 

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-18 23:00
快速回复:小弟正在写一个ATM系统,存款取款这方面遇到写问题,就是不知道怎样查 ...
数据加载中...
 
   



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

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