Proste potęgowanie w C - drobna poprawka

0

Witajcie :)
Daawno temu znałem podstawy C++ ale chyba już wszystkiego zapomniałem...
Mam do napisania bardzo podstawowy program i jestem chyba nawet na końcu ale nadal nie mogę rozpracować kilku problemów.
Chodzi o potęgowanie 2 liczb z tym, że podstawa musi mieścić się w zakresie 1 < x < 5 , natomiast wykładnik musi być: 0 < n < 10.
Po intensywnym używaniu google zmontowałem coś takiego:

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

int main()
{
  float x, n;

  printf("Podaj podstawe potegi: ");
  scanf("%f", &x);
              if ( x < 1 && x > 5 )
                 {
                      printf("Blad!");
                      system ("PAUSE");
                      return 0;
                      }
                      else {
  printf("Podaj potege: ");
    scanf("%f", &n);
                if ( n <= 0 && n <= 10 )
                 {
                      printf("Blad!");
                      system ("PAUSE");
                        return 0;
                      }
                      else {

  printf("%.2f do %.2f, to %.2f", x, n, pow(x, n));
}
}
  system ("PAUSE");
  return 0;
}

Nie działają w tym warunki bo potęgę to chyba nawet liczy dobrze. :)
Proszę o pomoc...

0

podstawy logiki się kłaniają, to: if ( x < 1 && x > 5 ) nigdy nie będzie prawdą, to: if ( n <= 0 && n <= 10 ) jest prawdą również dla n=-5000;

0
#include <stdio.h>
#include <math.h>
 
int main()
{
  float x, n;
 
  printf("Podaj podstawe potegi: ");
  scanf("%f", &x);
    if ( x < 1 || x > 5 )
    {
        printf("Blad!");
        return 1;
    }
  printf("Podaj potege: ");
  scanf("%f", &n);
    if ( n < 0 || n > 10 )
    {
        printf("Blad!");
        return 2;
    }
 
  printf("%.2f do %.2f, to %.2f", x, n, pow(x, n));

  return 0;
} 

Musisz użyć || czyli 'lub'.

0

Dzięki Wam zorientowałem się, że naprawdę dużo zapomniałem... aż głupio trochę.
Program już dokończyłem.
Dziękuję Wam serdecznie za pomoc. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1