C语言实现的程序员老黄历实例
更新时间:2020年4月25日 17:39 点击:2004
本文实例讲述了C语言实现的程序员老黄历。分享给大家供大家参考。具体如下:
以前看到过一个jquery程序员老黄历页面,觉得挺有创意的,自己闲着用C语言也写了一个,基本就是随机数的生成,没什么难度,大家随便看看,高手请绕过此篇,控制台程序没什么美观可言,已经尽量弄得好看点了。
#include <stdio.h> #include <time.h> int random(int dayseed,int indexseed) //根据当前时间“天 ”产生伪随机数。 { int i,n; n = dayseed % 11117; for (i = 0; i < 100 + indexseed; i++) { n = n * n; n = n % 11117; // 11117 是个质数 } 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); //此函数获得的tm结构体的时间,是已经进行过时区转化为本地时间 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);//产生伪随机数 int randNum1=random(p->tm_mday, 3); char *activities[27][3] = { {"写单元测试", "写单元测试将减少出错","写单元测试会降低你的开发效率"}, {"白天上线", "今天白天上线是安全的","可能导致灾难性后果"}, {"重构", "代码质量得到提高","你很有可能会陷入泥潭"}, {"使用%t", "你看起来更有品位","别人会觉得你在装逼"}, {"跳槽", "该放手时就放手","鉴于当前的经济形势,你的下一份工作未必比现在强"}, {"招人", "你遇到千里马的可能性大大增加","你只会招到一两个混饭吃的外行"}, {"面试", "面试官今天心情很好","面试官不爽,会拿你出气"}, {"提交辞职申请", "公司找到了一个比你更能干更便宜的家伙,巴不得你赶快滚蛋","鉴于当前的经济形势,你的下一份工作未必比现在强"}, {"申请加薪", "老板今天心情很好","公司正在考虑裁员"}, {"晚上加班", "晚上是程序员精神最好的时候","", }, {"命名变量\"%v\"", "",""}, {"写超过%l行的方法", "你的代码组织的很好,长一点没关系","你的代码将混乱不堪,你自己都看不懂"}, {"提交代码", "遇到冲突的几率是最低的","你遇到的一大堆冲突会让你觉得自己是不是时间穿越了"}, {"代码复审", "发现重要问题的几率大大增加","你什么问题都发现不了,白白浪费时间"}, {"开会", "写代码之余放松一下打个盹,有益健康","你会被扣屎盆子背黑锅"}, {"晚上上线", "晚上是程序员精神最好的时候","你白天已经筋疲力尽了"}, {"修复BUG", "你今天对BUG的嗅觉大大提高","新产生的BUG将比修复的更多"}, {"设计评审", "设计评审会议将变成头脑风暴","人人筋疲力尽,评审就这么过了"}, {"需求评审", "",""}, {"打DOTA", "你将有如神助","你会被虐的很惨", }, //这里往下的是周末特定情况 (19-27) {"洗澡", "你几天没洗澡了?","会把设计方面的灵感洗掉", }, {"锻炼一下身体", "","能量没消耗多少,吃得却更多", }, {"抽烟", "抽烟有利于提神,增加思维敏捷","除非你活够了,死得早点没关系", }, {"在妹子面前吹牛", "改善你矮穷挫的形象","会被识破", }, {"撸管", "避免缓冲区溢出","强撸灰飞烟灭", }, {"浏览成人网站", "重拾对生活的信心","你会心神不宁", }, {"上微博", "今天发生的事不能错过","会看到令人心情不好的事", }, {"上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]); /*女神亲近指数*/ int ambiguous = randNum%10; printf("|-------------------------------------|\n"); if(10==ambiguous) printf("| 亲近指数为10,上吧,骚年!\n"); else printf("| 女神亲近指数:%d \n",ambiguous); printf("|-------------------------------------|\n"); return 0; }
运行效果如下图所示:
希望本文所述对大家的C语言程序设计有所帮助。
上一篇: C语言获取消耗内存的方法
下一篇: C++学习小结之数据类型及转换方式
相关文章
- 这篇文章主要为大家详细介绍了C语言实现放烟花的程序,有音乐播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-23
- 本篇文章主要介绍C语言中char的知识,并附有代码实例,以便大家在学习的时候更好的理解,有需要的可以看一下...2020-04-25
- 这篇文章主要介绍了详解如何将c语言文件打包成exe可执行程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-25
- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- 这篇文章主要介绍了C语言中计算正弦的相关函数总结,包括正弦和双曲线正弦以及反正弦的函数,需要的朋友可以参考下...2020-04-25
详解C语言中的rename()函数和remove()函数的使用方法
这篇文章主要介绍了详解C语言中的rename()函数和remove()函数的使用方法,是C语言入门学习中的基础知识,需要的朋友可以参考下...2020-04-25- 这篇文章主要介绍了C语言中求和、计算平均值、方差和标准差的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-10
- 本篇文章主要讲解C语言 基本语法,这里提供简单的示例和代码来详细讲解C语言的基本语法,开始学习C语言的朋友可以看一下,希望能够给你带来帮助...2021-09-18
- 这篇文章主要介绍了C语言中send()函数和sendto()函数的使用方法,是C语言入门学习中的基础知识,需要的朋友可以参考下...2020-04-25
- 今天小编就为大家分享一篇C语言实现从文件读入一个3*3数组,并计算每行的平均值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-25
- 这篇文章主要介绍了C语言中memcpy 函数的用法详解的相关资料,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了使用C语言操作文件的基本函数整理,包括创建和打开以及关闭文件的操作方法,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了C语言中查找字符在字符串中出现的位置的方法,分别是strchr()函数和strrchr()函数的使用,需要的朋友可以参考下...2020-04-25
- 很多同学在学习c语言的时候是不是会碰到a++和++a都有甚么作用啊。今天我们就来探讨下...2020-04-25
- 这篇文章主要对C语言中const关键字的用法进行了详细的分析介绍,需要的朋友可以参考下...2020-04-25
- 下面小编就为大家带来一篇C语言实现时间戳转日期的算法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
- 这篇文章主要介绍了C语言之整数划分问题(递归法)实例代码的相关资料,需要的朋友可以参考下...2020-04-25
C语言正则表达式详解 regcomp() regexec() regfree()用法详解
C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),这里就为大家介绍一下,需要的朋友可以参考一下啊...2020-04-25- 本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。...2020-04-25
- 这篇文章主要介绍了c语言实现找最大值最小值位置查找,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-04