C言語入門 第10回 構造体とC言語総復習



第10回のポイント

構造体
様々な型の変数をひとまとめにしたものを構造体と考えてよいでしょう。構造体を発展させたものがオブジェクト指向におけるクラスの考え方につながります。

構造体の定義
struct seiseki{
    char class;
    int no;
    int tokuten;
};

構造体の利用
struct seiseki a;
a.class='A';
a.no=23;
a.tokuten=59;

googleドライブ上にこの講座のプログラムコード、スライドデータを置いています。
https://drive.google.com/folderview?id=0B7jeGhcD18UYZjlDalQwRGpVLWM&usp=sharing

以下はビデオで作成したプログラムコードです。


//Study10.c
#include <stdio.h> 
char getHyouka(int);//関数プロトタイプの宣言
char* getKamoku(int);//関数プロトタイプの宣言

struct seiseki {//成績を表示する構造体
    char cls;//クラス名(文字)
    int no;//出席番号
    char *name;//名前
    int tokuten[6];//国語、数学、理科、社会、英語、合計を格納
    char rank;//評価 400点以上 A 300点以上 B 200点以上 C 100点以上 D 100点未満 E
};

int main (int argc, const char * argv[])
{
    struct seiseki takepon;
    printf("クラスを入力して下さい\t");
    scanf("%c",&takepon.cls);
    printf("出席番号を入力して下さい\t");
    scanf("%d",&takepon.no);
    printf("名前を入力して下さい\t");
    scanf("%s",&takepon.name);
    for(int i=0;i<5 data-blogger-escaped-0:="" data-blogger-escaped-0="" data-blogger-escaped-1:="" data-blogger-escaped-2:="" data-blogger-escaped-3:="" data-blogger-escaped-4:="" data-blogger-escaped-break="" data-blogger-escaped-c="" data-blogger-escaped-case="" data-blogger-escaped-char="" data-blogger-escaped-d="" data-blogger-escaped-default:="" data-blogger-escaped-for="" data-blogger-escaped-gethyouka="" data-blogger-escaped-getkamoku="" data-blogger-escaped-i="" data-blogger-escaped-if="" data-blogger-escaped-int="" data-blogger-escaped-kamoku="" data-blogger-escaped-n="" data-blogger-escaped-printf="" data-blogger-escaped-rank="" data-blogger-escaped-return="" data-blogger-escaped-s:="" data-blogger-escaped-s="" data-blogger-escaped-scanf="" data-blogger-escaped-switch="" data-blogger-escaped-t="" data-blogger-escaped-takepon.cls="" data-blogger-escaped-takepon.name="" data-blogger-escaped-takepon.no="" data-blogger-escaped-takepon.tokuten="" data-blogger-escaped-tokuten="">= 400){
        rank = 'A';
    }else if(tokuten >= 300){
        rank = 'B';
    }else if(tokuten >= 200){
        rank = 'C';
    }else if(tokuten >= 100){
        rank = 'D';
    }else{
        rank = 'E';
    }
    return rank;
}