1 Востаннє редагувалося nicoliafox (24.10.2015 21:09:39)

Тема: Проблема з умовами.

#include <conio.h>
#include <stdio.h>
#include <locale.h>
#include <math.h>

int main()
{

    setlocale(LC_ALL, "Ukr");
    int i, x=-10;
    float y;
    for (i=0; i<=20; i++)
    {
        if ((x == -10) || (x == 0) || (x == 10)) {
            printf("Функцiя не визначена!\n");
            y=x;
        }
        if ((x > -3) && (x < 3)){
            printf("<x> бiльше -3 i менше 3! y=x!\n");
            y=x;
        }
        if (x < -3){
            printf("<x> менше -3! y=(x^2-3x+2)/2! ");
            y = ((powf(x, 2) - 3 * x + 2) / 2);
        }
        else {
            printf("<x> бiльше 3! y=x^3!");
            y = powf(x, 3);
        }
        printf("x=%i\t", x);
        printf("y=%f\n", y);
        x=x+2;
        
    }
    getch();
    return 0;
}

Дана програма не конкретно опрацьовує умову ((x > -3) && (x < 3)), програма відображає її текст, але виконує обрахування, які знаходяться в блоку else.

Програма повинна працювати по такому алгоритму:
1.    Задаємо типи змінних «х», «у», «і».
2.    Задаємо цикл з кроком 2 для змінної х=-10.
3.    Якщо «х» буде 10 або -10 або 0 то вивести «Функцiя не визначена! та  пропустити обрахування значення «y».
4.    Якщо «х» більше -3 і менше 3, то вивести саме число «х».
5.    Якщо «х» більше 3, то y=x^3.
6.  Якщо «х» менше -3, то y=(x^2-3x+2)/2.
7. Відобразити змінні «х», «y».

Як ще зробити, що б при виконанні умови if ((x == -10) || (x == 0) || (x == 10))
, програма виводила лише текст printf("Функцiя не визначена!\n");, і не виконувала ніяких дій, продовжуючи роботу циклу, break - не допоміг.

Post's attachments

Снимок.PNG 64.14 kb, 143 downloads since 2015-10-24 

2 Востаннє редагувалося koala (24.10.2015 21:12:06)

Re: Проблема з умовами.

if(умова){
  тіло
} else if(умова){
  тіло
} else if(умова){
...
} else {
  останнє тіло
}
Подякували: nicoliafox1