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

Baza Danych, problem z wczytywaniem danych do tablicy.

Ostatnio zmodyfikowano 2014-01-21 14:03
Autor Wiadomość
MrKowi
Temat założony przez niniejszego użytkownika
Baza Danych, problem z wczytywaniem danych do tablicy.
» 2014-01-19 17:39:58
Witam.

Mam problem z programem który ma wczytywac dane do tablicy i utworzyc prosta baze danych.

Niestety, gdy wywoluje funkcje przypisania ( void dodaj), nic sie nie dzieje,  wartośći nie są przypisywane.


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

using namespace std;

void wyswietl( int rozmiar, string marka[], string model[], float predkosc[], float pojemnosc[] )
{
    if( rozmiar == 0 )
    {
        cout << rozmiar << endl;
        cout << endl << "Baza danych jest pusta" << endl << endl;
       
    } else
   
    {
        int i;
        for( i = 1; i < rozmiar; i++ )
        {
            cout << endl;
            cout << i << ". " << marka[ i ] << " " << model[ i ] << " " << predkosc[ i ] << pojemnosc[ i ];
           
        };
    }
   
   
   
};

void dodaj( int rozmiar, string marka[], string model[], float predkosc[], float pojemnosc[] )
{
    rozmiar = rozmiar + 1;
    cout << "Podaj marke samachodu." << endl; cin >> marka[ rozmiar ];
    cout << "Podaj model samachodu." << endl; cin >> model[ rozmiar ];
    cout << "Podaj predkosc maksymalna samachodu.  (Wartosc numeryczna)" << endl; cin >> predkosc[ rozmiar ];
    cout << "Podaj pojemnosc silnika samachodu. (Wartosc numeryczna)" << endl; cin >> pojemnosc[ rozmiar ];
    cout << endl;
   
};










int main()
{
    int rozmiar = 0;
    string marka[ 50 ];
    string model[ 50 ];
    float predkosc[ 50 ];
    float pojemnosc[ 50 ];
   
   
   
    int indeks;
   
    do {
       
        cout << "Baza Danych. Wybierz Operacje." << endl;
        cout << "1. Wyswietl Elementy." << endl;
        cout << "2. Dodaj Element." << endl;
        cout << "3. Wyjscie" << endl;
       
       
        cin >> indeks;
       
       
        switch( indeks )
        {
        case 1:
            {
                cout << endl;
                wyswietl( rozmiar, marka, model, predkosc, pojemnosc );
                break;
            }
           
        case 2:
            {
                cout << endl;
                dodaj( rozmiar, marka, model, predkosc, pojemnosc );
                break;
            }
           
        case 3:
            {
                cout << endl;
                cout << "Program zostanie zamkniety";
                break;
               
            }
           
            default:
            {
                cout << "Nieznana operacja, sproboj ponownie." << endl;
            }
           
        };
       
    } while( indeks != 4 );
   
   
    getch();
    return( 0 );
}

Czy powinienem może użyc funkcji typu int z komendą return ?

Ale jeśli tak, to nie jestem pewny jak stworzyć funkcję zwracającą kilka wartości jednocześnie.
P-102552
killjoy
» 2014-01-19 18:40:27
Przekazuj
rozmiar
 przez referencje. Poza tym elementy tablicy numerowane są od 0 nie od jeden, tak więc inkrementuj
romiar
 w fukncji
dodaj()
, po dodaniu elementu, dodatkowo w funkcji
wyswietl()
 ustaw
i
 na 0, a nie jak do tej pory na 1.
P-102555
MrKowi
Temat założony przez niniejszego użytkownika
» 2014-01-21 14:03:17
Dzięki za Pomoc. Zadziałało
P-102716
« 1 »
  Strona 1 z 1