• 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
38 wizyt
pytanie zadane 6 dni temu w C i C++ przez seba0456 Nowicjusz (160 p.)
edycja 6 dni temu 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ź 6 dni temu 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 137 wizyt
0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 27 marca 2017 w C i C++ przez Kamil Duljas Użytkownik (980 p.)
0 głosów
1 odpowiedź 122 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

60,244 zapytań

105,928 odpowiedzi

220,065 komentarzy

32,445 pasjonatów

Przeglądających: 169
Pasjonatów: 3 Gości: 166

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.

...