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

Katalog samochodów

Ostatnio zmodyfikowano 2009-05-16 21:38
Autor Wiadomość
Macius700
Temat założony przez niniejszego użytkownika
Katalog samochodów
» 2009-05-16 20:16:19
Mam problem z poniższym programem :
C/C++
#include <conio.h>
#include <string>
#include <iostream>
#include "console.ddt"

using namespace std;
using namespace ddt::console;

void Menu( int licznik )
{
    clrscr();
    gotoxy( 30, 10 );
    textcolor( 10 );
    cout << "1 - Samochod S1" << endl;
    gotoxy( 30, 11 );
    textcolor( 11 );
    cout << "2 - Samochod S2" << endl;
    gotoxy( 30, 12 );
    textcolor( 12 );
    cout << "3 - Samochod S3" << endl;
    gotoxy( 30, 13 );
    textcolor( 13 );
    cout << "4 - Samochod S4" << endl;
    gotoxy( 30, 14 );
    textcolor( 14 );
    cout << "5 - Samochod S5" << endl;
    gotoxy( 30, 15 );
    textcolor( 15 );
    cout << "6 - Wyjscie" << endl;
    gotoxy( 30, 20 );
    textcolor( 10 );
    cout << "Esc - Koniec" << endl;
    gotoxy( 30, 21 );
    textcolor( 11 );
    cout << "Enter - Wybieranie" << endl;
    gotoxy( 30, 22 );
    textcolor( 12 );
    cout << "Dowolny klawisz-Powrot do Menu" << endl;
    gotoxy( 25, licznik );
    textcolor( 999 );
    cout << "->" << endl;
}

class Samochod
{
protected:
   
    string kolor;
    string rodzaj;
    string marka;
    float masa;
    float predkosc;
    float pojemnosc;
    float 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[] )
{
    int znak, licznik = 10;
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    Samochod samo3;
    cout << "Dame samochodu trzeciego: " << endl;
    samo3.wczytaj();
    Samochod samo4;
    cout << "Dame samochodu czwartego: " << endl;
    samo4.wczytaj();
    Samochod samo5;
    cout << "Dame samochodu piatego: " << endl;
    samo5.wczytaj();
    do
    {
        clrscr();
        Menu( licznik );
       
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
               
                if( licznik == 15 )
                {
                    licznik = 10;
                }
                else
                {
                    licznik++;
                }
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            }
            break;
           
        case 72:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
               
                if( licznik == 10 )
                {
                    licznik = 15;
                }
                else
                {
                    licznik--;
                }
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            }
            break;
           
        case 13:
            {
                char znak;
                switch( licznik )
                {
                case 10:
                    {
                        clrscr();
                        samo1.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 't' )
                        {
                            samo1.wczytaj();
                            samo1.wyswietl();
                        }
                    } break;
                   
                case 11:
                    {
                        clrscr();
                        samo2.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 't' )
                        {
                            samo2.wczytaj();
                        }
                    } break;
                case 12:
                    {
                        clrscr();
                        samo3.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 't' )
                        {
                            samo3.wczytaj();
                        }
                    } break;
                case 13:
                    {
                        clrscr();
                        samo4.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 't' )
                        {
                            samo4.wczytaj();
                        }
                    } break;
                case 14:
                    {
                        clrscr();
                        samo5.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 't' )
                        {
                            samo5.wczytaj();
                        }
                    } break;
                case 15:
                    {
                        return EXIT_SUCCESS;
                    } break;
                   
                    default:
                    {
                        clrscr();
                        cout << "eror" << endl;
                    } break;
                }
            }
        }
    } while( znak != 27 );
   
   
    return EXIT_SUCCESS;
}
Manowicie taki że jak nacisne kalwisz to ponownie podaje dane samochodu S1 i chcem żeby poźneij sie ponownie wyswietli dane tego samochodu skoro zostały zmienione ale po wpisaniu program wraca do mneu i dane nie zostaja wyswietlone nie wiem czym to jest spowodowane próbowałem wszystkie Możecie mi powiedzieć w czym tkwi tutaj problem


::Używaj tagów!
P-6919
DejaVu
» 2009-05-16 20:34:30
Zacznij czytać kurs od podstaw. Ja Ci nie pomogę i raczej nikt Ci tutaj nie pomoże. Ewidentnie pokazałes nam, że nie chcesz pisać samemu kodu ani nauczyć się programować tylko szukasz rąk do pracy, które Ci to napiszą.
P-6921
malan
» 2009-05-16 20:37:30
Może wystarczy zamienić...:

C/C++
if( znak == 't' )
{
    samo1.wczytaj();
    samo1.wyswietl();
}
... na:
C/C++
if( znak == 't' )
{
    samo1.wczytaj();
    samo1.wyswietl();
    getch();
}
 ?
P-6922
malan
» 2009-05-16 20:43:22
// Dodałem posta zanim Pan napisał. Hmm mnie ogólnie to dziwi, bo jeśli ktoś zabiera się klasy a nie wie jak użyć getch() itp to... coś chyba nie tak? Poza tym budowa kodu- nad nią też się zastanawiam... - jeśli np. będzie potrzeba skatalogowania 50 samochodów, to dla każdego samochodu kolega będzie pisał osobną funkcję? Powodzenia ;]. Po co to pisać na siłę? Jeśli bym miał za zadanie nap. taki program... to na pewno nie tknąłbym klas..., bo tego nie umiem (a wydaje mi się, że kolega jest w podobnej sytuacji). Skończyłem ;p
P-6924
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-16 21:33:07
Zmieniłem juz dzięki działa tak jak chciałem tylko mam jeden problem

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

using namespace std;
using namespace ddt::console;

void Menu( int licznik )
{
    clrscr();
    gotoxy( 30, 10 );
    textcolor( 10 );
    cout << "1 - Samochod S1" << endl;
    gotoxy( 30, 11 );
    textcolor( 11 );
    cout << "2 - Samochod S2" << endl;
    gotoxy( 30, 12 );
    textcolor( 12 );
    cout << "3 - Samochod S3" << endl;
    gotoxy( 30, 13 );
    textcolor( 13 );
    cout << "4 - Samochod S4" << endl;
    gotoxy( 30, 14 );
    textcolor( 14 );
    cout << "5 - Samochod S5" << endl;
    gotoxy( 30, 15 );
    textcolor( 15 );
    cout << "6 - Wyjscie" << endl;
    gotoxy( 30, 20 );
    textcolor( 10 );
    cout << "Esc - Koniec" << endl;
    gotoxy( 30, 21 );
    textcolor( 11 );
    cout << "Enter - Wybieranie" << endl;
    gotoxy( 30, 22 );
    textcolor( 12 );
    cout << "Dowolny klawisz-Powrot do Menu" << endl;
    gotoxy( 25, licznik );
    textcolor( 999 );
    cout << "->" << endl;
}

class Samochod
{
protected:
   
    string kolor;
    string rodzaj;
    string marka;
    float masa;
    float predkosc;
    float pojemnosc;
    float 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[] )
{
    int znak, licznik = 10;
   
    Samochod samo1;
    cout << "Dame samochodu pierwszego: " << endl;
    samo1.wczytaj();
    Samochod samo2;
    cout << "Dame samochodu drugiego: " << endl;
    samo2.wczytaj();
    Samochod samo3;
    cout << "Dame samochodu trzeciego: " << endl;
    samo3.wczytaj();
    Samochod samo4;
    cout << "Dame samochodu czwartego: " << endl;
    samo4.wczytaj();
    Samochod samo5;
    cout << "Dame samochodu piatego: " << endl;
    samo5.wczytaj();
    do
    {
        clrscr();
        Menu( licznik );
       
        znak = getch();
        if( znak == 224 ) znak = getch();
       
        switch( znak )
        {
        case 80:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
               
                if( licznik == 15 )
                {
                    licznik = 10;
                }
                else
                {
                    licznik++;
                }
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            }
            break;
           
        case 72:
            {
                gotoxy( 25, licznik );
                cout << "  " << endl;
               
                if( licznik == 10 )
                {
                    licznik = 15;
                }
                else
                {
                    licznik--;
                }
               
                gotoxy( 25, licznik );
                cout << "->" << endl;
            }
            break;
           
        case 13:
            {
                char znak;
                switch( licznik )
                {
                case 10:
                    {
                        clrscr();
                        samo1.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            samo1.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            samo1.wczytaj();
                            samo1.wyswietl();
                            getch();
                        }
                    } break;
                   
                case 11:
                    {
                        clrscr();
                        samo2.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            samo2.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            samo2.wczytaj();
                            samo2.wyswietl();
                            getch();
                        }
                    } break;
                case 12:
                    {
                        clrscr();
                        samo3.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            samo3.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            samo3.wczytaj();
                            samo3.wyswietl();
                            getch();
                        }
                    } break;
                case 13:
                    {
                        clrscr();
                        samo4.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            samo4.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            samo4.wczytaj();
                            samo4.wyswietl();
                            getch();
                        }
                    } break;
                case 14:
                    {
                        clrscr();
                        samo5.wyswietl();
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            samo5.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            samo5.wczytaj();
                            samo5.wyswietl();
                            getch();
                        }
                    } break;
                case 15:
                    {
                        return EXIT_SUCCESS;
                    } break;
                   
                    default:
                    {
                        clrscr();
                        cout << "eror" << endl;
                    } break;
                }
            }
        }
    } while( znak != 27 );
   
   
    return EXIT_SUCCESS;
}

Chodzi mi to że po np zedytowaniu danych samochodu wyswietlaja mi dane tego samochu i poźniej jak nacisne dowolny klawisz program wraca mi do Menu ja własnie tak nie cgcem żeby było tak ze jak nacisne tylko klawisz backspace to program wraca mi do menu ascii 8 to sobie zrobie to jest łatwe tylko mogłby mi ktos powiedziec co jest odpowiedziale za to ze jak niacisne dowolny klawisz do program wraca do menu co mam zmienić w programie żeby tak nie było Prosze o wasze wskazówki


P-6928
malan
» 2009-05-16 21:46:20
Wiesz co robi 'getch()' ?
P-6929
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-16 21:51:11
Wiem czeka na nacisnięcie dowolnego klawisza lub zczytuje kod z klawisza
a switch słuzy do roznych rzeczy w mneu np jeżdzenie stzralkami w doł i gore wysjcie z programu wybieranie enterem itp
P-6930
malan
» 2009-05-16 21:54:53
No mniej więcej... Więc co musisz zrobić, żeby program wracał do menu kiedy naciśniesz backspace (-czyli k o n k r e t n y znak), a nie przy wciśnięciu dowolnego klawisza ? //Masz już podobny mechanizm w programie ;p
P-6931
« 1 » 2 3 4
  Strona 1 z 4 Następna strona