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

mam problem w zad. dom. z lekcji 10 na poziomie 1

Ostatnio zmodyfikowano 2012-11-13 20:23
Autor Wiadomość
iluminium
Temat założony przez niniejszego użytkownika
mam problem w zad. dom. z lekcji 10 na poziomie 1
» 2012-11-13 20:10:50
Problem jest taki: zadanie do wykonania:

Napisz program, który wczyta dwie liczby całkowite a i b, a następnie wykona na nich obliczenia. Efekt działania programu powinien być następujący:

Podaj a: 5
Podaj b: 4
a + b = 9
a - b = 1
a * b = 20
a / b = 1
a % b = 1

napisałem tak:

C/C++
#include <iostream>
using namespace std;
int main()
{
    int a = 5, b = 4;
    cout << "Podaj a: " << a << endl;
    cout << "Podaj b: " << b << endl;
    a += b;
    cout << "a + b = " << a << endl;
    a -= b;
    cout << "a - b = " << a << endl;
    a *= b;
    cout << "a * b = " << a << endl;
    a /= b;
    cout << "a / b = " << a << endl;
    a %= b;
    cout << "a % b = " << a << endl;
   
    return 0;
}

ale wynik odejmowania i dzielenia dziwny:

Podaj a: 5
Podaj b: 4
a + b = 9
a - b = 5
a * b = 20
a / b = 5
a % b = 1

dlaczego?

z góry dzięki
P-69168
SeaMonster131
» 2012-11-13 20:12:41
Bo cały czas operujesz na jednej zmiennej. Dodajesz do niej jakąś wartość, później odejmujesz itd. Dlatego wyniki się różnią.
A po drugie, to użytkownik ma wpisać wartość zmiennych a i b :P
P-69169
iluminium
Temat założony przez niniejszego użytkownika
» 2012-11-13 20:20:13
ale w kursie było tak

C/C++
#include <iostream>
int main()
{
    double liczba = 123.3;
    std::cout << "liczba = " << liczba << std::endl;
   
    liczba = liczba + 6.7;
    std::cout << "liczba = " << liczba << std::endl;
   
    liczba -= 30;
    std::cout << "liczba = " << liczba << std::endl;
   
    liczba /= 11;
    std::cout << "liczba = " << liczba << std::endl;
   
    liczba *= 3;
    std::cout << "liczba = " << liczba << std::endl;
   
    int nowa = liczba;
    std::cout << "nowa = " << nowa << std::endl;
   
    nowa %= 8;
    std::cout << "nowa = " << nowa << std::endl;
   
    nowa++;
    std::cout << "nowa = " << nowa << std::endl;
   
    ++nowa;
    std::cout << "nowa = " << nowa << std::endl;
   
    nowa *= 10;
    std::cout << "nowa = " << nowa << std::endl;
   
    --nowa;
    std::cout << "nowa = " << nowa << std::endl;
   
    nowa--;
    std::cout << "nowa = " << nowa << std::endl;
    return 0;
}

jak widać tu także wszystkie działania są wykonywane na jednej zmiennej (na "liczba") i wychodzi  jak powinno:

liczba = 123.3
liczba = 130
liczba = 100
liczba = 9.09091
liczba = 27.2727
nowa = 27
nowa = 3
nowa = 4
nowa = 5
nowa = 50
nowa = 49
nowa = 48
P-69171
iluminium
Temat założony przez niniejszego użytkownika
» 2012-11-13 20:23:59
dobra załapałem jak zacząłem myśleć :P

dzięki i pozdrawiam
P-69173
« 1 »
  Strona 1 z 1