第26講 クラスの学習その1☆☆
第5話 クラスにメソッドを追加する
第4話問題解答例
#include<iostream>
#include<string>
#include<stdlib.h>
using namespace System;
using namespace std;
struct K{
//フィールド
char a[3][40];
char as[3][40];
char kok[40],sya[40],suu[40],rik[40],eig[40];
int d[3][5];
//メソッド
void f1(char* na,char* nb,char* nc); //名前の取得
void f2(char* sa,char* sb,char* sc); //性別の取得
void f3(int nm,int d1,int d2,int d3,int d4,int d5); //得点の取得
};
void K::f1(char* na,char* nb,char* nc ){
strcpy(a[0],na); //出席番号0の名前取得
strcpy(a[1],nb); //出席番号1の名前取得
strcpy(a[2],nc); //出席番号2の名前取得
}
void K::f2(char* sa,char* sb,char* sc ){
strcpy(as[0],sa); //出席番号0の性別取得
strcpy(as[1],sb); //出席番号1の性別取得
strcpy(as[2],sc); //出席番号2の性別取得
}
void K::f3(int nm,int d1,int d2,int d3,int d4,int d5){
d[nm][0]=d1; //出席番号nmの国語点数取得
d[nm][1]=d2; //出席番号nmの社会点数取得
d[nm][2]=d3; //出席番号nmの数学点数取得
d[nm][3]=d4; //出席番号nmの理科点数取得
d[nm][4]=d5; //出席番号nmの英語点数取得
}
void main(){
int i,j;
K A;
A.f1("太郎","次郎","花子");
A.f2("男","男","女");
strcpy(A.kok,"国語");
strcpy(A.sya,"社会");
strcpy(A.suu,"数学");
strcpy(A.rik,"理科");
strcpy(A.eig,"英語");
A.f3(0,85,65,78,59,82);
A.f3(1,27,52,28,45,60);
A.f3(2,95,97,88,99,93);
cout<<"クラスA:" <<endl;
cout<<"名前"<<" "<<"性"<<"
"<<A.kok<<" "<<A.sya<<" "<<A.suu<<"
"<<A.rik<<" "<<A.eig<<" "<<endl;
for(i=0;i<3;i++){
cout<<A.a[i]<<" "<<A.as[i];
for(j=0;j<5;j++)if(A.d[i][j]<10)cout<<" "<<A.d[i][j]<<"
";else cout<<" "<<A.d[i][j]<<" ";
cout<<endl;
}
K B;
B.f1("梅子","凛子","一郎");
B.f2("女","女","男");
B.f3(0,15,25,28,29,2);
B.f3(1,32,44,57,46,71);
B.f3(2,74,5,56,41,23);
cout<<"クラスB:" <<endl;
for(i=0;i<3;i++){
cout<<B.a[i]<<" "<<B.as[i];
for(j=0;j<5;j++)if(B.d[i][j]<10)cout<<" "<<B.d[i][j]<<"
";else cout<<" "<<B.d[i][j]<<" ";
cout<<endl;
}
K C;
C.f1("英二","尚子","良太");
C.f2("男","女","男");
C.f3(0,84,58,65,78,62);
C.f3(1,32,24,38,55,70);
C.f3(2,99,99,98,98,94);
cout<<"クラスC:" <<endl;
for(i=0;i<3;i++){
cout<<C.a[i]<<" "<<C.as[i];
for(j=0;j<5;j++)if(C.d[i][j]<10)cout<<" "<<C.d[i][j]<<"
";else cout<<" "<<C.d[i][j]<<" ";
cout<<endl;
}
K D;
D.f1("淳子","純太","直美");
D.f2("女","男","女");
D.f3(0,15,22,13,42,53);
D.f3(1,33,44,55,66,77);
D.f3(2,5,7,8,9,3);
cout<<"クラスD:" <<endl;
for(i=0;i<3;i++){
cout<<D.a[i]<<" "<<D.as[i];
for(j=0;j<5;j++)if(D.d[i][j]<10)cout<<" "<<D.d[i][j]<<"
";else cout<<" "<<D.d[i][j]<<" ";
cout<<endl;
}
}
実行画面
詳しい解説は次話で行いますが、
A.f1("太郎","次郎","花子");
A.f2("男","男","女");
や
A.f3(0,85,65,78,59,82);
A.f3(1,27,52,28,45,60);
A.f3(2,95,97,88,99,93);
の使い方に注目して下さい。
そして、関数の内容にも注意して下さい。
void K::f1(char* na,char* nb,char* nc ){
strcpy(a[0],na); //出席番号0の名前取得
strcpy(a[1],nb); //出席番号1の名前取得
strcpy(a[2],nc); //出席番号2の名前取得
}
void K::f2(char* sa,char* sb,char* sc ){
strcpy(as[0],sa); //出席番号0の性別取得
strcpy(as[1],sb); //出席番号1の性別取得
strcpy(as[2],sc); //出席番号2の性別取得
}
void K::f3(int nm,int d1,int d2,int d3,int d4,int d5){
d[nm][0]=d1; //出席番号nmの国語点数取得
d[nm][1]=d2; //出席番号nmの社会点数取得
d[nm][2]=d3; //出席番号nmの数学点数取得
d[nm][3]=d4; //出席番号nmの理科点数取得
d[nm][4]=d5; //出席番号nmの英語点数取得
}
第4話へ 第6話へ
VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual
Basic入門基礎講座