第6回 ファイルと構造体

基本課題

ファイル

f1) まず、kansou.txtというファイルにこの授業の感想を書いて準備しておく。そして、そのファイルの中身(=感想)を表示するプログラムを作って結果を確かめなさい。 ※感想を書いたファイルも提出してください。

【ポイント】 関数 fopen,fclose と getc(またはfgetc),putchar を用いる。

★f2) ユーザが指定したファイル名のファイルを新しく作成し,そのファイルに1から1000までの整数を書き込むプログラムを作成しなさい.

【ポイント】 関数 fprintf を用いる。

構造体

★f3) 年,月,日からなる構造体を定義し,キーボードから値を読み込み,表示するプログラムを作成しなさい。

struct date {
    int year;
    int month;
    int day;
};

★f4) x座標,y座標からなる構造体pointを定義し,その変数を3つ作成しなさい。キーボードから三角形の3つの頂点の座標を読み込み,三角形の重心の座標を求め表示しなさい。

struct point {
    double x;
    double y;
};

f5) まず、商品名(文字列),価格(整数),数量(整数)をメンバとする構造体を定義する。次に,構造体を要素とする長さ10の配列を作成し,中身を適当な値で初期化する。キーボードから整数を読み込み、その価格以下のデータを探してすべて表示するプログラムを作成しなさい。

struct item {
    char name[20];
    int  price;
    int  quantity;
};
struct item item_list[10] = { /* 初期化 */ };

応用課題

fx1) キーボードから読み込んだ10人分の名前(文字列),年齢(整数),身長(実数)をheight.txtファイルに格納するプログラムを作成しなさい。また、その10人分のデータを読み出して表示するプログラムも作成しなさい。

fx2) コマンドラインで与えられたファイル名のファイルの内容を画面に表示するC言語のプログラムを作成しなさい(UNIXのcat,Windowsのtype)。このプログラムを実行するためには,「コマンドプロンプト」からプログラムを実行しなければならない。

【ポイント】 プログラム実行時のコマンドラインの引数は、メインの引数として取得することができる。

int main(int argc, char *argv[]);

このargcに、コマンドライン引数の個数、argvにそれぞれの引数の文字列が得られる。

int main(int argc, char *argv[])
{
    int i;
    for (i = 0; i < argc; i++)
        printf("%s\n", argv[i]);
}

fx3) ユーザが指定したファイル名の英文テキストファイルを開き、そこに含まれている単語の平均長を求めるプログラムを作成せよ。ただし、単語の定義は、アルファベットが連続している文字列とする。

fx4) まず、商品名と価格をメンバとする構造体を定義する。そして、その構造体変数へのポインタを引数にとり、キーボードから読み込んだ商品名と価格を、その変数に代入する関数を作成せよ。

fx5) 氏名と教科の点数(N科目分)からなる構造体(seiseki)を定義して,値をキーボードから読み込む関数,構造体に格納された値を表示する関数を作成しなさい。

発展課題


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-09-20 (木) 18:54:57