落書きノート

ふと自分が気になった事を書いてます

C++とJavaで問題を解く

今日は疲れてますね。あまり問題がこなせなかったなぁ。それにしてもJava,大学ではコンソールアプリケーションをやらなかったので少し新鮮味がありました。やったのはアプレットだったもんなぁ…。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main(void){
    srand(time(NULL));
    int num = rand() % 1000;
    int no = 0;
    int cnt = 0;

    while(no < 10){
        int answer;

        cout << "数を当ててください。" << endl;
        cin >> answer;

        if(answer > 999 || answer < 0){
            cout << "0~999の範囲を超えています。" << endl;
            continue;
        }

        if(num == answer){
            cout << "正解です。" << endl;
            cout << ++cnt << "回で正解しました。" << endl;
            break;
        } else if(num < answer){
            cout << "答えより大きいです。" << endl;
            cnt++;
        } else if(num > answer){
            cout << "答えより小さいです。" << endl;
            cnt++;
        } else {
            continue;
        }

        no++;
    }

    if(no == 10) cout << "正解は" << num << "です。" << endl;

    return 0;
}
// kazuate.h
void initialize();
void gen_no();
int judge(int cand);
int answer();
int input(int left);
bool confirm_retry();
extern int max_no;

// kazuate.cpp
#include <iostream>
#include "kazuate.h"

using namespace std;

int max_no = 999;

int main(){
    initialize();
    cout << "数当てゲーム開始!" << endl;

    int max = 10;

    do {
        gen_no();
        int left = max;
        int hantei;
        do {
            hantei = judge(input(left));
            if(hantei == 1)
                cout << "\aもっと小さいですよ。\n";
            else if(hantei == 2)
                cout << "\aもっと大きいですよ。\n";
            left--;
        } while(hantei != 0 && left > 0);

        if(left > 0)
            cout << (max - left) << "回で正解しました。" << endl;
        else
            cout << "残念でした。正解は" << answer() << "でした。" << endl;
    } while(confirm_retry());
}

// game.cpp
#include <ctime>
#include <cstdlib>
#include "kazuate.h"

using namespace std;

static int kotae = 0;

void initialize(){
    srand(time(NULL));
}

void gen_no(){
    kotae = rand() % (max_no + 1);
}

int judge(int cand){
    if(cand == kotae)
        return 0;
    else if(cand > kotae)
        return 1;
    else
        return 2;
}

int answer(){
    return kotae;
}

// io.cpp
#include <iostream>
#include "kazuate.h"

using namespace std;

static void prompt(){
    cout << "0~" << max_no << "の数 : ";
}

int input(int left){
    int val;
    cout << "残り" << left << "回" << endl;
    do {
        prompt();
        cin >> val;
    } while(val < 0 || val > max_no);

    return val;
}

bool confirm_retry(){
    int cont;
    cout << "もう一度しますか?" << endl << "<Yes...1/No...0> : ";
    cin >> cont;
    return static_cast<bool>(cont);
}
import java.util.Scanner;

class q2_6 {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);

        System.out.print("整数値 : ");
        int x = scan.nextInt();

        System.out.println(x + 10);
        System.out.println(x - 10);
    }
}