Lesson2 メッセージの表示

簡単なスクリプトを改良してメッセージを表示できるようにする。

コードは
0=終了
1=メッセージ

です。
さっきと違ってバイナリではなく文字コードになっていることに気をつけてください。

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

char Data[10][80]={
	"1あなたは誰ですか?",
	"1僕はバンタン太郎です。",
	"1嘘だッ!!!",
	"0",
};
int main()
{
	int Adr=0;
	printf("スクリプト開始します。\n");
	while(Data[Adr][0]!='0'){//先頭のコードを見る
		switch(Data[Adr][0]){
			case '1'://メッセージ
				printf("%s\n",Data[Adr]+1);
				getch();//入力待ち
				break;
		}
		Adr++;
	}
	printf("\nスクリプト終了します。\n");
	getch();//入力待ち
	return 0;
}
        


もう少し改良してみましょう。
今までは最後のコードにくると終了してしまいますが、ジャンプ処理を追加して
継続できるようにします。

2=ジャンプのコード
次の数値が新しいアドレスになる。

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

char Data[10][80]={
	"1あなたは誰ですか?",
	"1僕はバンタン太郎です。",
	"1嘘だッ!!!",
	"21",
	};
int main()
{
	int Adr=0;
	printf("スクリプト開始します。\n");
	while(Data[Adr][0]!='0'){//先頭のコードを見る
		switch(Data[Adr][0]){
			case '1'://メッセージ
				printf("%s\n",Data[Adr]+1);
				getch();//入力待ち
				break;
			case '2'://ジャンプ
				Adr=atoi(Data[Adr]+1);
				continue;
				break;
		}
		Adr++;
	}
	printf("\nスクリプト終了します。\n");
	getch();//入力待ち
	return 0;
}
        


atoiの命令で文字を数値に変換します。
"1"→1 となっているわけです。
continueを使っている訳はそのまま進むとAdr++を実行してしまい、1つ多くなってしまうからです。
(continueを外して実行してみよう)

[戻る][次へ]

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!