Napisałem kalkulator w konsoli niestety wyskakują mi błędy i nie wiem w czym problem. Dopiero się uczę. Z góry dziękuje za pomoc.
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <fstream>
float bokkw, przekatnakw, bokpr1, bokpr2, podstawatr1, podstawatr2, wysokosctr, d1, d2, o1, o2, m1, m2, dz1, dz2;
float obwod_kwadratu( float x )
{
return x * 4;
}
float pole_kwadratu( float x )
{
return x * x;
}
float pole_kwadratuprze( float x )
{
return x * x / 2;
}
float obwod_prostokata( float x, float y )
{
return x * 2 + y * 2;
}
float pole_prostokata( float x, float y )
{
return x * y;
}
float pole_trapezu( float h, float a, float b )
{
return a + b / 2 * h;
}
float dodawanie( float a, float b )
{
return a + b;
}
float odejmowanie( float a, float b )
{
return a - b;
}
float mnozenie( float a, float b )
{
return a * b;
}
float dzielenie( float a, float b )
{
return a / b;
}
int main()
{
for(;; )
{
printf( "\nMENU GLOWNE \n" );
printf( "\n-------------------------------------------\n" );
printf( "1.Pole i obwod kwadrata z uzyciem bokuw\n" );
printf( "2.Pole kwadrata z uzyciem przekatnej \n" );
printf( "3.Pole i obwod prostokata z uzyciem bokuw\n" );
printf( "4.Pole trapezu z uzyciem podstaw i wysokosci\n" );
printf( "5.Dodawanie 2 liczb\n" );
printf( "6.Odejmowanie 2 liczb\n" );
printf( "7.Mnozenie 2 liczb\n" );
printf( "8.Dzielenie 2 liczb\n" );
printf( "9.Wyjscie\n" );
; printf( "\n-------------------------------------------\n" );
char opcja;
printf( "wybierz opcje " );
scanf( "%c", opcja );
switch( opcja );
{
case 1:
printf( "\nPodaj dlugosc boku kwadratu " );
scanf( "%s", bokkw );
float isamu = obwod_kwadratu( bokkw );
float polekw = pole_kwadratu( bokkw );
printf( "kwadrat o boku %2.f ma obwod %2.f a pole %2.f\n", bokkw, isamu, polekw );
break;
case 2:
printf( "\npodaj dlugosc przekatnej kwadratu " );
scanf( "%2.f\n", przekatnakw );
float pole = pole_kwadratuprze( przekatnakw );
printf( "kwadrat o przekatnej %2.f ma pole %2.f\n", przekatnakw, pole );
break;
case 3:
printf( "\npodaj boki prostokata " );
scanf( "%2.f %2.f\n", bokpr1, bokpr2 );
float obwodpr = obwod_prostokata( bokpr1, bokpr2 );
float polepr = pole_prostokata( bokpr1, bokpr2 );
printf( "Prostokat o bokach %2.f %2.f ma pole %2.f o obwod %2.f\n", bokpr1, bokpr2, polepr, obwodpr );
break;
case 4:
printf( "\nPodaj wysokość trapezu " );
scanf( "%2.f", wysokosctr );
printf( "podaj dlugosc podstaw trapezu " );
scanf( "%2.f %2.f\n", podstawatr1, podstawatr1 );
float poletrapezu = pole_trapezu( wysokosctr, podstawatr1, podstawatr2 );
printf( "trapez ma pole %2.f\n", poletrapezu );
break;
case 5:
printf( "\nPodaj 1 liczbe " );
scanf( "%2.f\n", d1 );
printf( "podaj 2 liczbe " );
scanf( "%2.f\n", d2 );
float dodawaniee = dodawanie( d1, d2 );
printf( "wynik %2.f\n", dodawaniee );
break;
case 6:
printf( "\nPodaj 1 liczbe " );
scanf( "%2.f\n", o1 );
printf( "podaj 2 liczbe " );
scanf( "%2.f\n", o2 );
float odejmowaniie = odejmowanie( o1, o2 );
printf( "wynik %2.f\n", odejmowaniie );
break;
case 7:
printf( "Podaj 1 liczbe " );
scanf( "%2.f", m1 );
printf( "podaj 2 liczbe " );
scanf( "%2.f", m2 );
float mmnozenie = mnozenie( m1, m2 );
printf( "wynik %2.f", mmnozenie );
break;
case 8:
printf( "Podaj 1 liczbe " );
scanf( "%2.f", dz1 );
printf( "podaj 2 liczbe " );
scanf( "%2.f", dz2 );
if(( dz1 != 0 ) ||( dz2 != 0 ) )
printf( "wynik %2.f", dzielenie( dz1, dz2 ) );
else printf( "\nNie dzielimy przez 0\n" );
break;
case 9:
exit( 0 );
break;
default:
printf( "\nNiema takiej opci\n" );
break;
}
getchar();
system( "cls" );
}
return 0;
}