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

Zadanie - poziom 1 lekcja 8

Ostatnio zmodyfikowano 2015-11-13 14:59
Autor Wiadomość
Pepe
Temat założony przez niniejszego użytkownika
Zadanie - poziom 1 lekcja 8
» 2015-11-13 00:20:03
Witam, dobrnąłem w kursie do 8 lekcji i nie rozumiem pewnej rzeczy. W zadaniu domowym trzeba poprawić ten kod:

#include <iostream>
int main()
{
    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

tak, aby program wyświetlał na ekranie liczbę 123. Napisałem go na dwa sposoby, jeden działa prawidłowo, a drugi już nie. W wersji błędnej, zamiast liczby 123 wyświetla się znaczek "<". Poniżej wklejam oba kody, najpierw prawidłowy potem ten błędny. Gdyby ktoś mógł mi wyjaśnić co robię nie tak, będę bardzo wdzięczny.

Wersja prawidłowa:
#include <iostream>
int main()
{
 unsigned int nieznana;
 nieznana = 123;
    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}


Wersja nieprawidłowa:
#include <iostream>
int main()
{
 unsigned char nieznana;
 nieznana = 123;
    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}
P-140061
carlosmay
» 2015-11-13 05:34:53
Zmienna typu char przyjmuje pojedynczy znak.
C/C++
char znak = 'c';
 
P-140063
Rashmistrz
» 2015-11-13 12:21:28
W tym drugim przypadku zadeklarowałeś "zmienną znakową".
Możesz przypisać do niej konkretny znak lub liczbę,
jednakże cout jest nauczony tak wyświetlać
tego typu zmienne jako znak, a nie liczbę.

Żeby Ci zadziałało tak jak chcesz
musisz ją rzutować na inny typ:  (np. int)
1.
( int ) nieznana
.
2.
int( nieznana )
.
P-140069
Pepe
Temat założony przez niniejszego użytkownika
» 2015-11-13 13:42:43
wielkie dzięki za wyjaśnienia, już rozumiem :)
temat do zamknięcia
P-140070
Rashmistrz
» 2015-11-13 14:59:15
Własne tematy można otwierać
i zamykać według własnych potrzeb.
P-140075
« 1 »
  Strona 1 z 1