Wpis z mikrobloga

#naukaprogramowania #cpp
Mireczki proszę o pomoc.
Uczę się dopiero c++ i po kolej robie jakieś programming taski.
Mam za zadanie napisać program który wczytuje wartość a<0, i musi dodawać do niej 25 dopóki a >=0.
Na dole jest kod (bo cannot into spoiler), nie wiem co jest nie tak bo wykonuje dodawanie tylko 1 raz a dla małych liczb na minusie typu -1,-2,-3... aż do -25 wywala jakiś dziwny wynik

#include
using namespace std;
int main()
{
signed int a;
cin>>a;
do
{
a+=25;

}
while( a>=0 );

cout<
  • 8
@kevinhomealone: Drobna uwaga - przy pętli "do ... while" warunek sprawdzany jest dopiero PO pierwszym wykonaniu pętli. Czyli jak podasz liczbę większą od zera, np. 3, to program zwróci Ci 28 - a jest to niezgodne z zadaniem, które podałeś. W tym przypadku zastosuj zwykłego while'a:

while(a<0) {
a+=25;
}

program który wczytuje wartość a<0


Zauważ że warunek wejściowy nie jest ostry (nie uwzględnia zera, tylko liczby ujemne), dlatego pętla nie
@kevinhomealone: Też będzie działać, ale (jeśli mogę doradzić, oczywiście) polecam ograniczać sprawdzanie tych samych rzeczy do minimum i używać narzędzi w sposób, w jaki zostały użyty. Twoje rozwiązanie (if przed do-while) przypomina wbijanie gwoździ siekierą, ostrą stroną - można, ale łatwo palce stracić.

Później po prostu kod jest nieczytelny, ciężko zrozumieć, czemu programista dwa razy sprawdza to samo no i czemu nie zrobił tego "jak człowiek" ;)