2011年3月26日 星期六

Ex06結構練習

 
 
 
 
 
 
 
 
 
 
 
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
修改程式範例: Ch2-3-4.c 為Ch2-3-4e.c 
1.增加電話結構的宣告 
struct phone /* phone結構 */ 
{ 
char phone1[10];
char phone2[12];
};
2.將 struct student 增加phone結構成員: 
struct phone callno;
3.指定std1 及 std2 的值
 
 
/* 程式範例: Ch2-3-4e.c */
#include <stdio.h>
#include <stdlib.h>
#include <string.h> 

    struct test                    /* 考試成績的結構 */ 
{
    int math;
    int english;
    int computer;
};

    struct phone                   /* phone結構 */                       
{
    char phone1[10];
    char phone2[12];
};

    struct student                 /* 學生資料的結構 */ 
{
    int id;
    char name[20];
    struct test score;             /* 結構變數 */ 
    struct phone callno;
};

/* 主程式 */ 
int main() {
   /* 結構變數的宣告 */
   struct student std1;
   struct student std2 = {2, "江小魚", {45, 78, 66},{"23375698","0926154277"}};
   int total;

   std1.id = 1;               /* 指定結構變數的值 */ 
   strcpy(std1.name, "陳會安");
   std1.score.math = 78;
   std1.score.english = 65;
   std1.score.computer = 90;
   strcpy(std1.callno.phone1,"23367894");
   strcpy(std1.callno.phone2,"0926154867");
   
   /* 顯示學生資料 */
   printf("學號: %d\n", std1.id);
   printf("姓名: %s\n", std1.name);
   printf("聯絡電話: %s\n", std1.callno.phone1); 
   printf("手機號話: %s\n", std1.callno.phone2);  
   total = std1.score.math + std1.score.english + std1.score.computer;
   printf("成績總分: %d\n", total);
   printf("====================\n"); 
   
   printf("學號: %d\n", std2.id);
   printf("姓名: %s\n", std2.name);
   printf("聯絡電話: %s\n", std2.callno.phone1);
   printf("手機號話: %s\n", std2.callno.phone2);   
   total = std2.score.math + std2.score.english + std2.score.computer;
           
   printf("成績總分: %d\n", total);
   system("PAUSE");
   return 0;  
}
執行結果:
學號: 1
姓名: 陳會安
聯絡電話: 23367894
手機號話: 0926154867
成績總分: 233
====================
學號: 2
姓名: 江小魚
聯絡電話: 23375698
手機號話: 0926154277
成績總分: 189
請按任意鍵繼續 . . .

1 則留言: