ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

【C言語】割り算での除算エラーの後、再入力させる

除算エラーをつけたのはいいけど、そこで終了してしまうんじゃなくて、bを再入力させたいなと。

/* warizan.c */
#include <stdio.h>

int main(void){
    int a,b,loop=0;
    printf("a="); scanf("%d", &a);
    
    while (loop == 0) {
        printf("b="); scanf("%d", &b);
        
        switch (b) {
            case 0:
                printf("除算エラー\n");
                loop = 0;
                break;
                
            default:
                loop = 1;
                break;
        }
    }
    printf("a/b=%d\n", a/b);
    printf("終了しました。");
    return 0;
}

whileでラッピングして、switchでbを評価する。
bがゼロだったら、loop(フラグの役目)を0にする。で、また再入力。
bがゼロでなければ、loop == 1にしてwhileの魔の手から逃れられる。
int型なんで整数にしか対応してないですけど・・。