Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Klasa samochód z Menu

Ostatnio zmodyfikowano 2009-05-05 13:49
Autor Wiadomość
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-03 23:09:41
Zrobiłem tak prosze o poprawienei bo coś mi nie działa program
C/C++
#include <conio.h>
#include <iostream>
#include "console.ddt"

using namespace std;
using namespace ddt::console;


class Samochod
{
protected:
   
    string kolor;
    string rodzaj;
    string marka;
    string masa;
    string predkosc;
    string pojemnosc;
    string wysokosc;
public:
    void wczytaj()
    {
        cout << " Podaj kolor:";
        cin >> kolor;
        cout << " Podaj rodzaj:";
        cin >> rodzaj;
        cout << " Podaj marke:";
        cin >> marka;
        cout << " Podaj mase:";
        cin >> masa;
        cout << " Podaj predkosc:";
        cin >> predkosc;
        cout << " Podaj pojemnosc:";
        cin >> pojemnosc;
        cout << " Podaj wysokosc:";
        cin >> wysokosc;
    }
    void wyswietl()
    {
        cout << "rodzaj" << rodzaj << endl;
        cout << "kolor" << kolor << endl;
        cout << "marka" << marka << endl;
        cout << "masa" << masa << endl;
        cout << "predkosc" << predkosc << endl;
        cout << "pojemnosc" << pojemnosc << endl;
        cout << "wysokosc" << wysokosc << endl;
    }
    void menu()
   
    {
        int licznik = 10, znak;
        gotoxy( 30, 10 );
        textcolor( 920 );
        cout << "1 - Samochod S1" << endl;
        gotoxy( 30, 11 );
        textcolor( 101 );
        cout << "2- Samochod S2" << endl;
        gotoxy( 30, 12 );
        textcolor( 203 );
        cout << "Wyjscie" << endl;
        gotoxy( 30, 15 );
        textcolor( 203 );
        cout << "Esc - Koniec" << endl;
        gotoxy( 30, 16 );
        textcolor( 1010 );
        cout << "Enter - Wybieranie" << endl;
        gotoxy( 25, licznik );
        textcolor( 999 );
        cout << "->" << endl;
        do
        {
            znak = getch();
            if( znak == 224 ) znak = getch();
           
            switch( znak )
            {
            case 80:
                {
                    gotoxy( 25, licznik );
                    cout << "  " << endl;
                    if( licznik == 12 )
                    {
                        licznik = 10;
                    }
                    else
                    { licznik++;
                    }
                   
                   
                    gotoxy( 25, licznik );
                    cout << "->" << endl;
                } break;
            case 72:
                {
                    gotoxy( 25, licznik );
                    cout << "  " << endl;
                    if( licznik == 10 )
                    {
                        licznik = 12;
                    }
                    else
                    {
                        licznik--;
                    }
                    gotoxy( 25, licznik );
                    cout << "->" << endl;
                } break;
            case 13:
                {
                    switch( licznik )
                    {
                    case 10:
                       
                        clrscr();
                        samo1.wyswietl();
                        getch();
                        menu();
                        break;
                    case 11:
                       
                        clrscr();
                        samo2.wyswietl();
                        getch();
                        menu();
                        break;
                    }
                case 12:
                    {
                        clrscr();
                        return EXIT_SUCCESS;
                    } break;
                    default:
                    {
                        clrscr();
                        cout << "eror" << endl;
                    } break;
                   
                }
            }
        } while( znak != 27 );
       
    }
};



int main( int argc, char * argv[] )
{
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    samo1.menu();
    samo2.menu;
    clrscr();
   
   
    do
    {
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 12 )
                {
                    licznik = 10;
                }
                else
                { licznik++;
                }
               
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 72:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 10 )
                {
                    licznik = 12;
                }
                else
                {
                    licznik--;
                }
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 13:
            {
                switch( licznik )
                {
                case 10:
                   
                    clrscr();
                    samo1.wyswietl();
                    getch();
                    menu();
                    break;
                case 11:
                   
                    clrscr();
                    samo2.wyswietl();
                    getch();
                    menu();
                    break;
                }
            case 12:
                {
                    clrscr();
                    return EXIT_SUCCESS;
                } break;
                default:
                {
                    clrscr();
                    cout << "eror" << endl;
                } break;
               
            }
        }
    } while( znak != 27 );
   
    return EXIT_SUCCESS;
}
P-6392
GoldWolf
» 2009-05-04 07:55:54
Same błędy, powiem ci szczerze, że szybciej byś przerobił kurs od I do XX niż poprawisz ten program.
Pierwszy błąd:
C/C++
void menu()

{
    int licznik = 10, znak;
    gotoxy( 30, 10 );
    textcolor( 920 );
    cout << "1 - Samochod S1" << endl;
    gotoxy( 30, 11 );
    textcolor( 101 );
    cout << "2- Samochod S2" << endl;
    gotoxy( 30, 12 );
    textcolor( 203 );
    cout << "Wyjscie" << endl;
    gotoxy( 30, 15 );
    textcolor( 203 );
    cout << "Esc - Koniec" << endl;
    gotoxy( 30, 16 );
    textcolor( 1010 );
    cout << "Enter - Wybieranie" << endl;
    gotoxy( 25, licznik );
    textcolor( 999 );
    cout << "->" << endl;
   
    //po co to wrzuciłeś przecież to odpowiada za coś innego, nie za menu.
    do
    {
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 12 )
                {
                    licznik = 10;
                }
                else
                { licznik++;
                }
               
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 72:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 10 )
                {
                    licznik = 12;
                }
                else
                {
                    licznik--;
                }
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 13:
            {
                switch( licznik )
                {
                case 10:
                   
                    clrscr();
                    samo1.wyswietl();
                    getch();
                    menu();
                    break;
                case 11:
                   
                    clrscr();
                    samo2.wyswietl();
                    getch();
                    menu();
                    break;
                }
            case 12:
                {
                    clrscr();
                    return EXIT_SUCCESS;
                } break;
                default:
                {
                    clrscr();
                    cout << "eror" << endl;
                } break;
               
            }
        }
    } while( znak != 27 );
   
}
};

Ja raczej widziałbym to tak:
C/C++
void menu( int liczba ) {
   
    gotoxy( 30, 10 );
    textcolor( 920 );
    cout << "1 - Samochod S1" << endl;
    gotoxy( 30, 11 );
    textcolor( 101 );
    cout << "2- Samochod S2" << endl;
    gotoxy( 30, 12 );
    textcolor( 203 );
    cout << "Wprowadz dane samochodow." << endl;
    gotoxy( 30, 15 );
    textcolor( 203 );
    cout << "Esc - Koniec" << endl;
    gotoxy( 30, 16 );
    textcolor( 1010 );
    cout << "Enter - Wybieranie" << endl;
    gotoxy( 25, liczba );
    textcolor( 999 );
    cout << "->" << endl;
};

Myślałem o funkcji a nie o metodzie klasy, to jest część menu programu, nie ma związku z samochodami i nie potrzebnie to do klasy wrzucasz, to jest banalny program, gdy ktoś umie podstawy. Popraw to.
Jeżeli to jest nie potrzebne(bo o tum pisliśmy) to dlaczego spowrotem to wrzucasz, szczególnie że nie rozumiesz kodu wcale, małymi kroczkami chciałem ci pomóc:
C/C++
case 12:
{
    clrscr();
    return EXIT_SUCCESS;
} break;
default:
{
    clrscr();
    cout << "eror" << endl;
} break;
Odpowiedz na moje pytanie, to po to by zmniejszyć objętość programu by wywołać menu.
P-6395
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-04 13:00:16
Zrobiłem tak jak powiedziałeś i bład wyskakuje

C/C++
#include <conio.h>
#include <iostream>
#include "console.ddt"

using namespace std;
using namespace ddt::console;


class Samochod
{
protected:
   
    string kolor;
    string rodzaj;
    string marka;
    string masa;
    string predkosc;
    string pojemnosc;
    string wysokosc;
public:
    void wczytaj()
    {
        cout << " Podaj kolor:";
        cin >> kolor;
        cout << " Podaj rodzaj:";
        cin >> rodzaj;
        cout << " Podaj marke:";
        cin >> marka;
        cout << " Podaj mase:";
        cin >> masa;
        cout << " Podaj predkosc:";
        cin >> predkosc;
        cout << " Podaj pojemnosc:";
        cin >> pojemnosc;
        cout << " Podaj wysokosc:";
        cin >> wysokosc;
    }
    void wyswietl()
    {
        cout << "rodzaj" << rodzaj << endl;
        cout << "kolor" << kolor << endl;
        cout << "marka" << marka << endl;
        cout << "masa" << masa << endl;
        cout << "predkosc" << predkosc << endl;
        cout << "pojemnosc" << pojemnosc << endl;
        cout << "wysokosc" << wysokosc << endl;
    }
   
};



int main( int argc, char * argv[] )
{
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    clrscr();
   
    void menu( int liczba ) {
       
        gotoxy( 30, 10 );
        textcolor( 920 );
        cout << "1 - Samochod S1" << endl;
        gotoxy( 30, 11 );
        textcolor( 101 );
        cout << "2- Samochod S2" << endl;
        gotoxy( 30, 12 );
        textcolor( 203 );
        cout << "Wprowadz dane samochodow." << endl;
        gotoxy( 30, 15 );
        textcolor( 203 );
        cout << "Esc - Koniec" << endl;
        gotoxy( 30, 16 );
        textcolor( 1010 );
        cout << "Enter - Wybieranie" << endl;
        gotoxy( 25, liczba );
        textcolor( 999 );
        cout << "->" << endl;
    }
   
    do
    {
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, liczba
                cout << "  " << endl;
                if( licznik == 12 )
                {
                    licznik = 10;
                }
                else
                { licznik++;
                }
               
               
                gotoxy( 25, liczba
                cout << "->" << endl;
            } break;
        case 72:
            {
                gotoxy( 25, liczba
                cout << "  " << endl;
                if( licznik == 10 )
                {
                    liczba2;
                }
                else
                {
                    liczba;
                }
                gotoxy( 25, liczba
                cout << "->" << endl;
            } break;
        case 13:
            {
                switch( liczba
                {
                case 10:
                    samo1.wyswietl();
                    getch();
                    break;
                case 11:
                    samo2.wyswietl();
                    getch();
                    break;
                }
            case 12:
                {
                   
                    return EXIT_SUCCESS;
                } break;
                default:
                {
                    clrscr();
                    cout << "eror" << endl;
                } break;
            }
        }
    }
} while( znak != 27 );

return EXIT_SUCCESS;
}
 

Jak wywołać to Menu że program wrcała do menu po wyświetleniu danych samochodu S1
P-6397
pekfos
» 2009-05-04 15:18:20
wiesz GDZIE sie pisze definicje funkcji??
C/C++
int main( int argc, char * argv[] )
{
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    clrscr();
   
    void menu( int liczba ) { // <-- co TO jest??
       
        gotoxy( 30, 10 );
        textcolor( 920 );
        cout << "1 - Samochod S1" << endl;
        //..
P-6398
GoldWolf
» 2009-05-04 15:23:07
No więc sprawa wygląda następująco, albo się weźmiesz do roboty, albo będą z tego nici, podałem ci gotową definicję funkcji a ty nie umiesz jej nawet podpiąć.

Powiedz mi jest to zadanie na zaliczenie, bo z tego co widać nie interesuje cię raczej programowanie?

Użyłeś klasy, a nie umiesz zrobić prostej funkcji?!?
P-6400
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-04 17:53:23
Tutaj pzredstawiam na jakim jestem etapie tego programu jestem mówiąc wprost brakuje mi tylko powrót czyli że jak wyświetle np dane samochodu S1 to żeby wrócić do menu i wyswietlić dane Samochodu S2 jak to zrobić ( jak wywołać menu w trkacie programu) , bo mi nie działa Prosze o pomoc
C/C++
#include <conio.h>
#include <iostream>
#include "console.ddt"

using namespace std;
using namespace ddt::console;


class Samochod
{
protected:
   
    string kolor;
    string rodzaj;
    string marka;
    string masa;
    string predkosc;
    string pojemnosc;
    string wysokosc;
public:
    void wczytaj()
    {
        cout << " Podaj kolor:";
        cin >> kolor;
        cout << " Podaj rodzaj:";
        cin >> rodzaj;
        cout << " Podaj marke:";
        cin >> marka;
        cout << " Podaj mase:";
        cin >> masa;
        cout << " Podaj predkosc:";
        cin >> predkosc;
        cout << " Podaj pojemnosc:";
        cin >> pojemnosc;
        cout << " Podaj wysokosc:";
        cin >> wysokosc;
    }
    void wyswietl()
    {
        cout << "rodzaj" << rodzaj << endl;
        cout << "kolor" << kolor << endl;
        cout << "marka" << marka << endl;
        cout << "masa" << masa << endl;
        cout << "predkosc" << predkosc << endl;
        cout << "pojemnosc" << pojemnosc << endl;
        cout << "wysokosc" << wysokosc << endl;
    }
    void Menu( int licznik = 10 )
    {
       
        gotoxy( 30, 10 );
        textcolor( 920 );
        cout << "1 - Samochod S1" << endl;
        gotoxy( 30, 11 );
        textcolor( 101 );
        cout << "2- Samochod S2" << endl;
        gotoxy( 30, 12 );
        textcolor( 203 );
        cout << "Wyjscie" << endl;
        gotoxy( 30, 15 );
        textcolor( 203 );
        cout << "Esc - Koniec" << endl;
        gotoxy( 30, 16 );
        textcolor( 1010 );
        cout << "Enter - Wybieranie" << endl;
        gotoxy( 25, licznik );
        textcolor( 999 );
        cout << "->" << endl;
    }
};



int main( int argc, char * argv[] )
{
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    samo1.Menu();
    samo2.Menu();
   
    int znak, licznik = 10;
   
    do
    {
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 12 )
                {
                    licznik = 10;
                }
                else
                { licznik++;
                }
               
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 72:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
                if( licznik == 10 )
                {
                    licznik = 12;
                }
                else
                {
                    licznik--;
                }
                gotoxy( 25, licznik );
                cout << "->" << endl;
            } break;
        case 13:
            {
                switch( licznik )
                {
                case 10:
                   
                    clrscr();
                    samo1.wyswietl();
                    getch();
                    samo1.Menu();
                    break;
                case 11:
                   
                    clrscr();
                    samo2.wyswietl();
                    getch();
                    samo2.Menu();
                    break;
                }
            case 12:
                {
                    clrscr();
                    return EXIT_SUCCESS;
                } break;
                default:
                {
                    clrscr();
                    cout << "eror" << endl;
                } break;
               
            }
        }
    } while( znak != 27 );
   
    return EXIT_SUCCESS;
}
P-6418
pekfos
» 2009-05-04 17:55:15
używaj znaczników
[code src="C++"] kod [/ code]
P-6419
GoldWolf
» 2009-05-04 17:57:49
Mocny jesteś gościu, czapki z głów. Ty swoje a My swoje no nie źle trochę śmiechu nikomu jeszcze nie zaszkodziło.
Żali mi ciebie, powiedział byś chociaż, czy chcesz się tego programowania nauczyć czy to tylko zadanie, które trzeba odbębnić i mieć spokój.
P-6420
1 2 « 3 » 4 5 6 7 8 9
Poprzednia strona Strona 3 z 9 Następna strona