1. 程式人生 > >為了防止頭文件被重復引用

為了防止頭文件被重復引用

math con 計算 struct 產生 str color turn urn

為了防止頭文件被重復引用,應當用 ifndef/define/endif 結構產生預處 理塊。

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 
 5 using namespace std;
 6 //定義公共結構類型
 7 struct student {
 8        int  num;
 9        char  name[10];
10        float
maths; 11 float physics; 12 float chemistry; 13 double total; 14 }; 15 16 //定義結構輸入函數 17 input_Rec(struct student *p) //參數為student類型的結構指針變量 18 { 19 cin>>p->num; 20 cin>>p->name; 21 cin>>p->maths; 22 cin>>p->physics; 23 cin>>p->chemistry;
24 } 25 26 //定義結構數據交換函數 27 swap_Rec(struct student *p1,struct student *p2) 28 { 29 struct student x; 30 31 //交換兩個記錄的數據 32 x=*p1; 33 *p1=*p2; 34 *p2=x; 35 } 36 37 //輸出結構的值 38 put_Rec(struct student *p) 39 { 40 cout<<p->num<<\t; 41 cout<<p->name<<
\t; 42 cout<<p->maths<<\t; 43 cout<<p->physics<<\t; 44 cout<<p->chemistry<<\t; 45 cout<<p->total<<endl; 46 } 47 48 49 50 int main(int argc, char** argv) { 51 52 int i,j; 53 // 聲明結構指針變量和結構數組 54 struct student *p1,a[3]; 55 56 //輸入3個學生的數據並計算總成績 57 cout<<"num\tname\tmaths\tphysics\tchemistry"<<endl; 58 for (p1=a;p1<=a+2;p1++) { 59 input_Rec(p1); 60 p1->total=p1->maths+p1->physics+p1->chemistry; 61 } 62 63 //對3個學生的數據排序 64 for (i=0;i<=2;i++) 65 for (j=i+1;j<=2;j++) 66 if (a[i].total<a[j].total) 67 swap_Rec(&a[i],&a[j]); //交換兩個結構變量中的數據 68 cout<<"-------------------"<<endl; //輸出一分界線 69 70 //輸出排序後的結構數組 71 cout<<"num\tname\tmaths\tphysics\tchemistry\ttotal"<<endl; 72 for (p1=a;p1<=a+2;p1++) 73 put_Rec(p1); 74 return 0; 75 }

為了防止頭文件被重復引用