• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd kompilacji c++

Object Storage Arubacloud
0 głosów
206 wizyt
pytanie zadane 30 czerwca 2022 w C i C++ przez Damcyk Nowicjusz (120 p.)

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);
}

 

1 odpowiedź

+1 głos
odpowiedź 30 czerwca 2022 przez wizarddos Nałogowiec (25,930 p.)
Gdy wywołujesz te funkcje w main, dla kompilatora nie są one jeszcze zadeklarowane. Przerzuć je nad main'a lub dodaj przed main'em deklaracje funkcji.

Też polecam dokładniej zapoznać się z typami funkcji i czym się różnią typy zwracające od niezwracających. Masz nawet (a przynajmniej powinieneś/aś) mieć w kompilatorze ostrzeżenia.
1
komentarz 30 czerwca 2022 przez Great Stary wyjadacz (12,360 p.)
+ include <fstream>

Podobne pytania

0 głosów
0 odpowiedzi 267 wizyt
pytanie zadane 4 stycznia 2022 w C i C++ przez Arkadiusz Grządziel Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 404 wizyt
0 głosów
1 odpowiedź 311 wizyt
pytanie zadane 2 listopada 2021 w C i C++ przez anteq69 Początkujący (260 p.)

92,575 zapytań

141,424 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...