• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program nie wyświetla większych liczb

0 głosów
43 wizyt
pytanie zadane 12 lutego w C i C++ przez seba0456 Nowicjusz (160 p.)
edycja 12 lutego przez seba0456

Zaczniemy od problemu co wyświetla mój program:

 

Prosty przelicznik jednostek
Jaka jednostke chcesz przeliczyc? help-pomoc. masa
Wybrano mase obslugjemy tony, kilogrmy, dekagramy, gramy, miligramy. (nazwa) z czego chcesz przeliczyc?
miligramy
na:
tony
Podaj wartosc miligramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)
10
1e-008 ton  //Problem

 

Teraz pora na kod źródłowy.

#include <iostream>

using namespace std;

int main()
{
    string instrukcja;
    cout << "Prosty przelicznik jednostek" << endl;
    cout << "Jaka jednostke chcesz przeliczyc? help-pomoc. ";
    getline( cin, instrukcja );
    if ( instrukcja == "help" ) //wybor pomoc
    {
        cout << "Co obslugujemy? 1.jednostki masy (kg,g,t,itp.) instrukcja = masa ";
        cout << "2.odleglosc (cm,m,km) instrukcja = odleglosc " << endl;
        cout << "rozmiar informatyka (bajt) instrukcja = bajt " << endl;
        cout << "godzina (czas) instrukcja = czas " << endl;
        cout << "predosc instrukcja = predkosc " << endl;
    }
    else if ( instrukcja == "masa" )
    {
        string dane1;
        string dane2;
        double z;
        double na;
        cout << "Wybrano mase obslugjemy tony, kilogrmy, dekagramy, gramy, miligramy. (nazwa) ";
        cout << "z czego chcesz przeliczyc?" << endl; //wybor dane1
        getline( cin, dane1 );
        cout << "na: " << endl; //wybor2
        getline( cin, dane2);
        if ( dane1 == "tony" && dane2 == "kilogramy" )
        {
            double dane;
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 1000;
            cout << dane << " kg";
        }
        else if ( dane1 == "tony" && dane2 == "dekagramy")
          {
            double dane;
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 100000;
            cout << dane << " dag";

To jest wycinek kodu ponieważ dalej działa na identycznej zasadzie w build messages nie ma uwag. 

 

 

 

Jeśli potrzeba pełnego kodu oto on

#include <iostream>

using namespace std;

int main()
{
    string instrukcja;
    cout << "Prosty przelicznik jednostek" << endl;
    cout << "Jaka jednostke chcesz przeliczyc? help-pomoc. ";
    getline( cin, instrukcja );
    if ( instrukcja == "help" ) //wybor pomoc
    {
        cout << "Co obslugujemy? 1.jednostki masy (kg,g,t,itp.) instrukcja = masa ";
        cout << "2.odleglosc (cm,m,km) instrukcja = odleglosc " << endl;
        cout << "rozmiar informatyka (bajt) instrukcja = bajt " << endl;
        cout << "godzina (czas) instrukcja = czas " << endl;
        cout << "predosc instrukcja = predkosc " << endl;
    }
    else if ( instrukcja == "masa" )
    {
        string dane1;
        string dane2;
        double z;
        double na;
        cout << "Wybrano mase obslugjemy tony, kilogrmy, dekagramy, gramy, miligramy. (nazwa) ";
        cout << "z czego chcesz przeliczyc?" << endl; //wybor dane1
        getline( cin, dane1 );
        cout << "na: " << endl; //wybor2
        getline( cin, dane2);
        if ( dane1 == "tony" && dane2 == "kilogramy" )
        {
            double dane;
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 1000;
            cout << dane << " kg";
        }
        else if ( dane1 == "tony" && dane2 == "dekagramy")
          {
            double dane;
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 100000;
            cout << dane << " dag";
          }
        else if ( dane1 == "tony" && dane2 == "gramy")
        {
            double dane;
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 10000000;
            cout << dane << " gram";
        }
        else if ( dane1 == "tony" && dane2 == "miligramy" )
        {
            double dane; //waretosc wyjscowa
            cout << "Podaj wartosc ton (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 1000000000;
            cout << dane << " gram";
        }
        else if ( dane1 == "kilogramy" && dane2 == "tony")
        {
          double dane; //waretosc wyjscowa
            cout << "Podaj wartosc kilogramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 0.1000;
            cout << dane << " ton";
        }
        else if ( dane1 == "kilogramy" && dane2 == "dekagramy")
        {
          double dane; //waretosc wyjscowa
            cout << "Podaj wartosc kilogramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z; //wartosc wejscowa
            dane = z * 100;
            cout << dane << " ton";
        }
        else if ( dane1 == "kilogramy" && dane2 == "gramy" )
        {
            double dane;
            cout << "Podaj wartosc kilogramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 1000;
            cout << dane << " gram";
        }
        else if (  dane1 == "kilogramy" && dane2 == "miligramy" )
        {
            double dane;
            cout << "Podaj wartosc kilogramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 1000000;
            cout << dane << " miligramow";
        }
        else if ( dane1 == "gramy" && dane2 == "tony" )
        {
            double dane;
            cout << "Podaj wartosc gramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z / 1000000;
            cout << dane << " ton";
        }
        else if ( dane1 == "gramy" && dane2 == "kilogram" )
        {
            double dane;
            cout << "Podaj wartosc gramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z / 1000;
            cout << dane << " kilogramow";
        }
        else if ( dane1 == "gramy" && dane2 == "dekagramy")
        {
            double dane;
            cout << "Podaj wartosc gramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 0.1;
            cout << dane << " dekagramow";
        }
        else if ( dane1 == "gramy" && dane2 == "miligram")
        {
            double dane;
            cout << "Podaj wartosc gramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 1000;
            cout << dane << " miligram";
        }
        else if ( dane1 == "miligramy" && dane2 == "tony" )
        {
            double dane;
            cout << "Podaj wartosc miligramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 0.000000001;
            cout << dane << " ton";
        }
        else if ( dane1 == "miligramy" && dane2 == "kilogramy" )
        {
            double dane;
            cout << "Podaj wartosc miligramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 0.000001;
            cout << dane << " kilogramow";
        }
        else if ( dane1 == "miligramy" && dane2 == "gramy" )
        {
            double dane;
            cout << "Podaj wartosc miligramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >> z;
            dane = z * 0.001;
            cout << dane << " gram";
        }
        else if ( dane1 == "miligramy" && dane2 == "dekagramy" )
        {
            double dane;
            cout << "Podaj wartosc miligramow (jesli zmienna jest ulamkiem dziesietnym zapisz czesc dziesietna po kropce (.) nie po przecinku (,)" << endl;
            cin >>  z;
            dane = z * 0.0001;
            cout << dane << " dekagram";
        }
    }
    else if ( instrukcja == "odleglosc" )
    {
     cout << "Wybrano mase obslugjemy tony, kilogrmy, dekagramy, gramy, miligramy. (nazwa) " << endl;
    }


    return 0;
}

dodając kod #include <windows.h> oraz na koniec system("pause");
    return 0; udało mi się powstrzymać exe przed natychmiastowym zamknięciem pode te info bo może mieć znaczenie.

 

Da coś jak to dodam?

cout.flags(ios::fixed);

 

1 odpowiedź

0 głosów
odpowiedź 12 lutego przez seba0456 Nowicjusz (160 p.)
Udało mi się poprawić ale nadal potrzebuje pomocy

np liczbę 130 wyświetla tak 130.00000000 zera są zbędne można e pominąć jak się używa mojego programu ale jak pozbyć się zer? dodałem  cout.flags(ios::fixed); ale mam problem z liczbami jak mówiłem daje zera po przecinku

Podobne pytania

+1 głos
2 odpowiedzi 140 wizyt
0 głosów
1 odpowiedź 77 wizyt
pytanie zadane 27 marca 2017 w C i C++ przez Kamil Duljas Użytkownik (980 p.)
0 głosów
1 odpowiedź 130 wizyt
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

64,866 zapytań

111,328 odpowiedzi

234,208 komentarzy

46,729 pasjonatów

Przeglądających: 152
Pasjonatów: 0 Gości: 152

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...