编程语言
首页 > 编程语言> > C++ 黑科技-文章生成器

C++ 黑科技-文章生成器

作者:互联网

C++ 文章生成器

前言

大家应该都见过用scratch编写的笑话制造机吧,就是拼接主谓宾形成奇怪的句子,我们这次来点硬的:文章生成器

献上代码

#include <string>
#include <windows.h>
#include <conio.h>
#include <fstream>
#include <ctime>
#include <time.h>
#include <stdio.h>
#include <iostream>
using namespace std;
string theme;
string discuss[32] = {
	"现在,解决T的问题,是非常非常重要的。所以,",
	"我们不得不面对一个非常尴尬的事实,那就是,",
	"T的发生,到底需要如何做到,不T的发生,又会如何产生。",
	"而这些并不是完全重要,更加重要的问题是,",
	"T,到底应该如何实现。",
	"带着这些问题,我们来审视一下T。",
	"所谓T,关键是T需要如何写。",
	"我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。",
	"问题的关键究竟为何?",
	"T因何而发生?",
	"每个人都不得不面对这些问题。在面对这种问题时,",
	"一般来讲,我们都必须务必慎重的考虑考虑。",
	"要想清楚,T,到底是一种怎么样的存在。",
	"了解清楚T到底是一种怎么样的存在,是解决一切问题的关键。",
	"就我个人来说,T对我的意义,不能不说非常重大。",
	"本人也是经过了深思熟虑,在每个日日夜夜思考这个问题。",
	"T,发生了会如何,不发生又会如何。",
	"在这种困难的抉择下,本人思来想去,寝食难安。",
	"生活中,若T出现了,我们就不得不考虑它出现了的事实。",
	"这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。",
	"我们都知道,只要有意义,那么就必须慎重考虑。",
	"既然如此,",
	"那么,",
	"我认为,",
	"一般来说,",
	"总结的来说,",
	"既然如何,",
	"经过上述讨论,",
	"这样看来,",
	"从这个角度来看,",
	"可是,即使是这样,T的出现仍然代表了一定的意义。",
	"对我个人而言,T不仅仅是一个重大的事件,还可能会改变我的人生。"
};
string Famous[100] = {
	"伏尔泰F,不经巨大的困难,不会有伟大的事业。B",
	"富勒F,苦难磨炼一些人,也毁灭另一些人。B",
	"文森特?皮尔F,改变你的想法,你就改变了自己的世界。B",
	"拿破仑?希尔F,不要等待,时机永远不会恰到好处。B",
	"塞涅卡F,生命如同寓言,其价值不在与长短,而在与内容。B",
	"奥普拉?温弗瑞F,你相信什么,你就成为什么样的人。B",
	"吕凯特F,生命不可能有两次,但许多人连一次也不善于度过。B",
	"莎士比亚F,人的一生是短的,但如果卑劣地过这一生,就太长了。B",
	"笛卡儿F,我的努力求学没有得到别的好处,只不过是愈来愈发觉自己的无知。B",
	"左拉F,生活的道路一旦选定,就要勇敢地走到底,决不回头。B",
	"米歇潘F,生命是一条艰险的峡谷,只有勇敢的人才能通过。B",
	"吉姆?罗恩F,要么你主宰生活,要么你被生活主宰。B",
	"日本谚语F,不幸可能成为通向幸福的桥梁。B",
	"海贝尔F,人生就是学校。在那里,与其说好的教师是幸福,不如说好的教师是不幸。B",
	"杰纳勒尔?乔治?S?巴顿F,接受挑战,就可以享受胜利的喜悦。B",
	"德谟克利特F,节制使快乐增加并使享受加强。B",
	"裴斯泰洛齐F,今天应做的事没有做,明天再早也是耽误了。B",
	"歌德F,决定一个人的一生,以及整个命运的,只是一瞬之间。B",
	"卡耐基F,一个不注意小事情的人,永远不会成就大事业。B",
	"卢梭F,浪费时间是一桩大罪过。B",
	"康德F,既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。B",
	"克劳斯?莫瑟爵士F,教育需要花费钱,而无知也是一样。B",
	"伏尔泰F,坚持意志伟大的事业需要始终不渝的精神。B",
	"亚伯拉罕?林肯F,你活了多少岁不算什么,重要的是你是如何度过这些岁月的。B",
	"韩非F,内外相应,言行相称。B",
	"富兰克林F,你热爱生命吗?那么别浪费时间,因为时间是组成生命的材料。B",
	"马尔顿F,坚强的信心,能使平凡的人做出惊人的事业。B",
	"笛卡儿F,读一切好书,就是和许多高尚的人谈话。B",
	"塞涅卡F,真正的人生,只有在经过艰难卓绝的斗争之后才能实现。B",
	"易卜生F,伟大的事业,需要决心,能力,组织和责任感。B",
	"歌德F,没有人事先了解自己到底有多大的力量,直到他试过以后才知道。B",
	"达尔文F,敢于浪费哪怕一个钟头时间的人,说明他还不懂得珍惜生命的全部价值。B",
	"佚名F,感激每一个新的挑战,因为它会锻造你的意志和品格。B",
	"奥斯特洛夫斯基F,共同的事业,共同的斗争,可以使人们产生忍受一切的力量。 B",
	"苏轼F,古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。B",
	"王阳明F,故立志者,为学之心也;为学者,立志之事也。B",
	"歌德F,读一本好书,就如同和一个高尚的人在交谈。B",
	"乌申斯基F,学习是劳动,是充满思想的劳动。B",
	"别林斯基F,好的书籍是最贵重的珍宝。B",
	"富兰克林F,读书是易事,思索是难事,但两者缺一,便全无用处。B",
	"鲁巴金F,读书是在别人思想的帮助下,建立起自己的思想。B",
	"培根F,合理安排时间,就等于节约时间。B",
	"屠格涅夫F,你想成为幸福的人吗?但愿你首先学会吃得起苦。B",
	"莎士比亚F,抛弃时间的人,时间也抛弃他。B",
	"叔本华F,普通人只想到如何度过时间,有才能的人设法利用时间。B",
	"博F,一次失败,只是证明我们成功的决心还够坚强。维B",
	"拉罗什夫科F,取得成就时坚持不懈,要比遭到失败时顽强不屈更重要。B",
	"莎士比亚F,人的一生是短的,但如果卑劣地过这一生,就太长了。B",
	"俾斯麦F,失败是坚忍的最后考验。B",
	"池田大作F,不要回避苦恼和困难,挺起身来向它挑战,进而克服它。B",
	"莎士比亚F,那脑袋里的智慧,就像打火石里的火花一样,不去打它是不肯出来的。B",
	"希腊F,最困难的事情就是认识自己。B",
	"黑塞F,有勇气承担命运这才是英雄好汉。B",
	"非洲F,最灵繁的人也看不见自己的背脊。B",
	"培根F,阅读使人充实,会谈使人敏捷,写作使人精确。B",
	"斯宾诺莎F,最大的骄傲于最大的自卑都表示心灵的最软弱无力。B",
	"西班牙F,自知之明是最难得的知识。B",
	"塞内加F,勇气通往天堂,怯懦通往地狱。B",
	"赫尔普斯F,有时候读书是一种巧妙地避开思考的方法。B",
	"笛卡儿F,阅读一切好书如同和过去最杰出的人谈话。B",
	"邓拓F,越是没有本领的就越加自命不凡。B",
	"爱尔兰F,越是无能的人,越喜欢挑剔别人的错儿。B",
	"老子F,知人者智,自知者明。胜人者有力,自胜者强。B",
	"歌德F,意志坚强的人能把世界放在手中像泥块一样任意揉捏。B",
	"迈克尔?F?斯特利F,最具挑战性的挑战莫过于提升自我。B",
	"爱迪生F,失败也是我需要的,它和成功对我一样有价值。B",
	"罗素?贝克F,一个人即使已登上顶峰,也仍要自强不息。B",
	"马云F,最大的挑战和突破在于用人,而用人最大的突破在于信任人。B",
	"雷锋F,自己活着,就是为了使别人过得更美好。B",
	"布尔沃F,要掌握书,莫被书掌握;要为生而读,莫为读而生。B",
	"培根F,要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。B",
	"莫扎特F,谁和我一样用功,谁就会和我一样成功。B",
	"马克思F,一切节省,归根到底都归结为时间的节省。B",
	"莎士比亚F,意志命运往往背道而驰,决心到最后会全部推倒。B",
	"卡莱尔F,过去一切时代的精华尽在书中。B",
	"培根F,深窥自己的心,而后发觉一切的奇迹在你自己。B",
	"罗曼?罗兰F,只有把抱怨环境的心情,化为上进的力量,才是成功的保证。B",
	"孔子F,知之者不如好之者,好之者不如乐之者。B",
	"达?芬奇F,大胆和坚定的决心能够抵得上武器的精良。B",
	"叔本华F,意志是一个强壮的盲人,倚靠在明眼的跛子肩上。B",
	"黑格尔F,只有永远躺在泥坑里的人,才不会再掉进坑里。B",
	"普列姆昌德F,希望的灯一旦熄灭,生活刹那间变成了一片黑暗。B",
	"维龙F,要成功不需要什么特别的才能,只要把你能做的小事做得好就行了。B",
	"郭沫若F,形成天才的决定因素应该是勤奋。B",
	"洛克F,学到很多东西的诀窍,就是一下子不要学很多。B",
	"西班牙F,自己的鞋子,自己知道紧在哪里。B",
	"拉罗什福科F,我们唯一不会改正的缺点是软弱。B",
	"亚伯拉罕?林肯F,我这个人走得很慢,但是我从不后退。B",
	"美华纳F,勿问成功的秘诀为何,且尽全力做你应该做的事吧。B",
	"俾斯麦F,对于不屈不挠的人来说,没有失败这回事。B",
	"阿卜?日?法拉兹F,学问是异常珍贵的东西,从任何源泉吸收都不可耻。B",
	"白哲特F,坚强的信念能赢得强者的心,并使他们变得更坚强。B",
	"查尔斯?史考伯F,一个人几乎可以在任何他怀有无限热忱的事情上成功。B",
	"贝多芬F,卓越的人一大优点是:在不利与艰难的遭遇里百折不饶。B",
	"莎士比亚F,本来无望的事,大胆尝试,往往能成功。B",
	"卡耐基F,我们若已接受最坏的,就再没有什么损失。B",
	"德国F,只有在人群中间,才能认识自己。B",
	"史美尔斯F,书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。B",
	"冯学峰F,当一个人用工作去迎接光明,光明很快就会来照耀着他。B",
	"吉格?金克拉F,如果你能做梦,你就能实现它。B",
};
string bcushion[6] = {
	"这不禁令我深思。",
	"带着这句话,我们还要更加慎重的审视这个问题:",
	"这启发了我,",
	"我希望诸位也能好好地体会这句话。",
	"这句话语虽然很短,但令我浮想联翩。",
	"这似乎解答了我的疑惑。",
};
string fcushion[4] = {
	"曾经说过",
	"在不经意间这样说过",
	"曾经提到过",
	"说过一句富有哲理的话"
};
string makebc() {
	return bcushion[rand() % 6];
}
string makefc() {
	return fcushion[rand() % 4];
}
string makefamous() {
	int ran = rand() % 100;
	string f = "";
	for (int i = 0; i < Famous[ran].size(); i++) {
		if (Famous[ran][i] == 'F') {
			f = f + makefc();
		} else if (Famous[ran][i] == 'B') {
			f = f + makebc();
		} else {
			f = f + Famous[ran][i];
		}
	}
	return f;
}
string makediscuss() {
	int ran = rand() % 32;
	string d = "";
	for (int i = 0; i < discuss[ran].size(); i++) {
		if (discuss[ran][i] == 'T') {
			d = d + theme;
		} else {
			d = d + discuss[ran][i];
		}
	}
	return d;
}
int main() {
	srand((unsigned)time(NULL));
	int word;
	int needpword;
	cout << "生成的文章会存在 文章生成器.txt 也会直接输出" << endl;
	cout << "文章生成器2.4" << endl;
	cout << "请输入主题:";
	cin >> theme;
	cout << "请输入需要字数:";
	cin >> word;
	cout << "请输入一段需要字数:";
	cin >> needpword;
	ofstream outname("文章生成器.txt", ios::binary | ios::app | ios::in | ios::out);
	outname << "  ";
	cout << "  ";
	string paragraph = "";
	string article = "";
	string x = "。";
	while (article.size() < word * 2) {
		int ran = rand() % 50;
		if (paragraph.size() > needpword * 2) {
			if (paragraph[paragraph.size() - 2] == -93
			        && paragraph[paragraph.size() - 1] == -84) {
				paragraph[paragraph.size() - 1] = -93;
				paragraph[paragraph.size() - 2] = -95;
			}
			article += paragraph;
			cout << paragraph << endl << "  ";
			outname << paragraph << endl << "  ";
			paragraph = "";
		} else if (ran < 20) {
			paragraph += makefamous();
		} else {
			paragraph += makediscuss();
		}
	}
	outname <<
	        "--------------------------------分割线-------------------------------" << endl;
}

运行效果

运行效果
文本将保存在txt中,怎样,厉害吧!
在这里插入图片描述

标签:string,ran,生成器,C++,int,paragraph,文章,include,size
来源: https://blog.csdn.net/wangxun20081008/article/details/118398931