[C/C++基礎]-簡易算命程式
剛才在逛部落格發現有高手用C#寫了一個算命程式,因此一實際養將它翻譯成C/C++,有興趣的同好,歡迎來(C/P)一下。
拷貝來源:http://www.7headlines.com/article/show/247091944
 #include <stdio.h> #include <stdlib.h> static int yearw(int y) { 	int a = 0; 	y = (y - 12) % 60; 	switch (y) 	{ 		case 1: a = 12; break; 		case 2: a = 9; break; 		case 3: a = 6; break; 		case 4: a = 7; break; 		case 5: a = 12; break; 		case 6: a = 5; break; 		case 7: a = 9; break; 		case 8: a = 8; break; 		case 9: a = 7; break; 		case 10: a = 8; break; 		case 11: a = 15; break; 		case 12: a = 9; break; 		case 13: a = 16; break; 		case 14: a = 8; break; 		case 15: a = 8; break; 		case 16: a = 19; break; 		case 17: a = 12; break; 		case 18: a = 6; break; 		case 19: a = 8; break; 		case 20: a = 7; break; 		case 21: a = 5; break; 		case 22: a = 15; break; 		case 23: a = 6; break; 		case 24: a = 16; break; 		case 25: a = 15; break; 		case 26: a = 7; break; 		case 27: a = 9; break; 		case 28: a = 12; break; 		case 29: a = 10; break; 		case 30: a = 7; break; 		case 31: a = 15; break; 		case 32: a = 6; break; 		case 33: a = 5; break; 		case 34: a = 14; break; 		case 35: a = 14; break; 		case 36: a = 9; break; 		case 37: a = 7; break; 		case 38: a = 7; break; 		case 39: a = 9; break; 		case 40: a = 12; break; 		case 41: a = 8; break; 		case 42: a = 7; break; 		case 43: a = 13; break; 		case 44: a = 5; break; 		case 45: a = 14; break; 		case 46: a = 5; break; 		case 47: a = 9; break; 		case 48: a = 17; break; 		case 49: a = 5; break; 		case 50: a = 7; break; 		case 51: a = 12; break; 		case 52: a = 8; break; 		case 53: a = 8; break; 		case 54: a = 6; break; 		case 55: a = 19; break; 		case 56: a = 6; break; 		case 57: a = 8; break; 		case 58: a = 16; break; 		case 59: a = 10; break; 		case 60: a = 7; break; 	}     return (a); } static int monthw(int x) { 	int y=0; 	switch (x) 	{ 		case 1: y = 6; break; 		case 2: y = 7; break; 		case 3: y = 18; break; 		case 4: y = 9; break; 		case 5: y = 5; break; 		case 6: y = 16; break; 		case 7: y = 9; break; 		case 8: y = 15; break; 		case 9: y = 18; break; 		case 10: y = 8; break; 		case 11: y = 9; break; 		case 12: y = 5; break;
  	} 	return (y);
  } static int timew(int a) { 	int b=0; 	switch (a) 	{ 		case 1: b = 16; break; 		case 2: b = 6; break; 		case 3: b = 7; break; 		case 4: b = 10; break; 		case 5: b = 9; break; 		case 6: b = 16; break; 		case 7: b = 10; break; 		case 8: b = 8; break; 		case 9: b = 8; break; 		case 10: b = 9; break; 		case 11: b = 6; break; 		case 12: b = 6; break;
  	} 	return (b);
  } static int dayw(int j) { 	int dayw=0; 	switch (j) 	{ 		case 1: dayw=5; break; 		case 2: dayw=10; break; 		case 3: dayw=8; break; 		case 4: dayw=15; break; 		case 5: dayw=16; break; 		case 6: dayw=15; break; 		case 7: dayw=8 ; break; 		case 8: dayw=16; break; 		case 9: dayw=8; break; 		case 10: dayw=16; break; 		case 11: dayw=9; break; 		case 12: dayw=17; break; 		case 13: dayw=8; break; 		case 14: dayw=17; break; 		case 15: dayw=10; break; 		case 16: dayw=8; break; 		case 17: dayw=9; break; 		case 18: dayw=18; break; 		case 19: dayw=5; break; 		case 20: dayw=15; break; 		case 21: dayw=10; break; 		case 22: dayw=9; break; 		case 23: dayw=8; break; 		case 24: dayw=9; break; 		case 25: dayw=15; break; 		case 26: dayw=18; break; 		case 27: dayw=7; break; 		case 28: dayw=8; break; 		case 29: dayw=16; break; 		case 30: dayw=6; break; 	} 	return (dayw); } static void fatecomments(int total) { 	printf("您的命格重 %d 兩 %d 錢:\n", total/10,total%10); 	switch(total) 	{ 		case 21: 			printf("衣食奔波出外手藝之人\n"); 			printf("短命非業謂大凶 平生災難事重重 凶禍頰臨陷逆境 終世困苦事不成\n"); 			break; 		case 22: 			printf("幼年勞碌中年清泰之人\n"); 			printf("身寒骨冷苦伶仃 此命推來行乞人 碌碌巴巴無度日 終年打拱過平生\n"); 			break; 		case 23: 			printf("先難後易出外救人之命\n"); 			printf("此命推來骨自輕 求謀作事事難成 妻兒兄弟應難許 別處他鄉作散人\n"); 			break; 		case 24: 			printf("人智巧多能出家求食之人\n"); 			printf("此命推來福祿無 門庭困苦總難翁 六親骨肉皆無靠 流到他鄉作老榮\n"); 			break; 		case 25: 			printf("身閒心不閒九流藝術之人\n"); 			printf("此命推來祖業微 門庭營度以稀奇 六親骨肉如冰炭 一世勤勞自把持\n"); 			break; 		case 26: 			printf("幹辦營運先貧後富勞碌之人\n"); 			printf("平生衣祿苦中求 獨自營謀事不休 離祖出門宜早計 晚來衣祿自無憂\n"); 			break; 		case 27: 			printf("超群出眾聰明進貴衣祿之人\n"); 			printf("一生作靠少商量 難靠祖宗作主張 獨馬單鎗空做去 早年晚歲總無長\n"); 			break; 		case 28: 			printf("自卓為人才能近貴之人\n"); 			printf("一生作事似飄蓬 祖宗產業在夢中 若不過房併改姓 也相移徒二三通\n"); 			break; 		case 29: 			printf("才能客商守權達變智慧之人\n"); 			printf("初年運限未曾享 縱有功名在後成 需過四旬才可上 移居改姓始為良\n"); 			break; 		case 30: 			printf("衣食有餘獨自卓立成家之命\n"); 			printf("勞勞碌碌苦中求 東走西奔何日休 若始終身勤與儉 老來稍可免憂愁\n"); 			break; 		case 31: 			printf("先貧後富近貴藝術衣食足用之人\n"); 			printf("忙忙碌碌苦中求 難得祖基家可立 何日雲開見日預 中年衣食漸無憂\n"); 			break; 		case 32: 			printf("性巧過人百事精衣食到老近貴之人\n"); 			printf("初年運寒事難謀 漸有財源如水流 到得中年衣食旺 那時名利一齊來\n"); 			break; 		case 33: 			printf("衣食豐滿富貴巧藝術智之人\n"); 			printf("易年做事事難成 百計從勞枉費心 半世自如流水去 後來運到得黃金\n"); 			break; 		case 34: 			printf("財榖有餘主得內助爵祿富貴之人\n"); 			printf("此命福氣果如何 僧道門中衣祿多 離祖出家方得妙 終朝拜佛念彌陀\n"); 			break; 		case 35: 			printf("有福祿先難後易過房入贅近富之人\n"); 			printf("生平福星不周全 祖業根基覺少傳 營事生涯宜守舊 時來衣食勝從前\n"); 			break; 		case 36: 			printf("超群拔類乖巧智慧衣祿厚重之人\n"); 			printf("不須勞祿過平生 獨自成家福不輕 早有福星常照命 任君行去百般成\n"); 			break; 		case 37: 			printf("聰明富貴才能厚重有福壽之人\n"); 			printf("此命般般事不成 弟兄少力自孤成 雖然祖業須微有 來得明去時得明\n"); 			break; 		case 38: 			printf("財帛豐厚宜稱之人\n"); 			printf("一生骨肉最清高 早入黌門姓名標 待看年將三十六 藍衫脫去換紅袍\n"); 			break; 		case 39: 			printf("利上近貴有福有祿之人\n"); 			printf("此命終身運不窮 勞勞作事盡皆空 苦心竭力成家計 到得那時在夢中\n"); 			break; 		case 40: 			printf("富貴近益生涯鼎盛機關之命\n"); 			printf("平生衣祿是綿長 件件心中自主張 前面風霜多受過 後來必定享安康\n"); 			break; 		case 41: 			printf("稅戶近貴專才為人衣祿之人\n"); 			printf("此命推來事不同 為人能幹異凡庸 中年還有逍遙福 不比前年運未通\n"); 			break; 		case 42: 			printf("兵權有職富貴才能之人\n"); 			printf("得寬懷處且寬懷 何用隻眉趨不開 若使中年命運濟 那時名利一齊來\n"); 			break; 		case 43: 			printf("財碌厚重白手成家之人\n"); 			printf("為人心性最聰明 作事軒昂近貴人 衣祿一生天數定 不須勞碌是豐亨\n"); 			break; 		case 44: 			printf("好學近貴巧智財祿富厚之人\n"); 			printf("來事由天莫苦求 須知福祿勝前途 當年財帛難如意 晚景欣然便不憂\n"); 			break; 		case 45: 			printf("福祿豐厚極富且貴之人\n"); 			printf("名利推來竟若無 前途辛苦後奔波 命中難養男與女 骨肉扶持也不多\n"); 			break; 		case 46: 			printf("富貴有餘福壽雙全之命\n"); 			printf("東西南北盡皆道 出姓移名更覺隆 衣祿無虧天數定 中年晚景一般同\n"); 			break; 		case 47: 			printf("高官祿厚學業飽滿之人\n"); 			printf("此命推來旺未年 妻榮子貴自怡然 平生原有滔滔禍 可有財源如水源\n"); 			break; 		case 48: 			printf("官員財祿厚重之人\n"); 			printf("幼年運道夫曾亨 若是蹉跎再不與 兄弟六親皆無靠 一身事業晚年成\n"); 			break; 		case 49: 			printf("性巧精神倉庫財祿之命\n"); 			printf("此命推來福不輕 自成自立顧門庭 從來富貴人親近 使婢差奴過一生\n"); 			break; 		case 50: 			printf("文武才能錢榖豐盛之人\n"); 			printf("為利為名終日勞 中年福祿也多遭 老來是有財星照 不比前番目下高\n"); 			break; 		case 51: 			printf("祿厚官職財祿榮華富貴之命\n"); 			printf("一世榮華事事通 不須勞碌自亨通 弟兄叔姪皆如意 家業成時福祿宏\n"); 			break; 		case 52: 			printf("掌握兵權富貴長壽之人\n"); 			printf("一世亨通事事能 不須勞思自然能 宗族欣然心皆好 家業豐亨自稱心\n"); 			break; 		case 53: 			printf("青衣貴人僧道門中近貴之人 \n"); 			printf("此格推來氣象真 興家發達在其中 一生福祿安排定 卻是人間一富翁\n"); 			break; 		case 54: 			printf("有勇有謀威權富貴財祿之命\n"); 			printf("此命推來厚且清 詩書滿腹看功成 豐衣足食自然穩 正是人間有福人\n"); 			break; 		case 55: 			printf("八品官職財祿豐盛之人\n"); 			printf("走馬楊邊爭利名 少年做事費籌論 一朝福祿源源至 富貴榮華顯六親\n"); 			break; 		case 56: 			printf("七品官職長享榮華富貴\n"); 			printf("此格推來禮義通 一生福祿用無盡 甜酸苦辣皆嚐盡 財源滾滾穩且豐\n"); 			break; 		case 57: 			printf("六品官職文章壓眾精通之人\n"); 			printf("福祿盈盈萬事全 一生榮耀顯雙親 名揚威振人欽敬 處世逍遙似遇春\n"); 			break; 		case 58: 			printf("官祿旺相才能性直富貴之人\n"); 			printf("生平福祿自然來 名利兼全福壽偕 雁塔提名為貴客 紫袍金帶走金\n"); 			break; 		case 59: 			printf("五品官職財祿厚重之人\n"); 			printf("細推此格妙且清 必定財高禮義通 甲第之中應有分 揚鞭走馬顯威勞\n"); 			break; 		case 60: 			printf("四品官職榮華福壽財祿之人\n"); 			printf("一朝金榜快提名 顯祖榮宗立大動 衣食定然原裕足 田園財帛更豐盈\n"); 			break; 		case 61: 			printf("法身官掌風雷權柄之人\n"); 			printf("不作朝中金榜克 定為世上一財翁 聰明天付經書熟 明顯高科目是榮\n"); 			break; 		case 62: 			printf("三品官職有權柄之人\n"); 			printf("此命生來福不窮 讀書必定顯親榮 紫夜金帶來卿相 富貴榮華皆可同\n"); 			break; 		case 63: 			printf("指揮太守萬戶封侯之命\n"); 			printf("命主為官福祿長 得來福貴為非常 命題金塔傳金長 定中高科天下揚\n"); 			break; 		case 64: 			printf("二品官職尚書郎之命\n"); 			printf("此格威權不可當 紫袍金帶坐高堂 榮華富貴誰人及 積玉堆金滿儲倉\n"); 			break; 		case 65: 			printf("掌楬權威極大齊福祿之人\n"); 			printf("細推此命福不輕 定國安邦極品人 文繡雕樑微富貴 威聲照耀四方聞\n"); 			break; 		case 66: 			printf("公侯駙馬丕相之命\n"); 			printf("此格人間一福人 堆金積玉滿堂春 從來富貴由天定 正笏垂神謁聖君\n"); 			break; 		case 67: 			printf("英名冠世萬國來朝之人\n"); 			printf("此命生來福自宏 田園家業最高隆 平生衣祿豐盈足 一生榮華萬事通\n"); 			break; 		case 68: 			printf("溫和富貴繁榮極吉之命\n"); 			printf("富貴由天不須求 萬金家計自然豐 十年不比前番事 祖業根基水上舟\n"); 			break; 		case 69: 			printf("惠收高位功名顯達之命\n"); 			printf("君是人間衣祿星 一生富貴眾人欽 安然福祿由天定 安享榮華過一生\n"); 			break; 		case 70: 			printf("權力具備極品上流之命\n"); 			printf("此命推來福不輕 不須愁慮苦勞心 一生天定衣祿興 富貴榮華主一生\n"); 			break; 		case 71: 			printf("此乃大志大業勢如破竹之命也\n"); 			printf("此命生來大不同 公侯將相在其中 一生自有逍遙福 富貴榮華海品隆\n"); 			break; 		case 72: 			printf("此乃罕有生帝王之命也\n"); 			printf("恭喜你中樂透!!\n"); 			break; 		default: break;
  	} } static int chinese_animal(int w) {
  	w = (w < 0) ? w + 1 : w; 	w = w % 12; 	w = (w <= 0) ? w + 12 : w; 	//因為餘數為0,所以沒有這行的話,餘數為0出不來
 
  	return (w); } static void output(int y) { 	switch (y) 	{ 		case 1: printf("生肖:鼠\n"); break; 		case 2: printf("生肖:牛\n"); break; 		case 3: printf("生肖:虎\n"); break; 		case 4: printf("生肖:兔\n"); break; 		case 5: printf("生肖:龍\n"); break; 		case 6: printf("生肖:蛇\n"); break; 		case 7: printf("生肖:馬\n"); break; 		case 8: printf("生肖:羊\n"); break; 		case 9: printf("生肖:猴\n"); break; 		case 10: printf("生肖:雞\n"); break; 		case 11: printf("生肖:狗\n"); break; 		case 12: printf("生肖:豬\n"); break; 	} } int main() {     int y=0,m=0,d=0,t=0; 	int yw, mw, dw, tw, total;     printf("Hello world!\n"); 	printf("輸入生年(民國):\n"); 	scanf("%d",&y); 	printf("輸入生月(舊曆):\n"); 	scanf("%d",&m); 	printf("輸入生日(舊曆):\n"); 	scanf("%d",&d); 	printf("輸入生時(24時):\n"); 	scanf("%d",&t); 	yw = yearw(y);   //生年兩數 	mw = monthw(m);  //生月兩數 	dw = dayw(d);  //生日兩數 	tw = timew(t);  //生辰兩數 	total = yw+mw+dw+tw; 	output(chinese_animal(y)); 	fatecomments(total);  //總兩數和評語     return 0; } 
  | 
 
 
沒有留言:
張貼留言