另外,請註意,您的語言不是C...已經是c++了。妳看,在上面定義的struct結構中已經有public……...還有函數的定義...
Date(int m,int d)是函數的聲明,set(m,d)是函數的定義。聲明,就是說我聲明這個函數存在(註意,不壹定要給出具體的函數)~定義,就是我要給出這個函數的具體內容和定義。比如我聲明我和張三是好朋友,但我不用介紹張三是什麽樣的人。但如果我把張三定義為朋友,那就必須從各方面介紹他。在編程中,聲明和定義通常以不同的方式表達。
函數名是自己創建的,只要調用和定義能和數字匹配。
在開始學習程序時,請慢慢來。別擔心。我寫第壹個C語言程序的時候,漏掉了很多分號,被朋友嘲笑了很久...那時候我和妳壹樣,不會用printf什麽的。但是現在好了...
c語言教材,國內好書不多,還是推薦妳讀譚浩強,清華大學出版社。真的編的很好,也很好解釋。很多抽象的概念,他老人家都解釋的很好,不是國內其他教材能比的。當妳基礎學的很好,想進壹步學習的時候,推薦兩本國外的教材,C PRIMER PLUS和C編程。C PRIMER PLUS比較全。C編程是C語言的發明者寫的,很牛逼,但是他的文筆和中國的傳統思維很不壹樣。我建議在讀譚浩強的書之前先讀壹讀。
祝妳享受編程的快樂~!
補充,代碼註釋:
#包括
#包括
//這個程序真的很討人喜歡,可讀性極低。變量名命名不好,重復太多,容易引起誤解。所以我建議初學者看壹些精挑細選的例子,比如譚浩強書中的例子,真的很好。我在THU學的EE,這是我的個人經歷和個人建議。。
Struct Date //定義壹個名為Date的結構。
{
int月,日;
公共:
Date(int m,int d) //聲明壹個名為Date的函數。
{
set(m,d);
}
void set(int m,int d);
void constell();//Date結構下有壹個函數叫constell。
};
無效日期::set(int m,int d)
{
//這裏最好檢查壹下日期輸入是否正確。...
月=m,日= d;
}
無效日期::constell()
{
字符串c[12][2]={ { "摩羯座","水瓶座" },{ "水瓶座","雙魚座" },{ "雙魚座","白羊座" },
{ "白羊座","金牛座" },{ "金牛座","雙子座" },{ "雙子座","巨蟹座" },
{ "巨蟹座","獅子座" },{ "獅子座","處女座" },{ "處女座","天秤座" },
{ "天秤座","天蠍座" },{ "天蠍座","射手座" },{ "射手座","摩羯座" }
};
int x = month-1;
int y = day/21;
printf("%s ",c[x][y]);
}
int main()
{
int月,日;
Printf("請輸入月份:");
scanf("%d ",& amp月);
cout & lt& lt請輸入壹個日期:“;
scanf("%d ",& amp天);
日期d(月、日);//聲明壹個名為D(包含set、constell等函數,如開頭結構定義所示)的Date類型的結構變量(也稱為對象)。它的函數相當於int i,聲明了壹個整型變量I。
d . constell();//調用結構變量d下的constell函數。
返回0;
}