Funkcja tworząca dynamicznie tablice obieków-problem z wywołaniem.
Ostatnio zmodyfikowano 2017-04-08 19:02
jqb1 Temat założony przez niniejszego użytkownika |
Funkcja tworząca dynamicznie tablice obieków-problem z wywołaniem. » 2017-04-08 16:57:57 Witam, A więc piszę program który ma za zadanie symulować prace lotniska. Jedną z funkcji, których używam jest funkcja wprowadzania samolotów. Funkcja ta w zależnosci od użytkownika tworzy tablice obiektów samolot towarowy lub samolot pasażerski a następnie tablica jest wypełniana danymi. Problem w tym, że nie wiem jak wywołać te funkcje w main, tak aby to działało. Jak na razie wychodzi błąd: Error C3867 'lotnisko::wczytywanie': non-standard syntax; use '&' to create a pointer to member . Mój kod: void lotnisko::wczytywanie( void ) { srand( time( NULL ) ); cout << "Witaj w symulatorze lotniska\n Jakie samoloty chcesz wprowadzic? 1-pasazerskie 2-osobowe"; int jaki; cin >> jaki; if( jaki == 1 ) { cout << "Ile samolotow pasazerskich?(max 10)"; int ile; towarowy * lista1 = new towarowy[ ile ]; for( int x = 0; x <= ile; x++ ) { cout << "Nazwa samlolotu:\n"; cin >> lista1[ x ].nazwa; cout << "Id samolotu\n"; cin >> lista1[ x ].id; int lad =( rand() % 99 ) + 1; lista1[ x ].ladowanosc = lad; cout << "Ladownosc (w tonach):" << lad << "\n"; int odlot =( rand() % 18 ) + 6; lista1[ x ].czas_odlotu = odlot; cout << "Czas odlotu:" << lista1[ x ].czas_odlotu; int przylot = odlot +( rand() % 10 ); if( przylot <= 24 ) lista1[ x ].czas_przylotu = przylot; cout << "Czas przylotu:" << lista1[ x ].czas_przylotu; if( przylot > 24 ) cout << "Przylot w nastepny dzien"; } } else if( jaki == 2 ) { cout << "Ile samolotow osobowych?(max 10)"; int ile; pasazerski * lista = new pasazerski[ ile ]; for( int x = 0; x <= ile; x++ ) { cout << "Nazwa samolotu\n"; cin >> lista[ x ].nazwa; cout << "Id samolotu\n"; cin >> lista[ x ].id; int miejsca =( rand() % 900 ) + 100; lista[ x ].miejsca = miejsca; cout << "Liczba miejsc:" << lista[ x ].miejsca << "\n"; int odlot =( rand() % 18 ) + 6.30; lista[ x ].czas_odlotu = odlot; cout << "Czas odlotu:" << lista[ x ].czas_odlotu; int przylot = odlot +( rand() % 10 ); if( przylot <= 24 ) lista[ x ].czas_przylotu = przylot; cout << "CZas przylotu:" << lista[ x ].czas_przylotu; if( przylot > 24 ) cout << "Przylot na nastepny dzien"; } } } Oraz plik z wywolaniem: #include "stdafx.h" #include"lotnisko.h" #include"samolot.h" #include"towarowy.h" #include"pasazerski.h" #include <iostream>
using namespace std; void wprowadzanie( void );
int main() { cout << "Symulator lotniska"; lotnisko airport; airport.wczytywanie; wprowadzanie(); } Edit: tak teraz myślę czy nie lepiej będzie zmienić tę funkcję na funkcję wirtualną klasy samolot... |
|
carlosmay |
» 2017-04-08 19:02:15 |
|
« 1 » |