Switch. При любом n и x выдает- "Нет решений" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#include <math.h>
#define PI 3.141593
#define EXP 2.718281
#define A 1.887452
 
int main()
{
    float x,y;
    int n,flag=0;
    printf("Vvedide n and x\n");
    scanf("%f%f", &n, &x);
    switch(n) {
        case 1: 
    if (x >= 1.4 && x < PI) 
    {
        y=pow(sin(PI+x), 2)+((A+sqrt(x))/(x*x*x+A));
        flag=1;
    }
    break;
        case 2 : 
    if (x >= PI && x <= 5.2)
    {
        y=pow((A+pow(EXP, x-PI)), 1.0/3);
        flag=1;
    }
        break;
    }
    if (flag == 1) {
        printf("%f", y);
    }
    else {
        printf("Net Reshenii dlya takix dannih");
    }
}

Решение задачи: «Switch. При любом n и x выдает- "Нет решений"»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
void main()
{
int i,n;
float a,f,c,z,x,y;
 
    puts("Vvedite a= ");
    scanf("%f",&a);
    puts("Vvedite c= ");
    scanf("%f",&c);
    puts("Vvedite z= ");
    scanf("%f",&z);
    if(z<=1)
        x=pow(z,2)+1;
    if(z>1)
        x=1/sqrt(z-1);
    puts("Viberite f");
    puts("1. f=2*x");
    puts("2. f=x^2");
    puts("3. f=x/3");
    scanf("%d",&i);
    switch(i)
    {
        case 1: f=2*x; n=1; break;
        case 2: f=pow(x,2); n=2; break;
        case 3: f=x/3; n=3; break;
        default: puts("Funkciya ne vibrana");
    }
    y=a*pow(sin((pow(f,2))-1),3)+c*log(x)+exp(x);
    printf("y=%.4f",y);
    printf("\nRaschet po formule %d",n);
    getch();
}

Объяснение кода листинга программы

  1. Ввод значений переменных a, c, z, x и y с помощью функции scanf.
  2. Проверка значения переменной z и присвоение значения переменной x в зависимости от результата.
  3. Вывод списка функций f для выбора пользователем.
  4. Ввод выбора пользователя с помощью функции scanf и сохранение значения в переменной i.
  5. Осуществление выбора с помощью оператора switch и присвоение значения переменной f в зависимости от выбранного случая.
  6. Вычисление значения y с помощью формулы, включающей переменные a, c, x и f.
  7. Вывод значения y с помощью функции printf.
  8. Вывод сообщения о том, какая формула была использована для расчета с помощью функции printf.
  9. Ожидание нажатия клавиши с помощью функции getch.

Оцени полезность:

5   голосов , оценка 4.2 из 5