C語言實現(xiàn)的程序員老黃歷實例
更新時間:2015年07月09日 12:14:49 作者:kevin0216
這篇文章主要介紹了C語言實現(xiàn)的程序員老黃歷,涉及日期的判定及流程控制的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C語言實現(xiàn)的程序員老黃歷。分享給大家供大家參考。具體如下:
以前看到過一個jquery程序員老黃歷頁面,覺得挺有創(chuàng)意的,自己閑著用C語言也寫了一個,基本就是隨機數(shù)的生成,沒什么難度,大家隨便看看,高手請繞過此篇,控制臺程序沒什么美觀可言,已經(jīng)盡量弄得好看點了。
#include <stdio.h> #include <time.h> int random(int dayseed,int indexseed) //根據(jù)當(dāng)前時間“天 ”產(chǎn)生偽隨機數(shù)。 { int i,n; n = dayseed % 11117; for (i = 0; i < 100 + indexseed; i++) { n = n * n; n = n % 11117; // 11117 是個質(zhì)數(shù) } return n; } int isWeekend(struct tm *p) { return p->tm_wday == 0 || p->tm_wday == 6; } int main(int argc, char *argv[]) { char *weeks[6] = {"一","二","三","四","五","六","日"}; printf("|-------------------------------------|\n"); printf("| 程序員老黃歷beta 1.0 |\n"); printf("|-------------------------------------|\n"); time_t timep; struct tm *p; time(&timep); p =localtime(&timep); //此函數(shù)獲得的tm結(jié)構(gòu)體的時間,是已經(jīng)進行過時區(qū)轉(zhuǎn)化為本地時間 printf("|-------------------------------------|\n"); printf("| 今天是%d年%d月%d日 星期%s |\n",1900+p->tm_year,1+p->tm_mon,p->tm_mday,weeks[p->tm_wday-1]); printf("|-------------------------------------|\n"); int randNum=random(p->tm_mday, 2);//產(chǎn)生偽隨機數(shù) int randNum1=random(p->tm_mday, 3); char *activities[27][3] = { {"寫單元測試", "寫單元測試將減少出錯","寫單元測試會降低你的開發(fā)效率"}, {"白天上線", "今天白天上線是安全的","可能導(dǎo)致災(zāi)難性后果"}, {"重構(gòu)", "代碼質(zhì)量得到提高","你很有可能會陷入泥潭"}, {"使用%t", "你看起來更有品位","別人會覺得你在裝逼"}, {"跳槽", "該放手時就放手","鑒于當(dāng)前的經(jīng)濟形勢,你的下一份工作未必比現(xiàn)在強"}, {"招人", "你遇到千里馬的可能性大大增加","你只會招到一兩個混飯吃的外行"}, {"面試", "面試官今天心情很好","面試官不爽,會拿你出氣"}, {"提交辭職申請", "公司找到了一個比你更能干更便宜的家伙,巴不得你趕快滾蛋","鑒于當(dāng)前的經(jīng)濟形勢,你的下一份工作未必比現(xiàn)在強"}, {"申請加薪", "老板今天心情很好","公司正在考慮裁員"}, {"晚上加班", "晚上是程序員精神最好的時候","", }, {"命名變量\"%v\"", "",""}, {"寫超過%l行的方法", "你的代碼組織的很好,長一點沒關(guān)系","你的代碼將混亂不堪,你自己都看不懂"}, {"提交代碼", "遇到?jīng)_突的幾率是最低的","你遇到的一大堆沖突會讓你覺得自己是不是時間穿越了"}, {"代碼復(fù)審", "發(fā)現(xiàn)重要問題的幾率大大增加","你什么問題都發(fā)現(xiàn)不了,白白浪費時間"}, {"開會", "寫代碼之余放松一下打個盹,有益健康","你會被扣屎盆子背黑鍋"}, {"晚上上線", "晚上是程序員精神最好的時候","你白天已經(jīng)筋疲力盡了"}, {"修復(fù)BUG", "你今天對BUG的嗅覺大大提高","新產(chǎn)生的BUG將比修復(fù)的更多"}, {"設(shè)計評審", "設(shè)計評審會議將變成頭腦風(fēng)暴","人人筋疲力盡,評審就這么過了"}, {"需求評審", "",""}, {"打DOTA", "你將有如神助","你會被虐的很慘", }, //這里往下的是周末特定情況 (19-27) {"洗澡", "你幾天沒洗澡了?","會把設(shè)計方面的靈感洗掉", }, {"鍛煉一下身體", "","能量沒消耗多少,吃得卻更多", }, {"抽煙", "抽煙有利于提神,增加思維敏捷","除非你活夠了,死得早點沒關(guān)系", }, {"在妹子面前吹牛", "改善你矮窮挫的形象","會被識破", }, {"擼管", "避免緩沖區(qū)溢出","強擼灰飛煙滅", }, {"瀏覽成人網(wǎng)站", "重拾對生活的信心","你會心神不寧", }, {"上微博", "今天發(fā)生的事不能錯過","會看到令人心情不好的事", }, {"上AB站", "還需要理由嗎?","滿屏的兄貴我會說出來?", } }; printf("|-------------------------------------|\n"); if(isWeekend(p)) printf("| 宜: \n| %2s\n| %s\n",activities[19+randNum%8][0],activities[randNum%27][1]); else printf("| 宜: \n| %2s\n| %s\n",activities[randNum%17][0],activities[randNum%27][1]); printf("|-------------------------------------|\n"); printf("|-------------------------------------|\n"); if(isWeekend(p)) printf("| 不宜:\n| %s\n| %s\n",activities[19+randNum1%8][0],activities[randNum1%27][2]); else printf("| 不宜:\n| %s\n| %s\n",activities[randNum1%17][0],activities[randNum1%27][2]); printf("|-------------------------------------|\n"); /*座位朝向*/ char *directions[8]= {"北方","東北方","東方","東南方","南方","西南方","西方","西北方"}; printf("|-------------------------------------|\n"); printf("| 座位朝向:面向 %s 寫程序,BUG 最少.\n",directions[randNum%8]); /*今日宜飲*/ char *drinks[14] = {"水","茶","紅茶","綠茶","咖啡","奶茶","可樂","牛奶","豆奶","果汁","果味汽水","蘇打水","運動飲料","酸奶","酒"}; printf("|-------------------------------------|\n"); printf("| 今日宜飲:%s,%s\n",drinks[randNum%14],drinks[randNum1%14]); /*女神親近指數(shù)*/ int ambiguous = randNum%10; printf("|-------------------------------------|\n"); if(10==ambiguous) printf("| 親近指數(shù)為10,上吧,騷年!\n"); else printf("| 女神親近指數(shù):%d \n",ambiguous); printf("|-------------------------------------|\n"); return 0; }
運行效果如下圖所示:
希望本文所述對大家的C語言程序設(shè)計有所幫助。
您可能感興趣的文章:
相關(guān)文章
C語言中關(guān)于庫函數(shù) qsort 的模擬實現(xiàn)過程
庫函數(shù)的模擬實現(xiàn)有利于我們?nèi)ド钊肓私膺@個函數(shù)內(nèi)部是怎樣實現(xiàn)的,以及學(xué)習(xí)它的算法,使我們更加了解這個函數(shù)該怎樣去使用,接下來我將詳細的介紹qsort的應(yīng)用及用法,并且用代碼模擬實現(xiàn)它們的功能2021-09-09C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼
C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼,需要的朋友可以參考一下2013-03-03