Oto co samemu wydziergałem:
Kod: Zaznacz cały
#include <stdio.h>
#include <stdafx.h>
#include <math.h>
int iloczyn(float a, float b, float *wartosc)
{
if((a<0||a>9)||(b<0||b>9)) return 1;
else *wartosc=a*b;
}
float iloraz(float a, float b, float *wartosc)
{
if((a<0||a>9)||(b<0||b>9)) return 1;
else *wartosc=a/b;
}
int suma(float a, float b, float *wartosc)
{
if((a<0||a>9)||(b<0||b>9)) return 1;
else *wartosc=a+b;
}
int roznica(float a, float b, float *wartosc)
{
if((a<0||a>9)||(b<0||b>9)) return 1;
else *wartosc=a-b;
}
int potega(float a, float b, float *wartosc)
{
if((a<0||a>9)||(b<0||b>9)) return 1;
else *wartosc=pow(a,b);
}
int main()
{
float wynik,a,b;
char bufor[1024], znak;
printf("Podaj dzialanie (np.2*2)=");
scanf("%f",bufor);
if (sscanf(bufor,"%f%c%f",&a,&znak,&b)==3)
{
if (!iloczyn(a,b,&wynik) && znak=='*')
printf("Iloczyn=%f\n",wynik);
if (!iloraz(a,b,&wynik) && znak =='/')
printf("Iloraz=%f\n",wynik);
if (!suma(a,b,&wynik) && znak=='+')
printf("Suma=%f\n", wynik);
if (!roznica(a,b,&wynik) && znak=='-')
printf("Roznica=%f\n", wynik);
if (!potega(a,b,&wynik) && znak=='^')
printf("Potega=%f\n", wynik);
else printf("\nNiewlasciwe liczby lub zle dzialanie\n");
}
else printf("\nNiewlasciwa liczba argumentow\n");
return 0;
}
Pozdrawiam.