[ borlland @ 24.11.2007. 13:40 ] @
Radi se o programu koji treba da trazi ime i na osnovu njega, npr. da ispise pozdrav zaokruzen kao dole. Lijeva stranica pravougaonika treba da bude kao desna a nesto ne moze! ************* * * * Zdravo, Ana! * * * ************* Ovaj program sam nasao u knjizi "Efikasno programiranje na jeziku C++" od Andrew Koenig ali nema sanse da ga Borland 4.5. pokrene a i neki dijelovi kod su mi pocudni. Npr. deklaracija 'string name' koju u mom borlandu uopste ne prepoznaje, isto kao da je ovo starija verzija koda. Code: #include <iostream> #include <string> using std::cin; using std::endl; using std::cout; using std::string; int main() { cout << "Unesi ime: "; string name; cin >> name; // pravi poruku koju hocemo da ispisemo const string greeting = "Zdravo, " + name + "!"; // broj razmaka oko pozdrava const int pad = 1; // broj redova i kolona koje treba ispisati const int rows = pad * 2 + 3; const string::size_type cols = greeting.size() + pad * 2 + 2; // ispisuje prazan red da bi odvojio ulaz i izlaz cout << endl; // ispisuje broj redova jednak vrijednosti promjenljive rows // invarijanta: broj do sada ispisanih redova jednak je vrijednosti promjenljive r for (int r== 0; r != rows, ++r) string::size:type c = 0; // invarijanta: broj do sada ispisanih znakova u tekućem redu // jednak je vrijednosti promjenljive c while (c != cols) { // da li je vrijeme da se ispise pozdravna poruka? if (r == pad + 1 && c == pad +1) { cout << greeting; c += greeting.size(); } else { // da li smo na ivicama? if ( r == 0 || r == rows - 1 || c == 0 || c == cols - 1) cout << "*"; else cout << " "; ++c; } } cout << endl; } return 0; } |