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

Lekcja 9

Ostatnio zmodyfikowano 2016-11-13 20:40
Autor Wiadomość
carlosmay
» 2016-07-21 21:48:00
C/C++
cin.get();
cin.get();
Tego wcale nie potrzebujesz.

#include "stdafx.h"
Tego też nie.

Jak wprowadzasz dane?
P-150194
SumekQQ
» 2016-07-21 22:57:33
Z klawiatury np dla:
1. 32
2. nie123
3. 33.55 tak
P-150195
carlosmay
» 2016-07-21 23:27:21
cin >> b;
Zmienna b nie ma wartości początkowej, więc przy próbie wczytania danych niezgodnych z typem zmiennej,
strumień wykrywa błąd i pomija operację wczytania danych (wartość b nie jest zmieniona).

Dopisz do programu wypisanie wartości zmiennej b, przed wprowadzaniem danych od użytkownika.
Zmienna b powinna mieć tą samą przypadkową wartość.

MSV ma super debugger, użyj go do podglądania zmiennych w programie.
P-150196
kusanagi
praca domowa 1.9 - "wczytano?" zawsze jako "1"
» 2016-11-12 23:32:22
Witajcie,

Pozwalam sobie wrzucić tutaj mój problem, żeby nie mnożyć wątków na temat pracy domowej z lekcji 1.9.

1) Napisałam kod, wciskam F9, jako dane wejściowe wpisuję dane podane w zadaniu, czyli kolejno:
13.3
tak 123
33.22nie

Przy liczbie drugiej program zawsze generuje mi coś takiego: "Liczba druga to: 0 Wczytano? 1", podczas gdy, zgodnie z zadaniem powinno być "Wczytano? 0".


Ogółem więc program generuje mi coś takiego:

Podaj liczbe rzeczywista 1: 13.3

Podaj liczbe rzeczywista 2: tak 123

Podaj liczbe rzeczywista 3: 33.22nie

Liczba pierwsza to: 13.3 Wczytano? 1
Liczba druga to: 0 Wczytano? 1
Liczba trzecia to: 33.22 Wczytano? 1

Process returned 0 (0x0)   execution time : 18.820 s
Press any key to continue.




Przejrzałam tu na forum kilka tematów o lekcji 9, ale nie mogę dojść, czemu wartość "wczytano ?" dla liczby drugiej zawsze wynosi "1" zamiast "0". Stąd proszę o pomoc - wskazanie, w czym tkwi błąd.

2) nie jestem pewna, czy

    cin.clear();
    cin.sync();

wstawiam w odpowiednim miejscu w kodzie. Również prosiłabym o potwierdzenie lub korektę.


Mój kod:

C/C++
#include <iostream>
using namespace std;
int main()
{
    float a, b, c;
    bool lpier = cin.good();
    bool ldru = cin.good();
    bool ltrze = cin.good();
   
    cout << "Podaj liczbe rzeczywista 1: ";
    cin >> a;
    cin.clear();
    cin.sync();
    cout << endl;
   
    cout << "Podaj liczbe rzeczywista 2: ";
    cin >> b;
    cin.clear();
    cin.sync();
    cout << endl;
   
    cout << "Podaj liczbe rzeczywista 3: ";
    cin >> c;
    cin.clear();
    cin.sync();
    cout << endl;
   
    cout << "Liczba pierwsza to: " << a << " Wczytano? " << lpier << endl;
    cout << "Liczba druga to: " << b << " Wczytano? " << ldru << endl;
    cout << "Liczba trzecia to: " << c << " Wczytano? " << ltrze << endl;
    return 0;
}
P-153622
carlosmay
» 2016-11-13 20:40:09
Przejrzałam tu na forum kilka tematów o lekcji 9, ale nie mogę dojść, czemu wartość "wczytano ?" dla liczby drugiej zawsze wynosi "1" zamiast "0". Stąd proszę o pomoc - wskazanie, w czym tkwi błąd.

2) nie jestem pewna, czy

    cin.clear();
    cin.sync();

wstawiam w odpowiednim miejscu w kodzie. Również prosiłabym o potwierdzenie lub korektę.
@kusanagi przeczytaj dokładnie cały temat. Są tu odpowiedzi na wszystkie twoje pytania.
P-153651
1 2 « 3 »
Poprzednia strona Strona 3 z 3