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
» 2009-05-17 12:54:48
C/C++
case 12:
{
    clrscr();
    gotoxy( 25, 6 );
    textcolor( 14 );
    cout << "Dane samochodu S3: " << endl;
    samo3.wyswietl();
    gotoxy( 25, 16 );
    textcolor( 15 );
    cout << "Edytowac samochod(t/n): ";
    cin >> znak;
    if( znak == 'n' )
    {
        clrscr();
        gotoxy( 25, 6 );
        textcolor( 14 );
        cout << "Dane samochodu S3: " << endl;
        samo3.wyswietl();
        getch();
    }
    if( znak == 't' )
    {
        clrscr();
        gotoxy( 25, 6 );
        textcolor( 14 );
        cout << "Podaj dane samochodu S3: " << endl;
        samo3.wczytaj();
        clrscr();
        gotoxy( 25, 6 );
        textcolor( 14 );
        cout << "Dane samochodu S3: " << endl;
        samo3.wyswietl();
        getch();
    }
    int znak;
    if( znak == 8 )
    {
        clrscr();
        Menu( licznik );
    }
Dobrze?


:: Poprawiany przez - Pietrzuch
::Używaj Tagów! - http://forum.ddt.pl/?Tid=622
P-6944
malan
» 2009-05-17 13:03:35
//Edit

Dobrze? Sprawdzałeś czy działa?
C/C++
//...
getch(); // Przecież tu program i tak czeka na dowolny klawisz               
}
int znak; // Co to jest? Pomijając, że zmienną 'znak' już wcześniej zadeklarowałeś
if( znak == 8 ) // Zapewniam Cie, że jeśli wciśniesz ten backspace to program nie wejdzie do tego warunku. Nawet jeśliby wszedł to jest on sprawdzany 1 raz, czyli jeśli byś potem wcisnął jakiś znak (obojętnie jaki) to program by i tak Ci wrócił do menu)
{
clrscr();
Menu( licznik );
}
Wniosek? if się do tego nie nadaje.
Pamiętaj o tym:
Musisz zadeklarować sobie zmienną, która będzie równa getch().
P-6945
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-17 13:16:04
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 << "Backspace-Powrot do Menu" << endl;
    gotoxy( 25, licznik );
    textcolor( 999 );
    cout << "->" << endl;
}

class Samochod
{
protected:
   
    string kolor;
    string marka;
    float rocznik;
    float masa;
    float iloscdrzwi;
    float pojemnosc;
    float wysokosc;
public:
    void wczytaj()
    {
        gotoxy( 25, 8 );
        textcolor( 15 );
        cout << "Podaj marke samochodu:";
        cin >> marka;
        gotoxy( 25, 9 );
        textcolor( 15 );
        cout << "Podaj rocznik:";
        cin >> rocznik;
        gotoxy( 25, 10 );
        textcolor( 15 );
        cout << "Podaj pojemnosc silnika:";
        cin >> pojemnosc;
        gotoxy( 25, 11 );
        textcolor( 15 );
        cout << "Podaj mase samochodu:";
        cin >> masa;
        gotoxy( 25, 12 );
        textcolor( 15 );
        cout << "Podaj kolor samochodu:";
        cin >> kolor;
        gotoxy( 25, 13 );
        textcolor( 15 );
        cout << "Podaj ilosc drzwi:";
        cin >> iloscdrzwi;
        gotoxy( 25, 14 );
        textcolor( 15 );
        cout << "Podaj wysokosc samochodu:";
        cin >> wysokosc;
    }
    void wyswietl()
    {
        gotoxy( 25, 8 );
        textcolor( 15 );
        cout << "Marka samochodu:" << marka << endl;
        gotoxy( 25, 9 );
        textcolor( 15 );
        cout << "Rocznik samochodu:" << rocznik << endl;
        gotoxy( 25, 10 );
        textcolor( 15 );
        cout << "Pojemnosc samochodu:" << pojemnosc << endl;
        gotoxy( 25, 11 );
        textcolor( 15 );
        cout << "Masa samochodu:" << masa << endl;
        gotoxy( 25, 12 );
        textcolor( 15 );
        cout << "Kolor samochodu:" << kolor << endl;
        gotoxy( 25, 13 );
        textcolor( 15 );
        cout << "Ilosc drzwi samochodu:" << iloscdrzwi << endl;
        gotoxy( 25, 14 );
        textcolor( 15 );
        cout << "Wysokosc samochodu:" << wysokosc << endl;
    }
};



int main( int argc, char * argv[] )
{
    int znak, licznik = 10;
    gotoxy( 25, 6 );
    textcolor( 14 );
    Samochod samo1;
    cout << "Podaj dane samochodu S1: " << endl;
    samo1.wczytaj();
    clrscr();
    Samochod samo2;
    gotoxy( 25, 6 );
    textcolor( 14 );
    cout << "Podaj dane samochodu S2: " << endl;
    samo2.wczytaj();
    clrscr();
    Samochod samo3;
    gotoxy( 25, 6 );
    textcolor( 14 );
    cout << "Podaj dane samochodu S3: " << endl;
    samo3.wczytaj();
    clrscr();
    Samochod samo4;
    gotoxy( 25, 6 );
    textcolor( 14 );
    cout << "Podaj dane samochodu S4: " << endl;
    samo4.wczytaj();
    clrscr();
    Samochod samo5;
    gotoxy( 25, 6 );
    textcolor( 14 );
    cout << "Podaj dane samochodu S5: " << endl;
    samo5.wczytaj();
   
    clrscr();
    Menu( licznik );
   
    do
    {
        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;
            }
        case 8:
            {
                clrscr();
                Menu( licznik );
            }
           
            break;
        case 13:
            {
                char znak;
                switch( licznik )
                {
                case 10:
                    {
                        clrscr();
                        gotoxy( 25, 6 );
                        textcolor( 14 );
                        cout << "Dane samochodu S1: " << endl;
                        samo1.wyswietl();
                        gotoxy( 25, 16 );
                        textcolor( 15 );
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S1: " << endl;
                            samo1.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Podaj dane samochodu S1: " << endl;
                            samo1.wczytaj();
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S1: " << endl;
                            samo1.wyswietl();
                            getch();
                        }
                    } break;
                   
                case 11:
                    {
                        clrscr();
                        gotoxy( 25, 6 );
                        textcolor( 14 );
                        cout << "Dane samochodu S2: " << endl;
                        samo2.wyswietl();
                        gotoxy( 25, 16 );
                        textcolor( 15 );
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S2: " << endl;
                            samo2.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Podaj dane samochodu S2: " << endl;
                            samo2.wczytaj();
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S2: " << endl;
                            samo2.wyswietl();
                            getch();
                        }
                    } break;
                case 12:
                    {
                        clrscr();
                        gotoxy( 25, 6 );
                        textcolor( 14 );
                        cout << "Dane samochodu S3: " << endl;
                        samo3.wyswietl();
                        gotoxy( 25, 16 );
                        textcolor( 15 );
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S3: " << endl;
                            samo3.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Podaj dane samochodu S3: " << endl;
                            samo3.wczytaj();
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S3: " << endl;
                            samo3.wyswietl();
                            getch();
                        }
                       
                    } break;
                case 13:
                    {
                        clrscr();
                        gotoxy( 25, 6 );
                        textcolor( 14 );
                        cout << "Dane samochodu S4: " << endl;
                        samo4.wyswietl();
                        gotoxy( 25, 16 );
                        textcolor( 15 );
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S4: " << endl;
                            samo4.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Podaj dane samochodu S4: " << endl;
                            samo4.wczytaj();
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S4: " << endl;
                            samo4.wyswietl();
                            getch();
                        }
                    } break;
                case 14:
                    {
                        clrscr();
                        gotoxy( 25, 6 );
                        textcolor( 14 );
                        cout << "Dane samochodu S5: " << endl;
                        samo5.wyswietl();
                        gotoxy( 25, 16 );
                        textcolor( 15 );
                        cout << "Edytowac samochod(t/n): ";
                        cin >> znak;
                        if( znak == 'n' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S5: " << endl;
                            samo5.wyswietl();
                            getch();
                        }
                        if( znak == 't' )
                        {
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Podaj dane samochodu S5: " << endl;
                            samo5.wczytaj();
                            clrscr();
                            gotoxy( 25, 6 );
                            textcolor( 14 );
                            cout << "Dane samochodu S5: " << endl;
                            samo5.wyswietl();
                            getch();
                        }
                    } break;
                case 15:
                    {
                        return EXIT_SUCCESS;
                    } break;
                   
                    default:
                    {
                        clrscr();
                        cout << "eror" << endl;
                    } break;
                }
            }
        }
    } while( znak != 27 );
   
   
    return EXIT_SUCCESS;
}


Dobrze zrobiłem tego Backspacea?? A czemu jak nacisne drugi raz klawisz backspace to program wraca do menu a nie jak nacisne raz tak samo jest z klawiszem Esc czemu za drugim razem nacisniecia Esc wyłącza się program?? Jak zrobic żeby robilo sie wszytsko jak raz nacisne
P-6947
malan
» 2009-05-17 13:26:20
Patrz post wyżej ;p.
Poza tym od kiedy po 'case' wpisujemy '}' ? Wystarczy:
case 27:...break;
P-6949
pekfos
» 2009-05-17 13:26:28
masz tam sporo getch() których wartości nie odczytujesz,
przez co musisz nacisnąć dowolny klawisz i np Esc aby wyjść.
na pewno wiesz coś o programowaniu skoro dajesz getch()
bez zastanowienia co to da?
P-6950
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-17 13:40:42
możesz powiedzieć w których linikach getch jest zbędne to usune
P-6953
pekfos
» 2009-05-17 13:44:00
C/C++
samo1.wyswietl();
getch();
tu ani Esc ani Backspace nie zadziała i chyba to ci nie pasuje
P-6954
Macius700
Temat założony przez niniejszego użytkownika
» 2009-05-17 13:48:43
dobra wywaliłem już wszytskie getch() i program działa tak jak chciałem Po jednym nacisnieciu Backspace program wraca do Menu i po jednym nacisneiciu Esc program wyłacza się całkiem
P-6955
1 2 « 3 » 4
Poprzednia strona Strona 3 z 4 Następna strona