C 如何水平打印大字母
C++ How to print Big letters Horizontally?
例如,A具有打印大" A"
的此功能void printA(){
cout<<"0000000n0 0n0 0n0000000n0 0n0 0n";
}
0000000
0 0
0 0
0000000
0 0
0 0
我有所有字母,有什么方法可以水平打印大字母?喜欢:
0000000 0000000 0000000
0 0 0 0 0 0
0 0 0 0 0 0
0000000 0000000 0000000
0 0 0 0 0 0
0 0 0 0 0 0
该程序的目标是用这些大字母在垂直或水平上打印用户的输入。
这是我程序的恢复版本:
void printA(){
cout<<"0000000n0 0n0 0n0000000n0 0n0 0n"<<endl;
}
void printChar(char c){
c = toupper(c);
if (c=='A')
printA();
}
int main(){
string sentence;
cout<<"enter sentence: ";
cin>> sentence;
for(unsigned int i = 0; i<sentence.length(); i++) {
char c = sentence[i];
if(c=='a')
printA();
}
return 0;
}
我用" n"来保存行,另一个选择是使它们这样的选择:
:void printA(){
cout << "0000000" << endl;
cout << "0 0" << endl;
cout << "0 0" << endl;
cout << "0000000" << endl;
cout << "0 0" << endl;
cout << "0 0" << endl;
}
如果无法以我拥有的方式将它们彼此打印,我会重写它们,但是请告诉我如何以水平形式打印它们:(谢谢!
我有以下警报:
main.cpp:29:23: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
for (char c : text)
^
main.cpp:31:37: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized]
std::cout << alphabet[c - 'A'][line] << " ";
如果您可以以不同的格式存储字符的线条(此处,一个2D数组),例如:
const int LINES_PER_CHAR = 6;
const char* alphabet[][LINES_PER_CHAR] =
{
/* A */ { "0000000", "0 0", "0 0", "0000000", "0 0", "0 0" },
/* B */ { "000 ", "0 0", "0 0", "000 ", "0 0", "0000" }
...
};
…,然后您可以像这样打印字符:
void PrintBigString(const std::string& text)
{
for (int line = 0; line < LINES_PER_CHAR; ++line)
{
for (char c : text)
{
std::cout << alphabet[c - 'A'][line] << " ";
}
std::cout << std::endl;
}
}
理想情况下,您应该添加一项理智检查,以确保您具有字符串中当前字符的模板。
非C 11编译器的变化:
void PrintBigString(const std::string& text)
{
for (int line = 0; line < LINES_PER_CHAR; ++line)
{
for (int i = 0; i < text.size(); ++i)
{
std::cout << alphabet[text[i] - 'A'][line] << " ";
}
std::cout << std::endl;
}
}
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何将结构插入到集合中并打印集合的成员
- 在循环C++中指定字符串之后,不会打印该字符串
- 以螺旋方式打印矩阵的程序.(工作不好)
- QTableView:endMoveRows在模型中重置水平页眉大小
- 从控制台中删除最后打印的元素
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何仅使用对象名称打印特定于对象的成员
- 如何在c ++中以一行(水平)打印两个文件的数据?如给定的.这两种形式来自两个不同的文本文件
- 如何水平排列程序的打印输出循环而不重复
- C 如何水平打印大字母
- 为什么我的打印水平函数不起作用?
- 我将如何水平打印更多块
- 格式化:如何水平打印容器