1

Тема: Передчасне завершення програми

Всім привіт:) Друзі, є питання, пишу програму на Сі, недавно тільки почав цю мову вчити, тому не дуже обізнаний, суть питання така: треба зробити передчасне завершення програми, коли введені неправильні значення. Як це можна зробити? Можливо тут є щось схоже на GOTO?
І щоб не створювати ще одну тему, хотів попитати ще таке: як зробити, щоб після виконання програми вона не просила натиснути любу клавішу і після цього завершувалась, а щоб натичкаючи певну клавішу програма починала працювати знову?

2

Re: Передчасне завершення програми

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

3

Re: Передчасне завершення програми

koala написав:

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

Я зробив циклом, оголосив ще одну змінну, і задав їй умову, що вона більша 0, тоді працює калькулятор, але тепер при кожному разі запуску програми потрібно вводити спочатку число більше 0, аби калькулятор працював.

4

Re: Передчасне завершення програми

navchalkin написав:
koala написав:

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

Я зробив циклом, оголосив ще одну змінну, і задав їй умову, що вона більша 0, тоді працює калькулятор, але тепер при кожному разі запуску програми потрібно вводити спочатку число більше 0, аби калькулятор працював.

Використовуйте цикл з післяумовою do while

5 Востаннє редагувалося navchalkin (08.05.2015 23:23:06)

Re: Передчасне завершення програми

Betterthanyou написав:
navchalkin написав:
koala написав:

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

Я зробив циклом, оголосив ще одну змінну, і задав їй умову, що вона більша 0, тоді працює калькулятор, але тепер при кожному разі запуску програми потрібно вводити спочатку число більше 0, аби калькулятор працював.

Використовуйте цикл з післяумовою do while

так і зробив. Тепер постало інше питання, коли вводити неправильні значення -- спрацьовує "return 0", і виходить з програми. Чи можна зробити, щоб воно не тікало за межі циклу? Тобто коли помилка -- кидає на кінець циклу, і починає з початку

6

Re: Передчасне завершення програми

Пане, вибачте, ми тут не телепати. По коду і опису змін в ньому неможливо встановити помилку - тільки по новому коду.

navchalkin написав:

при кожному разі запуску програми потрібно вводити спочатку число більше 0

А якщо присвоїти значення замість вводу?

navchalkin написав:

Тобто коли помилка -- кидає на кінець циклу, і починає з початку

while(...){
  ...
  if(помилка){
    continue;
  }
  ...
}

або, знову ж таки,

while(...){
  ...
  if( !помилка ){
     ...
  }
}
Подякували: navchalkin1

7

Re: Передчасне завершення програми

koala написав:

Пане, вибачте, ми тут не телепати. По коду і опису змін в ньому неможливо встановити помилку - тільки по новому коду.

navchalkin написав:

при кожному разі запуску програми потрібно вводити спочатку число більше 0

А якщо присвоїти значення замість вводу?

navchalkin написав:

Тобто коли помилка -- кидає на кінець циклу, і починає з початку

while(...){
  ...
  if(помилка){
    continue;
  }
  ...
}

або, знову ж таки,

while(...){
  ...
  if( !помилка ){
     ...
  }
}

те що треба:) велике спасибі:)