Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem oko kompajliranja ??

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem oko kompajliranja ??

[ Pregleda: 2009 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borlland

Član broj: 156303
Poruke: 80
*.bc1.dlp128.bih.net.ba.



+1 Profil

icon Problem oko kompajliranja ??24.11.2007. u 13:40 - pre 165 meseci
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;
}
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4884
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+631 Profil

icon Re: Problem oko kompajliranja ??24.11.2007. u 14:34 - pre 165 meseci
Zasto koristis prepotopski Borland C++ 4.5 ?
Bolje uzmi recimo DevC++ ako ti je ideja da uvezbavas skolske primere. Doduse, i on je prestao da se razvija, ali je i dalje aktuelan sto se tice pridrzavanja standarda.

Kod koji si dao sam 'propustio' kroz DevC++ i bilo je nekoliko gresaka koje si napravio u kucanju. Uglavnom u linijama:
Code:

    for (int r== 0; r != rows, ++r) // <--- treba jedan znak jednakosti, treba tacka zarez, a ne zarez
    // <--- treba pocetak bloka {
        string::size:type c = 0; // <--- treba donja crta a ne dve tacke, itd...


Probaj ovo:
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;
    }

    system("PAUSE");
    return EXIT_SUCCESS;
}

 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: Problem oko kompajliranja ??24.11.2007. u 20:19 - pre 165 meseci
Xfile kazez da je i Devc++ se ne razvija???
koji je sada aktuelan compiler i da se bas ide u korak sa vremenom i informatikom?
sta preporucujes??? Ne znam eclipse da li bi bilo ok ???
ili??

hvala puno:)
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: Problem oko kompajliranja ??25.11.2007. u 00:02 - pre 165 meseci
Kad ste se već dotakli DevCpp-a i Borlanda, da i ja razriješim neke stvari koje znam iz ličnog iskustva. Dev-CPP je samo IDE, ili možda RAD za MinGW. MinGW (Minimalist GNU for Windows) se i dalje razvija, kao i Dev-CPP, doduše u WX varijanti...

Drugo što sam primjetio a to jeste, da se MinGW ne pridržava osnovnog pravila za C/C++ programiranje. Znači, ono što ne mora, to se i ne piše! Ako ja ne napišem prije imena f-je nikakav tip, podrazumijevani je int, dok to za MinGW ne važi. Zato sam napravio jedan IDE za svoje potrebe te koristim BCC 5.5.

P.S: Još jedna stvar, a to je da BCC kompajlira izuzetno brže nego GCC...

[Ovu poruku je menjao icobh dana 25.11.2007. u 09:52 GMT+1]
I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

borlland

Član broj: 156303
Poruke: 80
*.bc1.dlp253.bih.net.ba.



+1 Profil

icon Re: Problem oko kompajliranja ??25.11.2007. u 10:20 - pre 165 meseci
Citat:
osmania: Xfile kazez da je i Devc++ se ne razvija???
koji je sada aktuelan compiler i da se bas ide u korak sa vremenom i informatikom?
sta preporucujes??? Ne znam eclipse da li bi bilo ok ???
ili??

hvala puno:)


I mene ovo zanima, ali ja mislim da je Visual Studio 2005 / 08 najbolje, ovaj moj kod je odma proletio.
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.114.*



+7 Profil

icon Re: Problem oko kompajliranja ??27.11.2007. u 01:23 - pre 165 meseci
Ovo sto je X Files ispravio prolazi bez problema na Mingw (mingw32-g++ / CodeBlocks IDE)
 
Odgovor na temu

Exit
Djordje Vukovic
Berane

Član broj: 45956
Poruke: 92
85.94.121.*



Profil

icon Re: Problem oko kompajliranja ??27.11.2007. u 11:25 - pre 164 meseci
Mislim da je CodeBlocks sa MinGW odlican za sve skolske primjere
http://www.codeblocks.org
Underground
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem oko kompajliranja ??

[ Pregleda: 2009 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.