練習課題:おみくじのプログラムを作る

 ここで、ひとつ、練習課題をやってみましょう。ここしばらくは改良版ばかりでしたので、全く新しいプログラムを作ってみましょう。

 課題:簡単なおみくじのプログラムを書いて下さい。おみくじの内容は「大吉」「中吉」「小吉」「吉」「凶」とします。rand関数を利用して、ランダムにおみくじの内容を表示します。

 ぜひ、まずは自力で考えてみて、プログラムを書いて、実行してみて下さい。

 …… 

 では、回答例を以下に掲載します。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    
    // おみくじの内容一覧
    char daikichi[] = "大吉";
    char tyuukichi[] = "中吉";
    char syoukichi[] = "小吉";
    char kichi[] = "吉";
    char kyou[] = "凶";
    
    // 各おみくじの内容を格納するポインタ配列
    char *mikuji[5];
    mikuji[0] = daikichi;
    mikuji[1] = tyuukichi;
    mikuji[2] = syoukichi;
    mikuji[3] = kichi;
    mikuji[4] = kyou;
    
    // 現在時刻を種に設定する
    srand((unsigned)time(NULL));
    
    // 0から4までの乱数を取得する
    double randValue;
    randValue = rand() / (double)(unsigned)(RAND_MAX + 1);
    int mikujiNum = (int)(randValue * 5.0);
    
    // おみくじの内容を表示する
    printf("本日のあなたの運勢は %s です。", mikuji[mikujiNum]);
    
    
    return 0;
}

 実行すると、以下のような内容が表示されます。

本日のあなたの運勢は 吉 です。

 ポインタを利用している点が少々難しいかもしれません。難しかった場合は、ポインタをよく復習して下さい。

■スポンサーリンク

このページの先頭へ