witam. otóż mam problem że nauczycielka od podstaw programowania bardzo chce pętle while w zadaniu "utwórz program który wykona mnożenie dwóch liczb podanych przez użytkownika, następnie przypisze wynik zmiennej oraz sprawdzi, czy wynik jest większy, równy bądź mniejszy od 100", a owa pętla totalnie (moim zdaniem) nie pasuje. jedyne co udało mi się wymyśleć to jest to, żeby jakkolwiek wstawić tą pętlę (jak dałam na górze, przed linią z float, to zrobił się matrix przez którego nauczycielka dostaje wylewu) Nie wiem co jeszcze napisać poza faktem że oczekuje od nas że zrobimy to porządnie, jak sama nas nie uczy (tylko pokaże coś i "zróbcie to ale zaawansowane i lepiej"
Faktycznie dziwne, ta pętla tutaj nie pasuje. Jesteś pewien, że taka jest treść? Bez dodatkowych informacji, jakbym musiał dodać pętlę while
, to dodałbym taką, co czeka, aż użytkownik poda poprawne liczby, a nie na przykład jakieś błędne znaki. Ale tego nie wiemy.
Zobacz gdzie masz ustawione mnożenie liczb. Zmienna c
będzie tutaj losową wartością ( lub ewentualnie zerem ). Użytkownik może tutaj wprowadzać liczby jakie chce, to nie ma znaczenia. Natomiast pętla while
może mieć sens, kiedy na przykład będzie sterować liczbą prób odczytu. A jak ma być w rzeczywistości, to już pytanie, na które może odpowiedzieć tylko twórca tego zadania.
Może algorytm mnożenia trzeba zaimplementować?
Z pętlą chodzi pewnie o to, żeby móc wpisywać dalej te parametry. tzn
Podaj A -> Podaj B -> Wynik to C -> Podaj nowe A -> Podaj nowe B -> Nowy wynik to C
Same zmienne możesz zdefiniować przez pętlą. Popraw formatowanie i klamry, wrzuć kod jak należy tak jak pisał @Riddle
Ja czytając zadanie byłem przekonany, że masz wykonać mnożenie jako n dodawań i stąd pętla. Inaczej ten zapis nie ma sensu.
ja to rozumiem tak, że po prostu masz wziąć pętlę while i otoczyć nią cały kod:
while (true) {
// .... cała reszta kodu (poza return)
}
dzięki temu program wpada w wieczną pętlę (którą powinno się dać przerwać za pomocą Ctrl + C) i pyta o te liczby w kółko.
druga sprawa, że w C++ (jak również w większości popularnych języków programowania), instrukcje wykonują się po kolei, więc za wcześnie robisz mnożenie:
float a, b, c=a*b;
na tym etapie nie masz jeszcze przypisanej wartości do a
i b
, więc nie powinnaś jeszcze mnożyć - co innego gdyby to był np. Excel, wtedy miałoby to sens, że w jednej komórce piszesz coś w stylu =A1 * A2
, a dopiero potem przypiszesz liczby, bo tam się uaktualnia na bieżąco. Ogólnie programowanie imperatywne (C++) kontra deklaratywne (w stylu Excela). No ale imperatywnie, to powinnaś najpierw pobrać a
i b
, a potem dopiero wykonać mnożenie c = a * b