整数と算術演算

  1. 除算には/演算子、剰余には%演算子を使用できる。
    import std.stdio;
    
    void main() {
        int first;
        write("Please enter the first number: ");
        readf(" %s", &first);
    
        int second;
        write("Please enter the second number: ");
        readf(" %s", &second);
    
        int quotient = first / second;
        int remainder = first % second;
    
        writeln(first, " = ",
                second, " * ", quotient, " + ", remainder);
    }
    D
    arithmetic.solution.1
  2. if文を使用して、余りが0であるかどうかを判断することができる。
    import std.stdio;
    
    void main() {
        int first;
        write("Please enter the first number: ");
        readf(" %s", &first);
    
        int second;
        write("Please enter the second number: ");
        readf(" %s", &second);
    
        int quotient = first / second;
        int remainder = first % second;
    
        // 残りが0であるかどうかを判断する前に、
        // writelnを事前に呼び出すことはできない。
        // 行は後でwritelnで終了させる必要がある。
        write(first, " = ", second, " * ", quotient);
    
        // 残りは0以外の場合にのみ表示する必要がある。
        if (remainder != 0) {
            write(" + ", remainder);
        }
    
        // これで、行を終了する準備ができた。
        writeln();
    }
    D
    arithmetic.solution.2
  3. import std.stdio;
    
    void main() {
        while (true) {
            write("0: Exit, 1: Add, 2: Subtract, 3: Multiply,",
                  " 4: Divide - Please enter the operation: ");
    
            int operation;
            readf(" %s", &operation);
    
            // まず、演算を検証しよう
            if ((operation < 0) || (operation > 4)) {
                writeln("I don't know this operation");
                continue;
            }
    
            if (operation == 0){
                writeln("Goodbye!");
                break;
            }
    
            // ここに到達したら、4つの演算のうちの1つを
            // 扱っていることがわかる。ここで、ユーザーから
            // 2つの整数を読み込む:
    
            int first;
            int second;
    
            write(" First number: ");
            readf(" %s", &first);
    
            write("Second number: ");
            readf(" %s", &second);
    
            int result;
    
            if (operation == 1) {
                result = first + second;
    
            } else if (operation == 2) {
                result = first - second;
    
            } else if (operation == 3) {
                result = first * second;
    
            } else if (operation == 4) {
                result = first / second;
    
            }  else {
                writeln(
                    "There is an error! ",
                    "This condition should have never occurred.");
                break;
            }
    
            writeln("       Result: ", result);
        }
    }
    D
    arithmetic.solution.3
  4. import std.stdio;
    
    void main() {
        int value = 1;
    
        while (value <= 10) {
            if (value != 7) {
                writeln(value);
            }
    
            ++value;
        }
    }
    D
    arithmetic.solution.4