プログラミングB 第3回 担当 鈴木 伸夫 今日のキーワード ファイル入出力。FILE型、fopen(), fclose(), fscanf(), fprintf()など ファイル入出力 ファイルを使用する宣言fopen() File *file = fopen("ファイル名", "モード"); モードは読み取りならr、書き込みならw、追加ならaである。 ファイルから一行読む fscanf(FILEポインタ, "型指定子", 変数のポインタ・・・); ファイルに一行書き込む fprintf(FILEポインタ,"型指定子と文字列", 変数・・・); ファイルを使用するのをやめる fclose(Fileポインタ) File *file; /* FILE型ポインタの宣言 */ file = fopen("myFile", "r"); /* myFileというファイルを読み込みモードでオープン */ fcanf(file,"%d", &a); /* int型変数aにファイルから読み込んだ値を代入する */ fclose(file) /* myFileはもう使わないのでクローズ */ file = fopen("outFile", "w"); /* outFileというファイルを書き込みモードでオープン */ fprintf(file, "%d", a); /* aの値をoutFileに書き込み */ fclose(file) /* outFile はもう使わないのでクローズ */ FILEポインタの部分にstdinと書くとキーボード、stdout,stderrと書くと画面を意味する。(実は標準出力 と標準エラー出力は別になっている。これにより、出力は画面に、エラーはファイルに、などと出力を振り 分けることができる)。 練習問題: 問題3-1:問題2-2の「じゃんけんプログラム」を以下のように改良したプログラムを作成せよ。 ・ゲームを起動したとき、「jankendata.txt」から今までの対戦成績を読み込み、「○回勝負しました あ なた○勝 わたし○勝 」と表示する。 ・プレイヤーは「ぐー」なら0を「ちょき」なら1を「ぱー」なら2を入力する.終了したいときは3を入 力する。 ・コンピュータが勝ちなら「あなたの負け」,プレイヤーが勝ちなら「あなたの勝ち」,引き分けなら「引 き分け」と表示して今までの対戦成績を「○回勝負しました あなた○勝 わたし○勝 」と表示してプレ イヤーの入力に戻る。 ・終了するときには「jankendata.txt」に対戦成績を記録する。 jankendata.txtには「対戦回数、プレイヤーの勝数、コンピューターの勝数」を記録する。 例)対戦回数100回、プレイヤーの勝数35回、コンピューターの勝数30回の場合 jankendata.txtには 100 35 30 と記録されている。 実行例) 0回勝負しました あなた0勝 わたし0勝 あなたの手は? ぐー(0) ちょき(1) ぱー(2) 終了(3)> 2 (注:プレイヤーがパーを入力) あなたの勝ち 1回勝負しました あなた1勝 わたし0勝 Input gu(0) choki(1) pa(2) > 3 (注:プレイヤーはやめたくなったので3を入力) 今日のチェック問題(プログラミングB第3回) 学籍番号 名前 1. fopen(), fprintf()を使って、int変数aの値をファイル"myfile"に出力するにはどう記述するか。 2. 今日の課題はどこまで進んだか? また、この授業の感想、期待することなどを自由に述べよ。
© Copyright 2024 ExpyDoc