第15講 構造体の学習
第4話 構造体配列
第3話では構造体の雛型から生徒一人一人を生成しましたが、
配列を利用すると一気に複数の生徒を生成することができます。
#include<stdio.h>
void f(); //平均点計算
void g(); //データ表示
struct seiseki{ //構造体seisekiの宣言
char kurasu; //クラス
char bangou; //出席番号
char namae[30]; //名前
char kokugo; //国語の成績
char syakai; //社会の成績
char sansu; //算数の成績
char rika; //理科の成績
double heikin; //4教科平均点
};
struct seiseki seito[3]={
{1,1,"赤角 一郎",78,45,32,23},
{1,2,"伊澤 麗子",95,98,99,98},
{1,3,"伊丹 寿蔵",18,15,13,16}}; //構造体seisekiの具体化と理科の成績までの代入
int main(){
f(); //平均点計算
g(); //データ表示
return(0);
}
void f(){ //平均点計算
char i;
for(i=0;i<3;i++)seito[i].heikin=(double)(seito[i].kokugo+seito[i].syakai+seito[i].sansu+seito[i].rika)/4;
}
void g(){ //データ表示
printf("組 出席番号 名前 国語 社会 算数 理科 平均点\n");
char i;
for(i=0;i<3;i++){
printf("%d組 %d番 %s %d %d %d %d %.1f\n",seito[i].kurasu,seito[i].bangou,seito[i].namae,seito[i].kokugo,seito[i].syakai,seito[i].sansu,seito[i].rika,seito[i].heikin);
}
}
コピペ用添付ファイル
実行結果
seito[0]、seito[1]、seito[2]ががそれぞれ第3話のseito1、seito2、seito3に対応しています。
seito1などは構造体変数といいます。
それに対して、第4話で定義したものは構造体配列です。
配列にする方が、
汎用性のあるプログラムにできるといえるでしょう。
では、演習として40人の生成一覧表を作ってみましょう。
ただし、各教科ごとのデータは10以上100未満のランダムデータとします。
ですから、rand()をうまく使ってください。
第3話へ 第5話へ
第2部目次に戻る 第1部目次に戻る
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
ecliqse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
ecliqse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ