標籤:style blog color 使用 os io 檔案 資料
C語言學習寶典(5)
結構體:
將不同類型的資料群組合成為一個有機的整體,這個整體就是一個結構體。
例如:
Struct student
{
Int name;
Char sex;
Float score;
};
使用方法:
類型名 成員名;
一般形式:
Struct
{
成員列表;
}變數名表列;
結構體變數的引用:
結構體變數名.成員名
檔案:
FILE *fp;
Fp=fopen(檔案名稱,檔案開啟檔案);
Fclose(檔案指標)
例1 對候選人得票的統計程式,設有3個後選人,每次輸入一個候選人的名字,要求最後輸出得票結果
/****************************** 功能:統計3個候選人得票*****************************/#include <stdio.h>#include "string.h" struct Person{ char name[20]; int count;};struct Person Leader[3]={"Li",0,"Zhang",0,"Wang",0};void main(){ int i,j; char Leader_name[20]; for(i=1;i<5;i++) { scanf("%s",Leader_name); for(j=0;j<3;j++) { if(strcmp(Leader_name,Leader[j].name)==0) Leader[j].count++; } } printf("\n"); for(i=0;i<3;i++) { printf("%5s:%d\n",Leader[i].name,Leader[i].count); }}
例2 從鍵盤輸入一些字元,逐個把他們送到磁碟上去,知道輸入一個”#”為止
/**********************功能:從鍵盤輸入一些字元,直到輸入"#"為止***********************/ #include <stdio.h>#include <stdlib.h> void main(){ FILE *fp; char ch,filename[10]; scanf("%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("can‘t open file!\n"); exit(0); } ch=getchar(); /*接受在執行scanf語句時最後的斷行符號符*/ ch=getchar(); /*接受輸入的第一個字元*/ while(ch!=‘#‘) { fputc(ch,fp); putchar(ch); ch=getchar(); /*接受putchar中的分行符號*/ } putchar(10); /*想ping命令輸出一個分行符號*/ fclose(fp);}