błąd
Ostatnio zmodyfikowano 2010-11-20 21:32
ison |
» 2010-11-20 19:31:09 chyba pomieszałeś bo w funkcji wczytaj wypisujesz a w funkcji wypisz wczytujesz ;) poza tym nie wczytujesz czy pali w tym miejscu: cout << "Podaj pali(0/1)";
|
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-20 19:43:20 #include <iostream> #include <string.h> using namespace std;
struct osoba { char nazwisko[ 20 ]; char adres[ 20 ]; float brutto; bool pali; void wczytaj( void ); void wypisz( void ); }; osoba a; void osoba::wczytaj( void ) { cout << "podaj nazwisko" << endl; cin >> a.nazwisko; cout << "podaj adres" << endl; cin >> a.adres; cout << "podaj brutto" << endl; cin >> a.brutto; cout << "podaj pali" << endl; cin >> a.pali; } void osoba::wypisz( void ) { cout << "nazwisko" << a.nazwisko << endl; cout << "adres" << a.adres << endl; cout << "brutto" << a.brutto << endl; cout << "pali" << a.pali << endl; }
int main( void ) { osoba baza[ 1000 ]; void osoba::wypisz( void ); int a; cout << "Podaj ilosc osob" << endl; cin >> a; for( int i = 0; i < a; i++ ) { baza[ i ].wypisz(); } system( "pause" ); }
Sprawa wygląda tak : gdy kompiluje funkcja wyłącznie prosi o podanie ilości osób i obrazu wypisuje funkcje wypisz bez żadnych wartości . Nie prosi o podanie adresu a następnie pokazuje funkcje wypisz. I w tym mam problem nie mogę sobie z tym poradzić.... |
|
ison |
» 2010-11-20 20:02:30 I w tym mam problem nie mogę sobie z tym poradzić....
|
nie nie możesz tylko ci się nie chce, popatrz na ten kod i pomyśl... jeśli nigdzie nie wczytujesz zmiennych to program nie będzie ich wczytywał - logiczne nieprawdaż? :) przecież nigdzie nie wywołujesz funkcji wczytaj |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-20 20:10:03 porostu nie wiem gdzie to umieścić ani jak to zrobić , a nie mi się nie chce . int main( void ) { osoba baza[ 1000 ]; void osoba::wypisz( void ); void osoba::wczytaj( void ); int a; cout << "Podaj ilosc osob" << endl; cin >> a; for( int i = 0; i < a; i++ ) { baza[ i ].wczytaj(); wypisz(); } system( "pause" ); }
wypisz(); próbowałem tak ale nie działa , działa funkcja wczytaj , a potem podaje wynik z funkcji znowu wczytaj , a funkcja wypisz nadal nie działa , to jest jedyna rzecz której nie wiem . |
|
SeaMonster131 |
» 2010-11-20 20:21:53 Funkcje wypisz(); daj poza pętle for. |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-20 20:26:21 `wypisz' undeclared (first use this function) to wtedy mam to int main( void ) { osoba baza[ 1000 ]; void osoba::wypisz( void ); void osoba::wczytaj( void ); int a; cout << "Podaj ilosc osob" << endl; cin >> a; for( int i = 0; i < a; i++ ) { baza[ i ].wczytaj(); } wypisz(); system( "pause" ); }
a jest zadeklarowana |
|
SeaMonster131 |
» 2010-11-20 20:30:22 ohh...przepraszam, mój błąd :) funkcja wypisz(); jest - osoba::wypisz, nie zauważyłem tego, musisz dać jeszcze nazwę struktury (tą którą jej nadałeś oczywiście) przed nazwą funkcji ... , jeszcze raz przepraszam. |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-20 20:32:09 int main( void ) { osoba baza[ 1000 ]; void osoba::wypisz( void ); void osoba::wczytaj( void ); int a; cout << "Podaj ilosc osob" << endl; cin >> a; for( int i = 0; i < a; i++ ) { baza[ i ].wczytaj(); } osoba::wypisz(); system( "pause" ); }
tak też próbowałem ale mam coś takiego wtedy " cannot call member function `void osoba::wypisz()' without object " a jak napisze zamiast osoba::wypisz(); to niby działa , mam wypisać wartości ale wyniki mi daje takie podaj nazwisko podaj adresdl; podaj brutto podaj pali |
|
1 « 2 » 3 |