在一个矩形框中输出一条问候语

来源:互联网 发布:百度网盘vip淘宝 编辑:程序博客网 时间:2024/04/30 15:53

第一个版本

// ask for a person's name, and generate a framed greeting#include <iostream>#include <string>int main(){std::cout << "Please enter your first name: ";std::string name;std::cin >> name;// build the message that we intend to writeconst std::string greeting = "Hello, " + name + "!";// build the second and fourth lines of the outputconst std::string spaces(greeting.size(), ' ');const std::string second = "* " + spaces + " *";// build the first and fifth lines of the outputconst std::string first(second.size(), '*');// write it allstd::cout << std::endl;std::cout << first << std::endl;std::cout << second << std::endl;std::cout << "* " << greeting << " *" << std::endl;std::cout << second << std::endl;std::cout << first << std::endl;return 0;}


第2个版本

#include <iostream>#include <string>using namespace std;void main(){const int pad = 1;cout<<"please enter your fisrt name: ";string name;cin>>name;const string greeting = "hello " + name + " !";const string::size_type cols = greeting.size() + pad*2 + 2;const int rows = pad*2 + 3;cout<<endl;for(int r = 0; r != rows; ++r){string::size_type c = 0;while(c != cols){if(c == pad +1 && r == pad +1)//输出第3行{cout<<greeting;c += greeting.size();}else{if(c == 0 || c ==cols-1 || r == 0 || r == rows -1)//输出边框字符'*'cout<<"*";else  //第2,4行边框间的空白cout<<' ';++c;}}cout<<endl;}cout<<endl;}





0 0
原创粉丝点击