2017-12-16 6 views
-9
string str; 

    str = "  General Knowledge Test  "; 

    cout << string(39, ' ') << string (37 , '-') << "\n"; 

    cout << string(39, ' ') << "|" << str<< "|\n "; 

    cout << string(38, ' ') << string (37 , '-') << "\n"; 

    cout << string(39, ' ') << "|"<< string (35 , ' ') << "|"<< "\n"; 

    cout << string(39, ' ') << "|" << " > Pentru a continua apasa 'k'  |\n "; 

    cout << string(38, ' ') << "|" << " > Pentru ajutor apasa 'a'   |\n "; 

    cout << string(38, ' ') << "|" << " > Pentru raspunsuri apasa 'r'  |\n "; 

    cout << string(38, ' ') << "|" << " > Pentru high score apasa 'h'  |\n "; 

    cout << string(38, ' ') << "|" << " > Pentru a iesi apasa 'q'   |\n "; 

    cout << string(38, ' ') << "|"<< string (35 , ' ') << "|"<< "\n"; 

    cout << string(39, ' ') << string (37 , '-') << "\n\n"; 

答えて

1

あなたは、静的出力の可読性と保守性を向上させるためにリテラル生の文字列を使用することができます。

#include <iostream> 
#include <string> 


int main(){ 
    std::string str = 
R"(          ------------------------------------- 
             |  General Knowledge Test  | 
             ------------------------------------- 
             |         | 
             | > Pentru a continua apasa 'k'  | 
             | > Pentru ajutor apasa 'a'   | 
             | > Pentru raspunsuri apasa 'r'  | 
             | > Pentru high score apasa 'h'  | 
             | > Pentru a iesi apasa 'q'   | 
             |         | 
             -------------------------------------)"; 
    std::cout << str; 
} 

live demoを参照してください。もちろん


あなたもstd::vector<std::string>を使用することができます(それは必ずしも最適ではありません):

#include <iostream> 
#include <iomanip> 
#include <string> 
#include <vector> 

int main(){ 
    std::vector<std::string> strs { 
"-------------------------------------", 
"|  General Knowledge Test  |", 
"-------------------------------------", 
"|         |", 
"| > Pentru a continua apasa 'k'  |", 
"| > Pentru ajutor apasa 'a'   |", 
"| > Pentru raspunsuri apasa 'r'  |", 
"| > Pentru high score apasa 'h'  |", 
"| > Pentru a iesi apasa 'q'   |", 
"|         |", 
"-------------------------------------" 
}; 
    for(auto str : strs) { 
     std::cout << std::setw(70) << std::right << str << '\n'; 
    } 
} 

は、ここで再びlive demoです。

+0

ありがとうございました –

+0

@MădeanDenis質問の質を向上させ、否定的な投票を取り除くには、疑問文に文章を追加して、あなたのコードで_optimized_を正確に説明してください。私はそれが主に読みやすさに関するものだと推測しなければならなかった。 – user0042

関連する問題