3 / 4
Sep 2019

Pisze programy w C i mojej pytanie jest następujące, jeżeli w poleceniu nie mam określonej liczby wykonania zadań, jak sprawdzić kiedy program ma się zakończyć

  • created

    Sep '19
  • last reply

    Sep '19
  • 3

    replies

  • 985

    views

  • 4

    users

  • 1

    like

  • 1

    link

Często się zdarza że nie jest wiadome ile razy dany fragment lub program należy wykonać. Ale może wiadomo jest że jakaś zmienna [lub suma (lub różnica lub iloraz lub iloczyn lub … )zmiennych] zmierza do jakieś z góry znanej wartości. Można odpowiednio użyć tej informacji do skonstruowania warunku pętli while(). Fragment programu (lub program) można kończy gdy nastąpi EOF w jakimś strumieniu danych (lub błąd po jakiejś operacji).

Przeważnie wykorzystuje się wartość zwracaną przez funkcję wczytującą dane. Przykładowo funkcja scanf zwraca liczbę elementów wczytanych do zmiennych. Możesz zatem zrobić warunek, że liczba wczytanych elementów musi być równa oczekiwanej. Jeżeli mamy zadanie, w którym mamy nieokreśloną liczbę zestawów danych, a każdy zestaw to 2 liczby, które mamy dodać to kod mógłby wyglądać tak:

while (scanf("%d %d", &a, &b) == 2) { printf("%d\n", a + b); }

Funkcja scanf również może zwrócić EOF jeżeli wystąpi błąd wprowadzenia przed jakimkolwiek przypisaniem:

while (scanf("%d %d", &a, &b) != EOF) { printf("%d\n", a + b); }

Suggested Topics

Want to read more? Browse other topics in Tutoriale, poradniki or view latest topics.