Dobry, mam problem odnośnie kompilacji programu, pomógłby ktoś?
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int wybor=0;
while (wybor!=3){
wybor=enmenu();
switch(wybor){
case 1:
info ();
break;
case 2:
menu2();
calkowanie();
break;
case 3:
zamknij_program();
break;
default:
break;
}
}
return 0;
}
void zamknij_program()
{
system("cls");
cout << "Zakonczono dzialanie programu." << endl;
}
int wybor()
{
int wybor;
cin >> wybor;
return wybor;
}
void info()
{
system("cls");
cout <<"CALKOWANIE METODA TRAPEZOW" << endl<<endl;
cout << "Calka to pole powierzchni pod krzywa funkcji." << endl;
cout << "Calkowanie jest dzialanie odwrotnym do rozniczkowania." << endl;
cout << "Jedno z podstawowych zastosowan calki to:" << endl;
cout << "liczenie pol powierzchni" << endl;
cout << "dlugosci lukow" << endl;
cout << "objetosci ksztaltow nieregularnych czyli takich, ktore ciezko jest wyliczyc z podstawowych wzorow." << endl<<endl;
cout << "Wprowadz dowolna liczbe, by przejsc dalej.....";
wybor();
}
int enmenu(){
system("cls");
cout <<"CALKOWANIE METODA TRAPEZOW" << endl<<endl;
cout << "1. Co to jest calka?" << endl;
cout << "2. Kalkulator"<< endl;
cout << "3. Wyjdz z programu." << endl<<endl;
cout << "Wybierz jedno z powyzszych opcji: ";
return wybor();
}
int menu2()
{
system("cls");
cout << "CALKOWANIE METODA TRAPEZOW" << endl<<endl;
cout << "Wybierz funkcje: " << endl;
cout << "1. x^2" << endl;
cout << "2. 2x^2" << endl;
cout << "3. x*(4x+2)" << endl;
cout << "4. x^3+12" << endl;
cout << "5. sin(x)" << endl;
cout << "6. cos(x)" << endl;
cout << "7. x*tg(x)" << endl<<endl;
}
double funkcje(double x, int wybor)
{
switch(wybor)
{
menu2();
case 1:
return pow(x,2);
case 2:
return 2*pow(x,2);
case 3:
return x*(4*x+2);
case 4:
return pow(x,3)+12;
case 5:
return sin(x);
case 6:
return cos(x);
case 7:
return x*tan(x);
default:
return 0;
}
}
double pole(int wybor, int n, double xp, double xk){
double dx = (xk-xp) / (double)n, suma = 0;
double Kpodst = 0, Dpodst = funkcje(xp, wybor);
int i = 1;
while (i <= n){
Kpodst = funkcje(xp + dx*i, wybor);
suma = suma + (Dpodst + Kpodst);
Dpodst = Kpodst;
i++;
};
return suma*0.5*wys;
}
void zapisz(int wybor, int n, double xp, double xk)
{
ofstream zapis;
zapis.open("calki.txt", ios_base::app);
zapis<<endl;
zapis<<"Wartosc calki dla funkcji: " <<wybor<<"(xp: "<<xp<<", xk: "<<xk<<", n: "<<n<<")"<<endl;
zapis<< fixed << setprecision(3) << pole(wybor, n, xp, xk) << endl;
zapis.close();
}
void calkowanie()
{
int v, v2, n;
double xp, xk;
do
{
cout <<"Twoj wybor: ";
v = wybor();
if(v>0 && v<=7)
{
cout<<endl;
cout << "Podaj przedzial calkowania: "<<endl;
cout << "xp: ";
cin >> xp;
cout << "xk: ";
cin >> xk;
if(xp>=xk)
{
cout << "Podano nieprawidlowy przedzial " << endl;
continue;
}
else
{
cout << "Podaj liczbe trapezow: ";
cin >> n;
if (n<0)
{
cout << "Podano nieprawidlowa wartosc." << endl;
continue;
}
zapisz(v, n, xp, xk);
cout << "Wartosc calki: " << fixed << setprecision(3) << pole(v, n, xp, xk) << endl<<endl;
cout << "Wrocic do kalkulatora?" << endl;
cout << "Wprowadz '1' jezeli chcesz wrocic do menu"<<endl;
cout << "Dowolna cyfra, licz dalej" << endl;
cin>>v2;
system("cls");
menu2();
}
}
else
{
cout << "Podano nieprawidłowa wartosc" << endl;
}
}
while (v2 != 1);
}