Top / プログラミングおよび実習II / 20061201

[ 高橋のページ ] [ プログラミングおよび実習II2006? ]

プログラミングおよび実習II 2006年12月1日 [edit]

準備 [edit]

準備として以下のことを行ってください

  • 次の郵便番号データファイルを自分のprog2ディレクトリ内に保存する
  • catコマンドあるいはlessコマンドを使ってそれらの内容を確認する
    $ cat zipdata29
    あるいは
    $ less zipdata29

今日の課題 [edit]

課題1201-A (締切:今日の実習開始後すぐ,締切後チェック対象外) [edit]

11月30日の演習問題のプリントを提出し,チェックを受けてください.

課題1201-B (締切:今日の実習終了時,締切後チェック対象外) [edit]

課題Aのプログラムを作成し,zipdata29やzipdata100を使って動作確認できたらチェックを受けてください. ソースファイルの名前は zipcode1.c としましょう.

課題1201-C (締切:今日の実習終了時) [edit]

課題Bのプログラムに以下の2ステップの改造を施しましょう.改造したソースの名前は,zipcode2.cとしてください.

● ステップ1

以下のおまけにある「ファイル入出力」に関する解説を読み,次のことをやってみましょう

  • zipcode1.c でデータを読み込んでいるところを,ファイル(zipdata29 やzipdata100)から読み込むようにする
  • 正しく動作することを確認
  • 読み込むファイル名をわざと間違えるとどうなるか観察する

● ステップ2

zipcode1.c では読み込んだデータを順に表示するだけですが,そこを改造して,次のような動作をする(番号を入力するとその番号のデータを表示する)ようにする.

$ ./zipcode2 
100件の郵便番号データを読み込みました
何番目を表示しますか?(範囲外の数を入力すると終了します) 51
[51] 6028073 京都府京都市上京区頭町(西洞院通下長者町上る、
西洞院通中長者町上る、西洞院通中長者町下る)
何番目を表示しますか?(範囲外の数を入力すると終了します) 71
[70] 3306035 埼玉県さいたま市中央区新都心明治生命さいたま新都心ビル(35階)
何番目を表示しますか?(範囲外の数を入力すると終了します) 100

おまけ ファイル入出力について(もう少しちゃんとした説明は次回の講義でする予定です) [edit]

次のようなプログラムがあったとします.

http://tortoise1.math.ryukoku.ac.jp/~takataka/course2006/prog2/fileio0.c.png

このプログラムの実行形式が a.out だったとすると,

$ ./a.out

と実行すれば,キーボードからの入力をscanf()で受け取ってprintf()で表示することができます. これを次のように書き換えてみます.

http://tortoise1.math.ryukoku.ac.jp/~takataka/course2006/prog2/fileio1.c.png

このプログラムと同じディレクトリ内に

12  1

という内容のファイル hogehoge があるときにこのプログラムを実行すると,「ファイル hogehoge を読んでそれを表示する」ので,

x = 12, y = 1

となります.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-08-13 (水) 13:45:19 (1712d)