Witam,
napisałem sobie program liczący, problem polega na tym, że podczas wyboru w tym przypadku '1', nie wczytuje z klawiatury.
Czy ten fragment jest poprawny do wczytania znaku z klawiatury ?
char wybor;
..
getc(stdin);
scanf("%c", &wybor);
Po rozwiązaniu tego problemu, chciałbym zaimplementować tablice, gdzie będą przechowywane dane podanej figury, oraz osobno wynik[].
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float obw_kwadrat(float x)
{
return 4*x;
}
float pole_kwadrat(float x)
{
return pow(x,2);
}
float obw_prostokat(float x, float y)
{
return (2*x)+(2*y);
}
float pole_prostokat(float x,float y)
{
return x*y;
}
float pole_kolo(float r)
{
return M_PI*r;
}
float obw_kolo(float r)
{
return 2*M_PI*r;
}
int main(void)
{
float wynik;
float a;
char wybor;
while (1){
fflush(stdout);
printf("Wybierz operację: \n 1. Obwód kwadratu\n 2. Pole kwadratu\n 3. Obwód prostokata\n 4. Pole prostokata\n 5. Pole koła\n 6. Obwód koła\n");
getc(stdin);
scanf("%c", &wybor);
switch(wybor){
case '1':
{
printf("Obwód kwadratu. Podaj wartość a: ");
scanf("%f", &a);
wynik = obw_kwadrat(a);
printf("Wynik: ", &wynik);
break;
}
default:
{
printf("błąd");
}
}
}
return 0;
}