Głupi problem ze zmienną
Ostatnio zmodyfikowano 2013-04-01 16:58
Bajt Temat założony przez niniejszego użytkownika |
Głupi problem ze zmienną » 2013-04-01 16:48:22 Witam Dla rozrywki piszę program zamieniający milimetry na centymetry itd. I natknąłem się na taki problem, że gdy wpisuje wartość milimetrów do przeliczenia na centymetry w centymetrach zawsze pojawia mi się 1, a w pozostałych wynikach 0. Wiem, że chodzi tutaj o konflikt rodzajów zmiennych i że wystarczyłoby zrobić rzutowanie, ale jednak daję kod źródłowy pliku, wraz z zmiennymi. ( plik nie jest kompletny albowiem program liczy 400 linijek). #include <iostream> #include <Windows.h> #include <cstdlib> #include <conio.h>
using namespace std;
unsigned int dlugosc; unsigned int wybor; unsigned int wybor_jednostki; unsigned int czas; double milimetry; float minuty, godziny, dni; double minuty_na_sekundy; float minuty_na_godziny; float godziny_na_sekundy, godziny_na_minuty, godziny_na_dni; float dni_na_sekundy, dni_na_minuty, dni_na_godziny; double milimetry_na_centymetry, milimetry_na_decymetry, milimetry_na_metry, milimetry_na_kilometry; int dni_na_doby; unsigned int dni1;
dalsza czesc switch( dlugosc ) { case 1: system( "cls" ); cout << "\a\t\t==================================" << endl << endl; cout << "\t\t\tKonwerter Jednostek" << endl << endl; cout << "\t\t==================================" << endl << endl; cout << "\t\tPodaj wartosc milimetrow, ktora chcesz skonwertowac: "; cin >> milimetry; if( cin.fail() == true ) { cout << "\t\t\n\nPodaj liczbe rzeczywista!" << endl; cout << "\t\tPodaj wartosc milimetrow, ktora chcesz skonwertowac: "; cin.clear(); cin.sync(); cin >> milimetry; } milimetry_na_centymetry =( milimetry * 0, 1 ); milimetry_na_decymetry = milimetry * 0, 01; milimetry_na_metry = milimetry * 0, 001; milimetry_na_kilometry = milimetry * 0, 0001; if( milimetry == 1 ) { cout << "\n\n\t\t" << milimetry << " milimetr to: " << endl << endl; } if( milimetry == 2 || 3 || 4 ) { cout << "\n\n\t\t" << milimetry << " milimetry to: " << endl << endl; } else { cout << "\n\n\t\t" << milimetry << " milimetrow to: " << endl << endl; } cout << "\t\t[1] Centymetrow: " << milimetry_na_centymetry << endl << "\t\t-------------------------" << endl << "\t\t[2] Decymetrow: " << milimetry_na_decymetry << endl << "\t\t-------------------------" << endl << "\t\t[3] Metrow: " << milimetry_na_metry << endl << "\t\t-------------------------" << endl << "\t\t[4] Kilometrow: " << milimetry_na_kilometry << endl << "\t\t-------------------------" << endl << endl << endl; cout << "\t\t"; system( "PAUSE" ); WybierzJednostke();
|
|
pekfos |
» 2013-04-01 16:51:59 1. Ułamki się pisze tak: 1.23456 , a nie 1, 23456 2. Taki zapis jest niepoprawny: if( milimetry == 2 || 3 || 4 ) |
|
Bajt Temat założony przez niniejszego użytkownika |
» 2013-04-01 16:55:02 Jaki wstyd. Dzięki. A i jeszcze jedno: jak mam wstawiać na forum kod źródłowy (czyli tak aby było przejrzyście i odznaczało się na stronie?) Próbowałem w <code> ale nie działa |
|
pekfos |
» 2013-04-01 16:58:30 |
|
« 1 » |