C++ [Sprawdzanie liczb i wykonywanie na nich działań]
Ostatnio zmodyfikowano 2019-11-28 22:52
matrix72001 Temat założony przez niniejszego użytkownika |
C++ [Sprawdzanie liczb i wykonywanie na nich działań] » 2019-11-28 20:56:35 Witam. Jestem początkujący jeżeli chodzi o programowanie. Dostałem ostatnio w szkole pewne zadanie z podręcznika, w którym należy napisać program w C++, pobiera 3 wartości zmiennych i wykonuje podane działania, gdy zostaną spełnione warunki. Warunki są 3: 1) Mnoży liczbę pierwszą oraz drugą, gdy pierwsza liczba > od trzeciej liczby i liczba druga > liczby pierwszej; 2) Dzieli liczby: drugą przez trzecią, gdy liczba druga < trzeciej albo druga < pierwszej; 3) Dodaje wszystkie 3 liczby, gdy liczba trzecia > od pierwszej i liczba 2 nie jest równa 5 lub liczba druga > od trzeciej oraz liczba pierwsza nie jest równa 0. Ja wykonałem właśnie takowy skrypt: #include <iostream>
using namespace std;
float liczba1 = 0; float liczba2 = 0; float liczba3 = 0; float wynik = 0;
int main() { cout << "Podaj liczbe \"a\"" << endl; cin >> liczba1; cout << "Podaj liczbe \"b\"" << endl; cin >> liczba2; cout << "Podaj liczbe \"c\"" << endl; cin >> liczba3; if( liczba1 > liczba3 && liczba2 > liczba1 ) { wynik = liczba1 * liczba2; cout << "Wynik to : " << wynik << endl; } if( liczba2 < liczba3 || liczba2 < liczba1 ) { wynik = liczba2 / liczba3; cout << "Wynik to : " << wynik << endl; } if( liczba3 > liczba1 && liczba2 != 5 || liczba2 > liczba3 && liczba1 != 0 ) { wynik = liczba1 + liczba2 + liczba3; cout << "Wynik to : " << wynik << endl; } return 0; }
Lecz mam pewne probemy, mianowicie: 1) nie mam pojęcia czy algorytm został prawidłowo zapisany, a problem rozwiązany 2) podczas uruchomienia programu i spełnieniu warunków, program zamiast wyświetać 1 wynik wyświetla 2, z czego pierwszy to ten spełniony, ale pod spodem jest też drugi, i nie zawsze w tej samej kolejności. Zdarza mi się też wyświetlić tylko jedną linijkę kodu, ale nie wiem jamkim sposobem. Np: warunek 1: Podaj liczbe "a" 7 Podaj liczbe "b" 8 Podaj liczbe "c" 5 Wynik to : 56 Wynik to : 20 <==== nie wiem skąd się to wzięło a gdy wprowadzę liczby: (warunek 3): Podaj liczbe "a" 4 Podaj liczbe "b" 3 Podaj liczbe "c" 1 Wynik to : 3 <===== ten wynik nie jest potrzebny Wynik to : 8 Mam nadzieję, że pomożecie mi rozwiązać ten problem. |
|
nanoant20 |
» 2019-11-28 22:52:59 Wynik to : 56 Wynik to : 20 <==== nie wiem skąd się to wzięło
|
ponieważ ten warunek jest spełniony if( liczba3 > liczba1 && liczba2 != 5 || liczba2 > liczba3 && liczba1 != 0 )
|
Wynik to : 3 <===== ten wynik nie jest potrzebny Wynik to : 8 |
ten warunek jest spełniony if( liczba2 < liczba3 || liczba2 < liczba1 )
|
2) podczas uruchomienia programu i spełnieniu warunków, program zamiast wyświetlać 1 wynik wyświetla 2 |
if( liczba1 > liczba3 && liczba2 > liczba1 ) { wynik = liczba1 * liczba2; cout << "Wynik to : " << wynik << endl; } else if( liczba3 > liczba1 && liczba2 != 5 || liczba2 > liczba3 && liczba1 != 0 ) { wynik = liczba1 + liczba2 + liczba3; cout << "Wynik to : " << wynik << endl; } else { wynik = liczba2 / liczba3; cout << "Wynik to : " << wynik << endl; }
|
|
« 1 » |