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

Problem z pracą domową

Ostatnio zmodyfikowano 2011-01-01 10:45
Autor Wiadomość
Bananovvy
Temat założony przez niniejszego użytkownika
Problem z pracą domową
» 2010-12-31 22:07:49
Witam

Na początek chcę uprzedzić, że od niedawna jestem na tej stronie i wgl nie miałem do czynienia z C++, więc proszę o wyrozumiałość i nie pisanie głupich postów, że nie umiem itp bo jak już pisałem zaczynam :)

W pracy domowej w kursie C++ dla początkujących w rozdziale 9 jest praca domowa i wszystko ok tylko nie wiem jak zrobić, żeby dane na wejście pokazywały się od razu linia pod linijką - Zawsze albo pierwsza liczba jest okey, a żeby pozostałe wyświetlić muszę napisać jakąś literę lub cyfrę, a potem ENTER lub pierwsza liczba wyskoczy i znów cyfra lub liczba, Enter i pozostałe dwie wyskoczą w jednej linii ;/ Próbowałem wszystkiego co mi do łba przyszło i nic ;/ Wiem, że to jest śmieszne dla Was, ale chciałbym się dowiedzieć w czym robię błąd :(

#include <iostream>
int main ()
{
    int a;
    unsigned long long b;
    unsigned char c;
std::cin.clear();
std::cin.sync();
std::cout << " 13 ";
   std::cin >> a;
   std::cin.clear();
std::cin.sync();
   std::cout <<  " tak 23.8" ;
   std::cin >> b;
   std::cin.clear();
std::cin.sync();
   std::cout << " 33.22 nie " ;
   std::cin >> c;
std::cin.clear();
std::cin.sync();
   std::cout << " Liczba pierwsza to: " << 13 << std::endl;
   std::cout << " Liczba druga to: " <<  23.8 << std::endl;
std:: cout << " Liczba trzecia to: " << 33.22<< std::endl ;
return 0;
}

Mógłby ktoś powiedzieć co trza dodać lub skasować ? A i jeszcze na końcu nie wiem co wstawić, żeby wyświetliło się " Wczytano ? 0. " lub coś podobnego. Link do tego zadania - > http://cpp0x.pl/kursy/Kurs-C++/Podstawy/Obsluga-strumienia-wejsciowego/12
Na pewno będę o moich błędach pamiętał i postaram się ich w przyszłości nie popełniać ;)

Dzięki za odpowiedź !
P-26053
ison
» 2010-12-31 22:22:47
Twoim zadaniem jest wczytanie 3 zmiennych, w których masz trzymać liczby rzeczywiste
potrzebujesz zatem zmiennych typu
double
 (lub float, long double)

C/C++
std::cout << " tak 23.8";
tego nie możesz wypisywać na ekran, to był przykład co może zostać wprowadzone przez użytkownika

przeanalizuj sobie to rozwiązanie:
C/C++
#include <iostream>

int main()
{
    double a = 0, b = 0, c = 0; //deklarujemy trzy zmienne, do których będziemy wczytywać wartości
    bool wczytano_a, wczytano_b, wczytano_c; //deklarujemy trzy zmienne, które będą przechowywały informację czy wczytanie zmiennej się powiodło, zmienna typu bool może przechowywać wartość true lub false (1 albo 0). Jest to 1 bit (choć tak na prawdę nie jest bo zajmuje 1 bajt, ale to swoją drogą)
   
    std::cin >> a; //wczytujemy pierwszą zmienną
    wczytano_a = std::cin.good(); //pod zmienną wczytano_a podstawiamy informację czy wczytanie się powiodło
    std::cin.clear(); //czyścimy flagi błędów
    std::cin.sync(); //czyścimy bufor
    std::cin >> b; //wczytujemy kolejną zmienną
    wczytano_b = std::cin.good(); //itd...
    std::cin.clear();
    std::cin.sync();
    std::cin >> c;
    wczytano_c = std::cin.good();
    std::cin.clear();
    std::cin.sync();
   
    //po wczytaniu 3 zmiennych wypisujemy wyniki
    std::cout << "Liczba pierwsza to: " << a << ". Wczytano? " << wczytano_a << '.' << std::endl;
    std::cout << "Liczba druga to: " << b << ". Wczytano? " << wczytano_b << '.' << std::endl;
    std::cout << "Liczba trzecia to: " << c << ". Wczytano? " << wczytano_c << '.' << std::endl;
   
    return 0;
}

tylko łatwo się nie zniechęcaj co do nauki C++ ;)
P-26055
Vercevales
» 2011-01-01 10:45:18
drobna wskazówka:

Gdy wklejasz źródło tu na forum, to w kwadratowych nawiasach napisz cpp, a na końcu źródła też w kwadratowych nawiasach /cpp

wtedy ładnie ci się wyświetli "pokolorowane" źródło i innym będzie lepiej czytać :)


[cpp]
tu twoje źródło
[/cpp]
P-26058
« 1 »
  Strona 1 z 1