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

Funkcja tworząca dynamicznie tablice obieków-problem z wywołaniem.

Ostatnio zmodyfikowano 2017-04-08 19:02
Autor Wiadomość
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:
C/C++
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; //zmienna do ladownosci
            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:
C/C++
#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...
P-159990
carlosmay
» 2017-04-08 19:02:15
airport.wczytywanie();
P-159993
« 1 »
  Strona 1 z 1