#include<stdio.h>
#include<conio.h>
#include <math.h>

main()
{
clrscr();
char level,powy;
int a,b,c,d,e,r,i,wy,cos;
float x,y,wynik;

do
{
clrscr();
printf("\n1 - Dodawanie");
printf("\n2 - Odejmowanie");
printf("\n3 - Dzielenie");
printf("\n4 - Mnozenenie");
printf("\n5 - Potegowanie");
printf("\n6 - Pierwiastkowanie");
printf("\n7 - Dodawanie wielu liczb\n\n");

scanf("%d",&cos);
if (cos == 6)
{
printf("\nPodaj podstawe: ");
scanf("%f",&x);
printf("\nPodaj wykladnik: ");
scanf("%f",&y);
}
else if (cos == 7)
 goto etykieta;
else
{
printf("\nPodaj pierwsza liczbe: ");
scanf("%d",&a);
printf("\nPodaj druga liczbe: ");
scanf("%d",&b);
}
if (cos == 1)
 level='1';
else if (cos == 2)
 level='2';
else if (cos == 3)
 level='3';
else if (cos == 4)
 level='4';
else if (cos == 5)
 level='5';
 else if (cos == 6)
 level='6';
  else if (cos == 7)
 level='7';

switch (level)
{
case'1': printf("\n Wynik dodawanie: %d",a+b);
	 break;
case'2': printf("\n Wynik odejmowania: %d",a-b);
	 break;
case'3':
 if(b==0)
 {
printf("\n\nBlad Nie dziele przez 0 !");
 break;
}
printf("\n Wynik dzielenia: %d",a/b);
	 break;
	
case'4':printf("\n Wynik mnozenia: %d",a*b);
	break;
case'5':
d=1;
for (c=1; c<=b; c++)
{
d=d*a;
}
printf("\n %d potega liczby %d wynoosi: %d",b,a,d);
break;
case'6': wynik=pow(x,1/y);
	 printf("\n %.3f stopnia z liczby û%.3f to %.3f",y,x,wynik);
	 break;
case'7': etykieta:
	 printf("\n Ile liczb chcesz dodac(tylko liczby naturalne): ");
	 scanf("%d",&r);
	 if (r<0)
	 {
	 do
	 {
	 printf("Podaj jeszcze raz: ");
	 scanf("%d",&r);
	 }
	 while(r<0);
	 }
	 wy = 0;
	 for(i=1; i<=r; i++)
	 {
	 printf("Podaj liczbe: ");
	 scanf("%d",&e);
	 wy = wy+e;
	 }
	 printf("Wynik dodawania %d liczb wynosi %d",r,wy);
	break;
default: printf("\nWprowadzono zle dane");
}
printf("\n\nChcesz kontynuowac?");
powy = getche();
}
while( powy =='y' || powy == 'Y');
getch();
}
