加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

虽然声明不起作用C.

发布时间:2020-12-16 09:45:51 所属栏目:百科 来源:网络整理
导读:我正在学习C,而我正在尝试制作一个基本的计算器,但是在使用while语句时遇到了一些麻烦.我尝试过多种方式,但它从不重复,只需完成脚本. 有任何想法吗? //// main.c// Calculator//// Created by Austen Patterson on 2013-06-27.// Copyright (c) 2013 Austen
我正在学习C,而我正在尝试制作一个基本的计算器,但是在使用while语句时遇到了一些麻烦.我尝试过多种方式,但它从不重复,只需完成脚本.

有任何想法吗?

//
//  main.c
//  Calculator
//
//  Created by Austen Patterson on 2013-06-27.
//  Copyright (c) 2013 Austen Patterson. All rights reserved.
//

#include <stdio.h>
#include <stdbool.h>

int main()
{
    int number[100];
    int operator = '0';
    int doAgainAnswer = '0';
    bool doAgain;
    do{ 
    printf("Please enter your first number:");
    scanf("%d",&number[1]);
    printf("nYou entered %d as your first number. Please enter your second: ",number[1]);
    scanf("%d",&number[2]);
    printf("nYou entered %d as your second number.",number[2]);
    printf("nYour numbers are now %d and %d",number[1],number[2]);
    printf("nNow enter your operator.n1 for additionn2 for subractionn3 for multiplicationn4 for division.n");
    scanf("%d",&operator);

    if(operator == 1){
        int finished = number[1] + number[2];
        printf("nn%d + %d is: %d",number[2],finished);

    }
    if(operator == 2){
        int finished = number[1] - number[2];
        printf("nn%d - %d is: %d",finished);

    }
    if(operator == 3){
        int finished = number[1] * number[2];
        printf("nn%d * %d is: %d",finished);

    }
    if(operator == 4){
        int finished = number[1] / number[2];
        printf("nn%d / %d is: %d",finished);
    }

        printf("nWant to continue?n 1 for Yesn 2 for NonAnswer: ");
        scanf("%d",&doAgainAnswer);
        if(doAgainAnswer == 1) {
          doAgain = '1';
        } else {
          doAgain = '0';

        }
    }while(doAgain == '1');
}

解决方法

编辑过的代码

#include <stdio.h>
#include <stdbool.h>

int main()
{
    int number[100];
    int operator = '0';
    int doAgainAnswer = 0;//edited
    int doAgain=0;//edited
    do{ 
    printf("Please enter your first number:");
    scanf("%d",&doAgainAnswer);
        if(doAgainAnswer == 1) {
          doAgain = 1;//edited
        } else {
          doAgain = 0;//edited

        }
    }while(doAgain == 1);//edited
return 0;//edited
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读