前回に引き続き今回は少しプログラミングをしてみます。今回作ろうと試みてるプログラムは下の動画のようにメニュー画面を表示してみたいと思います。
C言語超初心者なのでプログラマーの方からの色々なご指摘があると嬉しいです。
使用しているOS:Windows7 64bit
開発環境:VisualStudio Community 2017
マイツール:フリーウエアー64bit版
まず、私が作りたいと思っているのは、以前マイツールというソフトで作ったようなプログラムなのですが・・・
VisualStudioでprintf関数を使って文字を表示してみます
C言語ではファイルの読み込むのにヘッダファイルを記途します。
#includeは、プログラムに必要なヘッダーファイルを読み込む
<stdio.h>は 標準の入力/出力
printf関数を使う場合、ヘッダファイルは入出力に関する関数が定義されている<stdio.h>を使います。
#includeを翻訳すると「含める」という意味でなんですね。
それではまず、基本的なおまじないを入力してみます(何もしないプログラム)
基本的なおまじない
#include <stdio.h> int main(Void) { return 0; }
続いて、メニュー画面となるプログラミングをしてみます。
関数の定義の仕方
関数名(” ここに表示させる文字を入力”);← ;=この関数の終わりはここまでと示している
printfで使えるエスケープシーケンス
\t=タブ
\n=改行
画面を中央に表示さる方法を探していましたが見つからず、文字の間に空白を入れて無理矢理?表示させています。
#include <stdio.h> int main(Void) { printf("==========================================================================\n\n"); printf("\t\t\t メインメニュー\n\n"); printf("==========================================================================\n\n\n"); printf("\t\t\t1.販売管理メニュー\n\n"); printf("\t\t\t2.顧客管理メニュー\n\n"); printf("\t\t\t3.財務管理メニュー\n\n"); printf("\t\t\t4.終 了\n\n\n\n\n"); return 0; }
上記をファイルに書き込んでデバック→デバックなしで開始をクリック
すると・・
実行結果
なんとなく中央表示されたような感じです。
それでは次にマイツールで表示しみます。
マイツールでPRINT命令を使って表示してみる
マイツールでは、まず、
F⏎で表題を付けてください。となるのでメニュー⏎
1列目の桁数はと聞いてきますが、表はつくらないので一旦Esc
ED命令で下のソースを記入し、W⏎で任意のファイル(ここでは1500ページとします)に書き込みます。
[メニュ-] 18.04.30 混 L=0123 C=0074 *メインメニュ-1 DPOFF:CLS:COLOR:7:0:2: LINE:40:20:40:970:3: LINE:120:20:120:970:3: COLOR:3:0:2: LOC:4:30:PRINT:"***** メ イ ン メ ニ ユ ― *****": COLOR:7:0:2: LOC:10:42:PRINT:1.販 売 管 理 メ ニ ュ ―: LOC:13:42:PRINT:2.顧 客 管 理 メ ニ ュ ―: LOC:16:42:PRINT:3.財 務 管 理 メ ニ ュ ―: COLOR:4:0:2: LOC:19:42:PRINT:4. 終 了: ACCP:処理番号を(1~4)で入力してエンタ―を押してください:?: ON Z0 GOSUB *1,*2,*3,*4: IF Z0>=5 THEN:GOTO *メインメニュ-1: ELSE: IF Z0=0 THEN:GOTO *メインメニュ-1: ENDIF:ENDIF: *1 RUN:ハンバイカンリメニュ-: RETURN: *2 RUN:得意先マスタ―: RETURN: *3 RUN:ザイムカンリメニュ-: RETURN: *4 DPON: STOP:
次にPRO⏎E⏎先程書き込んだページ番号(1500)を入力してEsc
すると通常の画面に戻るので、オートプログラムメニューから選択するかRUN⏎メニュー⏎
を押すと・・・
マイツールの実行結果
マイツールではある程度慣れてるので一機に色付けや条件式などまでできるのですが・・VisualStudioでは、まだまだです。
c言語ではこのままでは白と黒だけなのでなんとなく味気ないですので次回は文字に色を付けたいと思います。
コメント