ReadSuny 2020-06-02 10:39 采纳率: 0%
浏览 427

为什么程序运行一半为什么会突然退出,不执行输入语句?

程序运行一半为什么会突然退出,不执行输入语句

程序jie果如图:
图片说明

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h >

typedef struct User
{
    char card_usernumber[30];   //用户名卡号
    long int card_password;     //用户密码
    char card_username[30];     //用户名
    float money;       //账户余额
    int status;                 //用户账号的状态,0为正常,-1为冻结状态
    struct User *next;
}NEW;

FILE *fp;

void addUsers(NEW **head)
{
    NEW *temp, *Users;
    Users = NULL;
    temp = NULL;
    Users = (NEW *)malloc(sizeof(NEW));
    if(Users == NULL)
    {
        printf("\t\t 新建用户失败!\n");
        //exit(1);
    }


    printf("\t\t 银行卡号:");                          
    scanf("%s",&Users->card_usernumber);
    printf("\t\t 密码:");
    scanf("%s",&Users->card_password);
    printf("\t\t 用户名:");
    scanf("%s",&Users->card_username);
    printf("\t\t 卡内第一次充值金额为:");
    scanf("%.2f",&Users->money);
    Users->status = 0;

    //头插法添加节点
    if(*head != NULL)
    {
        temp = *head;
        *head = Users;
        Users->next = temp;
    }
    else
    {
        *head = Users;
        Users->next = NULL;
    }

    fp = fopen("clients.txt","a");
    fprintf(fp,"%s %ld %s %f %d\n",Users->card_usernumber,Users->card_password,Users->card_username,Users->money,Users->status); //\n为了文件存储更好看
    fclose(fp);
    puts("\t\t 开户成功!\n");
}


int main()
{   


    char ch;
    int b;                       //用来判断分支
    NEW *head;
    /*欢迎界面进度条*/
    int i = 0;
    for(i = 0; i < 80; i++)
    {
        printf(">");
    }
    printf("\n\n");
    printf("\t\t 欢迎使用中国银行\n");
    printf("\n\n");
    for(i=0;i<80;i++)
    {   
        printf(">");    
    }
    printf("\n");
    printf("\n");


    //printLink();



    printf("\n\t\t 管理员操作请按 1,普通用户登录请按 其他键 继续:");
    scanf("%d",&b);
    getchar();
    if(b == 1)
    {
        /*管理员操作界面*/
        printf("\n\t\t 欢迎使用中国银行!\n");
        printf("\n\t\t 管理员操作中,添加新卡请继续(y/n):");
        ch = getchar();
        printf("\n");
        while(ch == 'Y' || ch == 'y')
        {   
            addUsers(&head);
            printf("\t\t 操作成功,添加新卡请继续(y/n):");
            getchar();
            scanf("%c",&ch);

        }
    }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 穆暖阳 2020-06-02 12:40
    关注

    你程序执行完事了还输出什么啊 另外你必须成功的吧 不可以取消的啊

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘