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

Jak zabronić wpisywania liter w programie

Ostatnio zmodyfikowano 2014-02-02 14:35
Autor Wiadomość
damianlxlx5
Temat założony przez niniejszego użytkownika
» 2014-01-30 13:41:10
Faktycznie nie wiem jak mogłem tego nie zauważyć.Kombinowałem co tu zmienić żeby to działało tak jak bym chciał a tu taki głupi błąd którego nie dostrzegłem przez co program nie działał poprawnie :)
P-103586
damianlxlx5
Temat założony przez niniejszego użytkownika
» 2014-01-30 14:15:00
A jeszcze takie pytanie jak zrobić żeby np. po wyświetleniu wyniku program mógł wrócić do pierwszej instrukcji czyli tak jak jest teraz oraz żeby można było po wyświetleniu wyniku zamknąć program gdy użytkownik już nie ma nic do policzenia  ?
P-103592
alixir
» 2014-01-30 14:27:38
Po pierwsze wywal label M: i goto(). Tego nie powinno się używać.
Zamiast tego zastosuj pętlę do .. while()

Coś w tym guście:

C/C++
char wybor;
do {
    ....
    tu twoj program
    ....
    cout << "Chcesz kontynuowac (t/n)";
    cin >> wybor;
} while( wybor != 'n' );
P-103593
damianlxlx5
Temat założony przez niniejszego użytkownika
» 2014-01-30 15:45:06
No dobrze ale ta pętla co mi podałeś to skąd ona ma wiedzieć czy zakończyć program czy nie skąd ona wie że jak  nacisnę literę t to to chce kontynuować a jak n to chce zakończyć program ?
P-103598
SeaMonster131
» 2014-01-30 15:53:41
Bo taki jest warunek w pętli?
» Kurs C++ » Poziom 2Pętla do ... while lekcja

Pamiętaj także, że jest możliwość edycji postu (by nie pisać postów pod swoimi postami) oraz stosuj » KursyKurs STC kurs.
P-103599
damianlxlx5
Temat założony przez niniejszego użytkownika
» 2014-01-30 16:32:06
Nadal jednak nie rozumiem tego warunku w pętli.
 
while( wybor != 'n' );

Ponieważ ten znak "!=" oznacza operator "nie równe" czyli jeżeli w tym przypadku "wybór" jest różny od ... No i właśnie nie wiem od czego od litery "n" czemu n co ta litera oznacza ?
P-103606
SeaMonster131
» 2014-01-30 16:41:53
char wybor;
 to zmienna przechowująca jeden znak. W pętli jest
cin >> wybor;
 oznaczające przypisanie do tej zmiennej wartości ze strumienia (w tym wypadku użytkownik wpisuje tą wartość). Jeżeli wartość to 'n', to pętla zostaje przerwana.
P-103611
damianlxlx5
Temat założony przez niniejszego użytkownika
» 2014-01-30 17:03:40
Dobra napisałem taki kod :

C/C++
#include <iostream>
#include <windows.h>
using namespace std;
main()

{
    char wybor;
    bool good, bad;
    float liczba, cyfra;
    float suma;
   
   
    { M: cout << "Wprowadz liczbe calkowita" << endl;
        cin >> liczba;
        while( cin.fail() )
        {
            cin.clear();
            cin.ignore( 50, '\n' );
            cout << "Liczba musi byc liczba calkowita:\nWprowadz ponownie liczbe:" << endl;
            cin >> liczba;
           
        }
       
        cout << "Wprowadz druga liczbe calkowita" << endl;
        cin >> cyfra;
        while( cin.fail() )
        {
            cin.clear();
            cin.ignore( 50, '\n' );
            cout << "Liczba musi byc liczba calkowita:\nWprowadz ponownie liczbe:" << endl;
            cin >> cyfra;
        }
       
        suma = liczba * cyfra;
        good = cin.good();
        bad = cin.bad();
        cin.clear();
        cin.sync();
    }
   
   
    if( suma < 100 )
   
    {
       
        cout << "Suma dwoch liczb ktore podales nie przekracza 100" << endl;
        cout << "Wynik mnozenia tych dwoch liczb wynosi : " << suma << endl;
        cout << "Znakomicie" << endl;
        cout << "Chcesz kontynuowac (t/n)" << endl;
        cin >> wybor;
       
       
       
    }
   
    else
    {
       
       
        cout << "Suma liczb przekracza 100" << endl;
        cout << "Wynik nie zostanie zwrocony" << endl;
        cout << "Sprobuj ponownie" << endl;
        Sleep( 2000 );
        goto M;
    }
   
}

A jak te pętle teraz dodać w jakim fragmencie kodu by ona działa poprawnie pozbywając się instrukcji goto ?
P-103621
1 2 3 « 4 » 5 6
Poprzednia strona Strona 4 z 6 Następna strona