C語言實(shí)現(xiàn)的程序員老黃歷實(shí)例
更新時(shí)間:2015年07月09日 12:14:49 作者:kevin0216
這篇文章主要介紹了C語言實(shí)現(xiàn)的程序員老黃歷,涉及日期的判定及流程控制的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C語言實(shí)現(xiàn)的程序員老黃歷。分享給大家供大家參考。具體如下:
以前看到過一個(gè)jquery程序員老黃歷頁面,覺得挺有創(chuàng)意的,自己閑著用C語言也寫了一個(gè),基本就是隨機(jī)數(shù)的生成,沒什么難度,大家隨便看看,高手請繞過此篇,控制臺程序沒什么美觀可言,已經(jīng)盡量弄得好看點(diǎn)了。
#include <stdio.h>
#include <time.h>
int random(int dayseed,int indexseed)
//根據(jù)當(dāng)前時(shí)間“天 ”產(chǎn)生偽隨機(jī)數(shù)。
{
int i,n;
n = dayseed % 11117;
for (i = 0; i < 100 + indexseed; i++)
{
n = n * n;
n = n % 11117; // 11117 是個(gè)質(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)體的時(shí)間,是已經(jīng)進(jìn)行過時(shí)區(qū)轉(zhuǎn)化為本地時(shí)間
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)生偽隨機(jī)數(shù)
int randNum1=random(p->tm_mday, 3);
char *activities[27][3] = {
{"寫單元測試", "寫單元測試將減少出錯(cuò)","寫單元測試會降低你的開發(fā)效率"},
{"白天上線", "今天白天上線是安全的","可能導(dǎo)致災(zāi)難性后果"},
{"重構(gòu)", "代碼質(zhì)量得到提高","你很有可能會陷入泥潭"},
{"使用%t", "你看起來更有品位","別人會覺得你在裝逼"},
{"跳槽", "該放手時(shí)就放手","鑒于當(dāng)前的經(jīng)濟(jì)形勢,你的下一份工作未必比現(xiàn)在強(qiáng)"},
{"招人", "你遇到千里馬的可能性大大增加","你只會招到一兩個(gè)混飯吃的外行"},
{"面試", "面試官今天心情很好","面試官不爽,會拿你出氣"},
{"提交辭職申請", "公司找到了一個(gè)比你更能干更便宜的家伙,巴不得你趕快滾蛋","鑒于當(dāng)前的經(jīng)濟(jì)形勢,你的下一份工作未必比現(xiàn)在強(qiáng)"},
{"申請加薪", "老板今天心情很好","公司正在考慮裁員"},
{"晚上加班", "晚上是程序員精神最好的時(shí)候","", },
{"命名變量\"%v\"", "",""},
{"寫超過%l行的方法", "你的代碼組織的很好,長一點(diǎn)沒關(guān)系","你的代碼將混亂不堪,你自己都看不懂"},
{"提交代碼", "遇到?jīng)_突的幾率是最低的","你遇到的一大堆沖突會讓你覺得自己是不是時(shí)間穿越了"},
{"代碼復(fù)審", "發(fā)現(xiàn)重要問題的幾率大大增加","你什么問題都發(fā)現(xiàn)不了,白白浪費(fèi)時(shí)間"},
{"開會", "寫代碼之余放松一下打個(gè)盹,有益健康","你會被扣屎盆子背黑鍋"},
{"晚上上線", "晚上是程序員精神最好的時(shí)候","你白天已經(jīng)筋疲力盡了"},
{"修復(fù)BUG", "你今天對BUG的嗅覺大大提高","新產(chǎn)生的BUG將比修復(fù)的更多"},
{"設(shè)計(jì)評審", "設(shè)計(jì)評審會議將變成頭腦風(fēng)暴","人人筋疲力盡,評審就這么過了"},
{"需求評審", "",""},
{"打DOTA", "你將有如神助","你會被虐的很慘", }, //這里往下的是周末特定情況 (19-27)
{"洗澡", "你幾天沒洗澡了?","會把設(shè)計(jì)方面的靈感洗掉", },
{"鍛煉一下身體", "","能量沒消耗多少,吃得卻更多", },
{"抽煙", "抽煙有利于提神,增加思維敏捷","除非你活夠了,死得早點(diǎn)沒關(guān)系", },
{"在妹子面前吹牛", "改善你矮窮挫的形象","會被識破", },
{"擼管", "避免緩沖區(qū)溢出","強(qiáng)擼灰飛煙滅", },
{"瀏覽成人網(wǎng)站", "重拾對生活的信心","你會心神不寧", },
{"上微博", "今天發(fā)生的事不能錯(cuò)過","會看到令人心情不好的事", },
{"上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] = {"水","茶","紅茶","綠茶","咖啡","奶茶","可樂","牛奶","豆奶","果汁","果味汽水","蘇打水","運(yùn)動飲料","酸奶","酒"};
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;
}
運(yùn)行效果如下圖所示:

希望本文所述對大家的C語言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- jQuery老黃歷完整實(shí)現(xiàn)方法
- 日歷顯示讀出輸入的年月的java代碼
- Java中的Calendar日歷API用法完全解析
- java實(shí)現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義
- 學(xué)習(xí)Java中的日期和時(shí)間處理及Java日歷小程序的編寫
- java制作android 日歷代碼分享
- JavaWeb項(xiàng)目FullCalendar日歷插件使用的示例代碼
- java萬年歷,獲取該年月日歷表
- 使用JavaBean創(chuàng)建您的網(wǎng)上日歷本(2)
- 使用JavaBean創(chuàng)建您的網(wǎng)上日歷本(1)
- Java實(shí)現(xiàn)的程序員老黃歷實(shí)例
相關(guān)文章
C/C++實(shí)現(xiàn)FTP文件上傳下載的示例詳解
FTP(文件傳輸協(xié)議)是一種用于在網(wǎng)絡(luò)上傳輸文件的標(biāo)準(zhǔn)協(xié)議,這篇文章主要為大家詳細(xì)介紹了C++如何實(shí)現(xiàn)FTP文件上傳下載功能,需要的小伙伴可以參考下2023-12-12
C++探索構(gòu)造函數(shù)私有化會產(chǎn)生什么結(jié)果
C++的構(gòu)造函數(shù)的作?:初始化類對象的數(shù)據(jù)成員。即類的對象被創(chuàng)建的時(shí)候,編譯系統(tǒng)對該對象分配內(nèi)存空間,并?動調(diào)?構(gòu)造函數(shù),完成類成員的初始化。構(gòu)造函數(shù)的特點(diǎn):以類名作為函數(shù)名,?返回類型2022-05-05

