実験XI:構造

 実験の目的
構造の基本概念を理解することによって1.実験。
2.構造型定義、構造体変数の定義および使用を把握します。
3.構造変数の初期化を把握します。
実験の第二に、目的
1.問題の説明
(1)アドレス帳を確立し、アドレス帳の構造レコードが含まれています:名前、生年月日、電話番号、また3含ま誕生日:年、月、日を。プログラミング、入力N(N <10)コンタクト情報は、その後、年齢順次の順序は、情報を出力します。
(2)学校番号、名前や成果、学生の学力の出力レベルと失敗の数が10人を入力します。学生番号、名前、学年スコア、要件定義と呼び出し関数set_grade()など、各学生の録音、生徒の成績に基づいて、そのレベルを設定し、統計が番号を渡さない、グレードの設定:85 100 Aに、70〜84はBです、である60〜69 C、0〜59はDです。
2.プログラム
(1)

書式#include <stdio.hに>
する#include <string.hの>
構造体の誕生日{
ダブル年。
int型の月、日、
}。
構造体電話{
int型NUM;
文字名[10]。
構造体の誕生日のBD;
}

INTのmain()
{
int型I、J、N、マックス。
構造体電話P [100]、T。
printf( "Entern N:")。
scanf関数( "%のD"、&N);
printf( "请输入通讯人姓名、号码电话、生日の\ n");
(私は++; iがn <I = 0)ため
、scanf関数( "%sの%D%%D%D LF"、P [I] .nameの、&​​P [i]は.nu​​m、&P [i]は.bd.year &P [i]は.bd.month、&P [i]の.bd.day)。
以下のために(i = 0; iは<N-1; I ++){
最大= I。
用(J = I + 1、J <nであり、j ++){
IF(P [j]が.bd.year <P [最大] .bd.year){
T = P [最大]。
P [最大] =のp [jを];
P [j]は、Tを=。
}
他(P [j]は.bd.month <P [最大] .bd.month){もし
、T = P [最大]。
P [最大] =のp [jを];
P [j]は、Tを=。
}
そうであれば(P [j]が.bd.day <P [最大] .bd.day){
T = P [最大]。
P [最大] =のp [jを];
P [j]は、Tを=。
}
}
}
のprintf( "誕生日順に\ nされています")。
(; iがn <I ++はI = 0)のため
のprintf( "名前%S \ n電話番号%D \ n%1.1f%D%D \ n"、P [I] .nameの、P [i]は.nu​​m 、P [i]は.bd.year、P [i]は.bd.month、P [i]の.bd.day)。
0を返します。
}

(2)

する#include <stdio.hに>
する#include <string.hの>
INT set_grade(構造体の学生の学生[10]、int型N);
構造体の学生{
int型NUM;
文字名[10]。
フロートスコア;
文字グレード;
}。
INTのmain()
{
int型I、N、カウント。
printf( "请输入学生数据:");
scanf関数( "%のD"、&N);
構造体の学生の学生[10]。
用(i = 0; iがn <; iは++){
のprintf( "名");
scanf関数( "%sの"、&学生[I] .nameの);
printf( "番号:");
scanf関数( "%d個"、&学生[i]の.nu​​m)。
printf( "スコア:");
scanf関数( "%のLF"、および学生[i]の.score)。
set_grade(学生、N)=数えます。
}
iがn <(I = 0。
printf( "学号:%D姓名:%S等级:%Cする\ n"、学生[I] .nu​​m、学生[I] .nameの、学生[I] .grade)。
}
のprintf( "不及格人数为:%Dを\ n"、カウント)。
0を返します。
}
int型set_grade(構造体の学生の学生[10]、int型N){
I = 0をカウントし、int型。
用(i = 0; iがn <; iは++){
IF(学生[I] .score <60){
学生[I] .grade = 'D'。
++カウント;}
そうでない場合(学生[I] .score <70人の&&学生[I] .score> = 60){
学生[I] .grade = 'C';}
そうでない場合(学生[I] .score <85人の&&学生[I] .score> = 70){
学生[I] .grade = 'B';}
そうでない場合(学生[I] .score <= 100 &&学生[I] .score> = 85){
学生[I] .grade = 'A 「;}
}
リターン数えます。
}

図3.実験手順

(1)

(2)

三,实验心得

当对结构体变量赋值时,可以整体引用,一般情况下不能对结构体变量整体引用,只能引用其成员。结构体也是和数组类似的一种构造类型。但和数组不同的是结构体的各个分量可以分别具有不同的数据类型。

おすすめ

転載: www.cnblogs.com/cyj815/p/11084140.html