A - accept (接受)“世上没有十全十美的人。”你爱一个人,就必须接受其一切,甚至缺点。
B - belief (信任)互相猜度的爱情下场只有分手。
C - care (关心)关心的程度正好表现你对其重视程度。
D - digest (理解)人非圣贤,总有情绪起伏的时候,若对方是“凸”的时候,你何不做“凹”去忍耐、安慰一下呢。
E - enjoy (欣赏)不要只懂埋怨,在鸡蛋里挑骨头。
F - freedom (自由)不要让对方认为跟你结婚就等于被困笼中。
G - give (付出)爱情这种东西不一定是你付出“一”,便会收回“一”。但不付出,便一定没有收获。
H - heart (心)爱情最重要的道具是心,你必须真心对待,用心去爱。
l -independence(独立)每个人都有自己的生存意义,不应过分依赖对方,成为对方的沉重负担,甚至累赘。
J- jealousy (妒忌)适当的吃醋能表示你对对方的重视,但切忌毫不讲理、大发雷霆地吃醋,必惹反感。
K - kiss (吻)一吻胜过千言万语,所以不要吝啬你的红唇
L - love (爱)爱一个人,你必定愿意为其付出,这是最高的境界。
M - mature (成熟)没有人会喜欢对方长年没头没脑地蹦蹦跳跳。
N - natural (自然)不做作、流于自然的爱情才是细水长流的。
O - observe (观察)细心观察爱侣的喜好,不但能更了解对方,更能给其惊喜。
P- protect (保护)做男朋友的当然要保护女朋友,做女朋友的亦要维护对方的尊严。
Q - quarter (宽大)宽大是基本的要诀,对爱侣的一些错误,以宽大的态度原谅他。
R - receive (接受)对于爱侣为你所做的,你应以欣赏的态度去接受,这才能令感情更进一步。
S - share (分享)若你爱一个人,就必能与其分享喜与哀,这是作为一个伴侣最简单的责任。
T - tender (温柔)爱人当然要温柔地爱,因为男人女人缺乏温柔都不可爱。
U - understand(明白)站在对方立场,将心比心地想,必定能更了解对方。
v - veracity (诚实)互相欺骗的感情又怎能天长地久呢?
W - wait (等待)最重要的是你要与爱侣同步成长,同步走完这段人生路。
X - “x” (乘法符号)把你对爱侣的爱每天以倍数地乘上去,爱情自然变成无限大。
Y - yearn (想念)不在一起时,不妨多想念对方,或致电或传呼说句“我很挂念你”。
Z - zest (热情)适当的热情能添加不少乐趣,但切忌过分热情。
把字母对应的寓意用C实现如下
#include <stdio.h>
#include <map>
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
//二分法查找
int binarySearchChar(const char *list, char item, int len);
//英文字母对应的解释
void explainLetters(vector<string>& vecStrs);
//交互输入结果
void printExplain(vector<string>& vecStrs,const char* lettersUp, const char* lettersLow, const int nums);
int main()
{
const int nums = 26;
const char* lettersUp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//const char lettersUp[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char* lettersLow = "abcdefghijklmnopqrstuvwxyz";
vector<string> vecStrs;
explainLetters(vecStrs);
printExplain( vecStrs, lettersUp, lettersLow, nums);
return 0;
}
//二分法查找
int binarySearchChar(const char *list, char item, int len)
{
int low = 0;
int high = len;
while (low <= high)
{
int mid = (low + high) / 2;
int guess = list[mid];
if (guess == item)
{
return mid;
}
else if (guess > item)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
return -1; //number not found
}
void explainLetters(vector<string>& vecStrs)
{
string strs = " ";
//a
strs = "accept (接受) 世上没有十全十美的人。你爱一个人,就必须接受其一切,甚至缺点。\n";
vecStrs.push_back(strs);
//b
strs = "belief (信任)互相猜度的友情、爱情、亲情下场只有nothing。\n";
vecStrs.push_back(strs);
//c
strs = "care (关心)关心的程度正好表现你对其重视程度。\n";
vecStrs.push_back(strs);
//d
strs = "digest (理解)人非圣贤,总有情绪起伏的时候,若对方是“凸”的时候,你何不做“凹”去忍耐、安慰一下呢。 \n";
vecStrs.push_back(strs);
//e
strs = "enjoy (欣赏)不要只懂埋怨,在鸡蛋里挑骨头。 \n";
vecStrs.push_back(strs);
//f
strs = "freedom (自由)不要让对方认为跟你相识相交就等于被困笼中。\n";
vecStrs.push_back(strs);
//g
strs = "give (付出)生活中很多东西不一定是你付出“一”,便会收回“一”。但不付出,便一定没有收获。\n";
vecStrs.push_back(strs);
//h
strs = "heart (心)生活最重要的道具是心,你必须真心对待,用心去爱。 \n";
vecStrs.push_back(strs);
//i
strs = "independence(独立)每个人都有自己的生存意义,不应过分依赖对方,成为对方的沉重负担,甚至累赘。\n";
vecStrs.push_back(strs);
//j
strs = "jealousy (妒忌)适当的吃醋能表示你对对方的重视,但切忌毫不讲理、大发雷霆地吃醋,必惹反感。 \n";
vecStrs.push_back(strs);
//k
strs = "kiss (吻)一吻胜过千言万语,所以不要吝啬你的红唇\n";
vecStrs.push_back(strs);
//l
strs = "love (爱)爱一个人,你必定愿意为其付出,这是最高的境界。 \n";
vecStrs.push_back(strs);
//m
strs = "mature (成熟)没有人会喜欢对方长年没头没脑地蹦蹦跳跳。\n";
vecStrs.push_back(strs);
//n
strs = "natural (自然)不做作、流于自然的爱情才是细水长流的。 \n";
vecStrs.push_back(strs);
//o
strs = "observe (观察)细心观察爱侣的喜好,不但能更了解对方,更能给其惊喜。\n";
vecStrs.push_back(strs);
//p
strs = "protect (保护)做男朋友的当然要保护女朋友,做女朋友的亦要维护对方的尊严。 \n";
vecStrs.push_back(strs);
//q
strs = "quarter (宽大)宽大是基本的要诀,对爱侣的一些错误,以宽大的态度原谅他。 \n";
vecStrs.push_back(strs);
//r
strs = "receive (接受)对于爱侣为你所做的,你应以欣赏的态度去接受,这才能令感情更进一步。 \n";
vecStrs.push_back(strs);
//s
strs = "share (分享)若你爱一个人,就必能与其分享喜与哀,这是作为一个伴侣最简单的责任。 \n";
vecStrs.push_back(strs);
//t
strs = "tender (温柔)爱人当然要温柔地爱,因为男人女人缺乏温柔都不可爱。 \n";
vecStrs.push_back(strs);
//u
strs = "understand(明白)站在对方立场,将心比心地想,必定能更了解对方。 \n";
vecStrs.push_back(strs);
//v
strs = "veracity (诚实)互相欺骗的感情又怎能天长地久呢? \n";
vecStrs.push_back(strs);
//w
strs = "wait (等待)最重要的是你要与爱侣同步成长,同步走完这段人生路。 \n";
vecStrs.push_back(strs);
//x
strs = "“x” (乘法符号)把你对爱侣的爱每天以倍数地乘上去,爱情自然变成无限大。 \n";
vecStrs.push_back(strs);
//y
strs = "yearn (想念)不在一起时,不妨多想念对方,或致电或传呼说句“我很挂念你”。\n";
vecStrs.push_back(strs);
//z
strs = "zest (热情)适当的热情能添加不少乐趣,但切忌过分热情。 \n";
vecStrs.push_back(strs);
}
void printExplain(vector<string>& vecStrs, const char* lettersUp, const char* lettersLow, const int nums)
{
char words[256] = " ";
int index = 0;
bool out = false;
char aLetter = ' ';
string sw = " ";
//在屏幕交互输入字符
while (true)
{
//get_words(words);
cout << "26个英文字母的爱情哲理寓意" << endl;
cout << "please enter a letter(english)! or input exit/quit close it" << endl;
fgets(words, 10, stdin);
sw = words;
//输入空格退出程序
if (sw == "exit\n" || sw == "quit\n") break;
aLetter = words[0];
//断判字母的大小写
if (aLetter >= 'A' && aLetter <= 'Z')
{
index = binarySearchChar(lettersUp, aLetter, nums);
}
else
{
index = binarySearchChar(lettersLow, aLetter, nums);
}
//如何输入的不是字母
if (-1 == index)
{
cout << "pleas enter letters" << endl;
}
//输出英文字母对应的说明
cout << vecStrs[index].c_str() << endl;
}
}
把对应的图片放在Images文件夹下,用opencv读显示图片在出现文字解释时。
#include <stdio.h>
#include <map>
#include <algorithm>
#include <iostream>
#include <vector>
#include <opencv.hpp>
using namespace std;
using namespace cv;
//二分法查找
int binarySearchChar(const char *list, char item, int len);
//英文字母对应的解释
void explainLetters(vector<string>& vecStrs);
//交互输入结果
void printExplain(vector<string>& vecStrs, const char* lettersUp, const char* lettersLow, const int nums);
int main()
{
const int nums = 26;
const char* lettersUp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//const char lettersUp[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char* lettersLow = "abcdefghijklmnopqrstuvwxyz";
vector<string> vecStrs;
explainLetters(vecStrs);
printExplain(vecStrs, lettersUp, lettersLow, nums);
return 0;
}
//二分法查找
int binarySearchChar(const char *list, char item, int len)
{
int low = 0;
int high = len;
while (low <= high)
{
int mid = (low + high) / 2;
int guess = list[mid];
if (guess == item)
{
return mid;
}
else if (guess > item)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
return -1; //number not found
}
void explainLetters(vector<string>& vecStrs)
{
string strs = " ";
//a
strs = "accept (接受) 世上没有十全十美的人。你爱一个人,就必须接受其一切,甚至缺点。\n";
vecStrs.push_back(strs);
//b
strs = "belief (信任)互相猜度的友情、爱情、亲情下场只有nothing。\n";
vecStrs.push_back(strs);
//c
strs = "care (关心)关心的程度正好表现你对其重视程度。\n";
vecStrs.push_back(strs);
//d
strs = "digest (理解)人非圣贤,总有情绪起伏的时候,若对方是“凸”的时候,你何不做“凹”去忍耐、安慰一下呢。 \n";
vecStrs.push_back(strs);
//e
strs = "enjoy (欣赏)不要只懂埋怨,在鸡蛋里挑骨头。 \n";
vecStrs.push_back(strs);
//f
strs = "freedom (自由)不要让对方认为跟你相识相交就等于被困笼中。\n";
vecStrs.push_back(strs);
//g
strs = "give (付出)生活中很多东西不一定是你付出“一”,便会收回“一”。但不付出,便一定没有收获。\n";
vecStrs.push_back(strs);
//h
strs = "heart (心)生活最重要的道具是心,你必须真心对待,用心去爱。 \n";
vecStrs.push_back(strs);
//i
strs = "independence(独立)每个人都有自己的生存意义,不应过分依赖对方,成为对方的沉重负担,甚至累赘。\n";
vecStrs.push_back(strs);
//j
strs = "jealousy (妒忌)适当的吃醋能表示你对对方的重视,但切忌毫不讲理、大发雷霆地吃醋,必惹反感。 \n";
vecStrs.push_back(strs);
//k
strs = "kiss (吻)一吻胜过千言万语,所以不要吝啬你的红唇\n";
vecStrs.push_back(strs);
//l
strs = "love (爱)爱一个人,你必定愿意为其付出,这是最高的境界。 \n";
vecStrs.push_back(strs);
//m
strs = "mature (成熟)没有人会喜欢对方长年没头没脑地蹦蹦跳跳。\n";
vecStrs.push_back(strs);
//n
strs = "natural (自然)不做作、流于自然的爱情才是细水长流的。 \n";
vecStrs.push_back(strs);
//o
strs = "observe (观察)细心观察爱侣的喜好,不但能更了解对方,更能给其惊喜。\n";
vecStrs.push_back(strs);
//p
strs = "protect (保护)做男朋友的当然要保护女朋友,做女朋友的亦要维护对方的尊严。 \n";
vecStrs.push_back(strs);
//q
strs = "quarter (宽大)宽大是基本的要诀,对爱侣的一些错误,以宽大的态度原谅他。 \n";
vecStrs.push_back(strs);
//r
strs = "receive (接受)对于爱侣为你所做的,你应以欣赏的态度去接受,这才能令感情更进一步。 \n";
vecStrs.push_back(strs);
//s
strs = "share (分享)若你爱一个人,就必能与其分享喜与哀,这是作为一个伴侣最简单的责任。 \n";
vecStrs.push_back(strs);
//t
strs = "tender (温柔)爱人当然要温柔地爱,因为男人女人缺乏温柔都不可爱。 \n";
vecStrs.push_back(strs);
//u
strs = "understand(明白)站在对方立场,将心比心地想,必定能更了解对方。 \n";
vecStrs.push_back(strs);
//v
strs = "veracity (诚实)互相欺骗的感情又怎能天长地久呢? \n";
vecStrs.push_back(strs);
//w
strs = "wait (等待)最重要的是你要与爱侣同步成长,同步走完这段人生路。 \n";
vecStrs.push_back(strs);
//x
strs = "“x” (乘法符号)把你对爱侣的爱每天以倍数地乘上去,爱情自然变成无限大。 \n";
vecStrs.push_back(strs);
//y
strs = "yearn (想念)不在一起时,不妨多想念对方,或致电或传呼说句“我很挂念你”。\n";
vecStrs.push_back(strs);
//z
strs = "zest (热情)适当的热情能添加不少乐趣,但切忌过分热情。 \n";
vecStrs.push_back(strs);
}
void printExplain(vector<string>& vecStrs, const char* lettersUp, const char* lettersLow, const int nums)
{
char words[256] = " ";
int index = 0;
bool out = false;
char aLetter = ' ';
string sw = " ";
//在屏幕交互输入字符
while (true)
{
//get_words(words);
cout << "26个英文字母的爱情哲理寓意" << endl;
cout << "please enter a letter(english)! or input exit/quit close it" << endl;
fgets(words, 10, stdin);
sw = words;
//输入----退出程序
if (sw == "exit\n" || sw == "quit\n") break;
aLetter = words[0];
//断判字母的大小写
if (aLetter >= 'A' && aLetter <= 'Z')
{
index = binarySearchChar(lettersUp, aLetter, nums);
}
else
{
index = binarySearchChar(lettersLow, aLetter, nums);
}
//如何输入的不是字母
if (-1 == index)
{
cout << "pleas enter letters" << endl;
}
//将c++一个字符转化成字符串
char pathChar = lettersLow[index];
string pathStr = " ";
char Chars[2] = { pathChar, 0 };
pathStr = Chars;
string pathStr1 = "images/";
string pathImages = pathStr1.append(pathStr.append(".jpg"));
cout << vecStrs[index].c_str() << endl;
Mat images = imread(pathImages);
imshow("LOVE", images);
waitKey(0);
}
}