Baza Danych, problem z wczytywaniem danych do tablicy.
Ostatnio zmodyfikowano 2014-01-21 14:03
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. #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. |
|
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. |
|
MrKowi Temat założony przez niniejszego użytkownika |
» 2014-01-21 14:03:17 Dzięki za Pomoc. Zadziałało |
|
« 1 » |