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

Pętla - program.

Ostatnio zmodyfikowano 2013-11-08 18:07
Autor Wiadomość
Tunik
Temat założony przez niniejszego użytkownika
Pętla - program.
» 2013-11-08 16:54:13
Witam.
Mam do wykonania takie oto zadanie:

Napisz pętlę wczytującą kolejne liczby z klawiatury i kończącą się gdy:
- suma tych liczb przekroczy 100,
- ilość podanych liczb ujemnych przekroczy 10,
- dwie kolejne podane liczby będą miały identyczną wartość,

Napisałem taki oto program:
C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int ujemne;
    ujemne = 0;
    double liczba1, suma, liczba2;
    suma = 0;
    do
    {
        cout << "Podaj dowolna liczbe: " << endl;
        cin >> liczba1;
        if( liczba1 < 0 )
        {
            ujemne = ujemne + 1;
        }
        suma = suma + liczba1;
        cout << "Podaj dowolna liczbe: " << endl;
        cin >> liczba2;
        if( liczba2 < 0 )
        {
            ujemne = ujemne + 1;
        }
        suma = suma + liczba2;
    }
    while( suma <= 100 || liczba1 != liczba2 || ujemne <= 10 );
   
    if( suma > 100 )
         cout << "Suma podanych liczb przekroczyla 100" << endl;
    else if( liczba1 == liczba2 )
         cout << "Dwie kolejne podane liczby mialy taka sama wartosc" << endl;
    else if( ujemne > 10 )
         cout << "Ilosc podanych liczb ujemnych byla wieksza niz 10" << endl;
   
    getch();
   
}
Program się kompiluje, ale przez cały czas wyskakuje polecenie "Podaj dowolna liczbe", mimo tego że podaje dwie takie same liczby po sobie, suma przekroczy 100 lub ilość liczb ujemnych przekroczy 10.
P-95654
pekfos
» 2013-11-08 17:45:57
Zamiast || powinno być &&.

Poza tym, program jest źle zaprojektowany. Zadanie można zapisać bardzo krótko, a do tego programu trzeba dopisać dużo kodu, by działał dla wszystkich przypadków.
P-95664
Tunik
Temat założony przez niniejszego użytkownika
» 2013-11-08 18:07:53
Ok, dzięki za pomoc ;)
P-95672
« 1 »
  Strona 1 z 1