第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);
  }
}
コピペ用添付ファイル
実行結果
007

seito[0]、seito[1]、seito[2]ががそれぞれ第3話のseito1、seito2、seito3に対応しています。
seito1などは構造体変数といいます。
それに対して、第4話で定義したものは構造体配列です。
配列にする方が、
汎用性のあるプログラムにできるといえるでしょう。

では、演習として40人の生成一覧表を作ってみましょう。
ただし、各教科ごとのデータは10以上100未満のランダムデータとします。
ですから、rand()をうまく使ってください。
007





第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 入門 サイト 基礎から応用まで
本サイトトップへ