結構體(struct)的使用 c語言11 4

2021-09-10 01:33:34 字數 973 閱讀 2963

設有若干個人員的資料,其中包含學生和教師。學生的資料中包括:號碼、姓名、性別、職業、班級。教師的資料報括:號碼、姓名、性別、職業、職務。可以看出,學生和教師所包含的資料是不同的。現在要求把這些資料放在同乙個**中儲存,使用結構體中的共用體實現。結構體定義如下:

struct category;

};在以上的結構體中,如果job項為s(學生),則第5項為class(班級);如果job項是t(教師),則第5項為position(職務)。

輸入幾個人員的資料,將其儲存在以上包含共用體的結構體陣列中,並輸出。

第一行有乙個整數n,表示以下n行分別表示n個人員的資料。保證n不超過100。

之後的n行,每行有5項用空格隔開的內容。前4項分別為人員的號碼(整數)、姓名(長度不超過9的無空格字串)、性別(字元,m或f)和職業(字元,s或t)。如果第4項是s,則第5項為乙個整數,表示班級;如果第4項是t,則第5項為乙個長度不超過9的無空格字串,表示職務。

共有n行,與輸入格式相同,輸出讀入的所有內容。

請注意行尾輸出換行。

2

101 li f s 501

102 wang m t prof

101 li f s 501

102 wang m t prof

#include #include using namespace std;

struct studentcategory;

};int main()else if(stu[i].job == 't')else

}for(int i = 0; i < n; i ++)else if(stu[i].job == 't')else

}return 0;

}

在輸出的時候,將job的輸出搞錯為字串的輸出了,應該是字元的輸出,從而導致輸不出來

在檢查的時候使用分步輸出,這樣可以明確錯誤出現在**。

C語言結構體struct

定義 定義結構體,要定義兩次,1定義型別,2定義變數 1定義時 不分配記憶體,和 define一樣 定義結構體的樣式,叫什麼名字,成員,句式 2再定義 分配記憶體 用著個樣式定義變數 與typedef有點像 3如果定義的是 p指標,只表示出此結構體 變數的起始位址 struct a struct a...

C語言結構體(Struct)

在c 語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu stu 為結...

C語言 結構體struct 結構體對齊

1 定義乙個結構體 順便例項結構體變數 struct tag 結構體型別名 struct tag 這兩者共同構成了結構體型別 單獨的tag 結構體型別名 不能稱之為結構體型別 結構體變數名 2 定義的同時使用typedef 相當於定義結構體 為結構體起新名字 typedef struct tag 結...