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

problem z programem typu baza danych.

Ostatnio zmodyfikowano 2012-12-14 22:03
Autor Wiadomość
andrew1232
Temat założony przez niniejszego użytkownika
problem z programem typu baza danych.
» 2012-12-14 21:15:31
Witam, mam problem dotyczacy moejgo kodu niby wszystko jest ok ale nei do konca program chce dziala, moglby mi ktos go poprawic, lub chociaz dac wskazowki jak naprawic, by dzialal dobrze ?
C/C++
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <cstdlib>

using namespace std;



struct baza
{
    char imie[ 10 ];
    char nazwisko[ 10 ];
    char telefon[ 10 ];
    char email[ 30 ];
   
};


void funkcja( baza * wskaznik );

int main()
{
   
    int wybor;
   
    int i;
    baza tab[ 100 ];
    baza * wskaznik_tab;
    wskaznik_tab = tab;
    int numer = 0;
   
   
    do
    {
       
        system( "cls" );
        cout << "1.Dodaj" << endl;
        cout << "2.Wyswietl baze" << endl;
        cout << "3.Wyjscie" << endl;
        cin >> wybor;
       
        switch( wybor )
        {
           
        case 1:
           
            funkcja( wskaznik_tab );
            numer = numer + 1;
            break;
           
           
           
        case 2:
           
            system( "cls" );
            cout << "W bazie danych zapisane sa osoby: " << numer << endl;
            for( i = 0; i < numer; i++ )
           
                 cout << "Osoba numer: " << i + 1 << endl;
           
            cout << endl;
            cout << tab[ i ].imie << endl;
            cout << tab[ i ].nazwisko << endl;
            cout << tab[ i ].telefon << endl;
            cout << tab[ i ].email << endl;
            cout << endl;
           
           
           
        }
    }
    while( wybor != 4 );
   
}

void funkcja( baza * wskaznik )
{
    system( "cls" );
    cout << "Imie: ";
    cin >> wskaznik->imie;
    cout << "Nazwisko: ";
    cin >> wskaznik->nazwisko;
    cout << "Numer telefonu: ";
    cin >> wskaznik->telefon;
    cout << "Adres e-mail: ";
    cin >> wskaznik->email;
    wskaznik++;
   
   
}
P-71044
CodeMeister
» 2012-12-14 21:43:03
A co nie dziala?
//mało jest osób którym będzie się chciało to skompilować i szukać danych takich aby powstał błąd
P-71048
andrew1232
Temat założony przez niniejszego użytkownika
» 2012-12-14 21:45:57
Generalnie, jesli cos dodam do bazy, to gdy chce wyswietlic, nic mi sie nie pokazuje niestety.
P-71050
DejaVu
» 2012-12-14 22:03:56
Tak na oko to pierwszy element tablicy powinien się zawsze wyświetlać po pierwszym dodaniu... zapis 'wskaznik++' nie odniesie żadnego efektu wewnątrz funkcji 'funkcja', bowiem jest to zmienna lokalna. Lepiej przekazuj do funkcji adres tak:
C/C++
funkcja( tab + numer );
lub tak:
C/C++
funkcja( & tab[ numer ] );

(choć w praktyce to najlepiej byłoby użyć referencji)
P-71051
« 1 »
  Strona 1 z 1