Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

error zmienne was not declared in this scope

Ostatnio zmodyfikowano 2016-11-29 16:03
Autor Wiadomość
sobol3k
Temat założony przez niniejszego użytkownika
error zmienne was not declared in this scope
» 2016-11-29 13:13:07
Uczę się programować obiektowo lecz mam problem z deklaracją zmiennych...

main.cpp
C/C++
#include <iostream>
#include "klasa.h"

using namespace std;

int main()
{
    Glowna g1;
    g1.menu();
    g1.pobierz_dane( model, marka, rocznik, pojemniosc_silnika, typ_paliwa, liczba_drzwi );
   
}

klasa.h
C/C++
#include <iostream>

using namespace std;

class Glowna
{
private:
   
    string marka;
    string model;
    string typ_paliwa;
    string kolor;
    int liczba_drzwi;
    int rocznik;
    float pojemnosc_silnika;
   
public:
   
    void menu();
    void pobierz_dane( string m, string mo, int r, float p, string t, int l );
    void pokaz_dane();
};

funkcje.cpp
C/C++
#include <iostream>
#include <windows.h>
#include "klasa.h"

using namespace std;

void Glowna::menu()
{
    unsigned short wybor;
   
    cout << "BAZA SAMOCHODOW" << endl;
    cout << "---------------" << endl;
   
    cout << "1. Dodaj samochod do bazy" << endl;
    cout << "2. Wczytaj baze samochodow" << endl;
    cout << "3. Wyjdz" << endl << endl;
    cout << "Twoj wybor: ";
    cin >> wybor;
   
    switch( wybor )
    {
    case 1:
        {
           
        }
    case 2:
        {
           
           
        }
    case 3:
        {
           
           
        }
    }
}

void pobierz_dane( string m, string mo, int r, float p, string t, int l )
{
    system( "cls" );
   
    cout << "Podaj marke: ";
    cin >> m;
    cout << endl;
    cout << "Podaj model: ";
    cin >> mo;
    cout << "Podaj rocznik: ";
    cin >> r;
    cout << "Podaj pojemnosc silnika: ";
    cin >> p;
    cout << endl;
    cout << "Podaj typ paliwa (disesel/benzyna): ";
    cin >> t;
    cout << "Podaj ilosc drzwi (3/4/5): ";
    cin >> l;
}
P-154259
michal11
» 2016-11-29 13:43:42
g1.pobierz_dane( model, marka, rocznik, pojemniosc_silnika, typ_paliwa, liczba_drzwi );

w tej linijce w main skąd kompilator ma wiedzieć co to sa za zmienne skoro nigdzie ich nie zadeklarowałeś?
P-154263
sobol3k
Temat założony przez niniejszego użytkownika
» 2016-11-29 13:50:42
zadeklarowałem przecież w pliku klasa.h
P-154264
karambaHZP
» 2016-11-29 13:54:12
zadeklarowałem przecież w pliku klasa.h
Co z tego, że gdzieś tam masz zadeklarowane takie zmienne,
skoro w tym miejscu nie są one znane?
Pomyśl w jakim są skopie i jaki mają poziom dostępu.
P-154265
sobol3k
Temat założony przez niniejszego użytkownika
» 2016-11-29 14:05:37
To w takim razie te zmienne mam umiescic w pliku main.cpp jako globalne czy zmienic poziom dostepu z private na public w klasie.h
P-154266
Anim
» 2016-11-29 14:12:44
Odwołuj się do nich za pomocą wartości :)

zauważ, że jak wcześniej pisałeś funkcje, to nie robiłeś tak:

C/C++
void funkcja( int raz, int dwa )
{
    //ciało
}

int main()
{
    funkcja( int raz, int dwa );
}

tylko robiłeś tak:


C/C++
void funkcja( int raz, int dwa )
{
    //ciało
}

int main()
{
    int x, y;
    x = 10;
    y = 15;
    funkcja( x, y );
}

Tak samo postępuj z klasami :)
P-154267
sobol3k
Temat założony przez niniejszego użytkownika
» 2016-11-29 14:19:32
Nadal nie czaje moglbys mi to ktoś bardzie łopatologicznie wytłumaczyć? A jak nie to sobie utworze zmienne lokalne w funkcji i nie będe się z tym męczył.
P-154268
Anim
» 2016-11-29 14:33:16
hm. Pozwoliłem sobie przejrzeć Twoją aktywność na forum. I zauważyłem, że spróbowałeś wejść w obiektówkę niedawno. I odnoszę wrażenie, że znalazłeś przykład jakiejś klasy i próbujesz ją dostosować do swoich potrzeb. Jeśli się mylę to przepraszam. A jeśli mam rację to polecam poświęcić dwa dni na zrobienie fragmentu kursu:

http://cpp0x.pl/kursy/Programowanie-obiektowe-C++/486


to naprawdę pożyteczna rzecz ^^ Szybko chwycisz to co tam jest napisane :) i Twój problem szybko okaże się błahym.
P-154270
« 1 » 2
  Strona 1 z 2 Następna strona