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

problem z tabela lub struktura

Ostatnio zmodyfikowano 2009-10-31 06:10
Autor Wiadomość
dmx81
Temat założony przez niniejszego użytkownika
problem z tabela lub struktura
» 2009-10-16 22:49:49
Witam,mecze sie juz od jakiegos czasu i nie umiem znalezc dobrego rozwiazania.
Co chce zrobic:

zadeklarowac tabele, w ktorej bede przechowywal nazwiska, jednak nie wiem z gory, jaka bedzie liczba nazwisk, poprostu, z kazdym nowo dopisanym nazwiskiem, powstanie nowa komorka tabeli

probowalem podobnie ze struktura

chodzi glownie o to, ze beda sprzedawane bilety
C/C++
int bilety = 100; //wartosc poczatkowa biletow

pozniej podajemy nazwisko kupujacego, i gdzie je mam zapisac i w jaki sposob, probowalem juz deklarowac tabele np
C/C++
std::string tabela[ bilety ];
lub ale zawsze kompilator wymaga zadeklarowania stalej, podobnie kiedy utworze stukture
C/C++
struct cosik
string nazwisko
cosik kasa[ bilety ];

cout << "podaj nazwisko ";
cin >> kasa[ 0 ] nazwisko;
oczywiscie kod uproszczony,z bledami - chodzi tylko o pokazanie problemu

wazne - ilosc biletow moze ulegac zmianie, dlatego nie zadeklarowalem stalej dla tabeli z nazwiskami, aby pozniej moc np przyjmujac nowe bilety do kasy, moc dopisac nowe nazwiska
C/C++
int nowe;
bilety += nowe;
mam nadzieje, ze ktos zrozumial co napisalem, prosze o podpowiedz, w razie koniecznosci wkleje kod, poki co sprobuje to samo zrobic deklarujac tabele dla konkretnej liczby np, string tabela[4];


P-10934
szkuner
» 2009-10-16 22:56:26
Zrób dynamicznie przydzielaną tablice struktur

C/C++
struct cosik
{
    char nazwisko;
    float cena;
   
   
};
int size;
cout << "Podaj ile chcesz dzisiaj wprowadzić";
cin >> size;

cosik dane = new cosik[ size ]
i tu juz sobie dzialasz na tej strukturce
P-10935
lynx
» 2009-10-16 23:00:01
Rozwiązanie byłby vector, poczytaj o nim. Jest to tzw. dynamiczna tablica danych.
P-10936
dmx81
Temat założony przez niniejszego użytkownika
» 2009-10-17 00:34:26
ok dzieki wielkie za podpowiedz, zaraz bede probowal, no do wektorow jeszcze nie doszedlem, po kolei bede czytal :) jak uda mi sie dokonczyc, to wrzuce programik :)


=================
dalem tak:

C/C++
struct lot
{
   
    char nazwisko;
};

int liczba_biletow = 5;

lot Londyn = new lot[ liczba_biletow ]; //wg instrukcji z odpowiedzi //
wywala mi ze CANNOT CONVERT lot* to lot


kiedy daje

lot = new lot[ liczba_biletow ];
 
to IMPROPER USE OF TYPE LOT


sprobowalem tez wg kursu o NEW

Londyn = new string[ liczba_biletow ]

to wychodzi ze Londyn jest undefined, wiec daje

lot Londyn;
Londyn = new string[ liczba_biletow ]

COULD NOT FINF MATCH FOR lot::operator=(string*)

czy ja ciagle popelniam jakis blad, ktorego nie widze z powodu poznej pory?

w kursie napisany jest wzor

wskaznik = new typ_zmiennej[ ilosc_elementow_danego_typu ];



P-10937
malan
» 2009-10-17 01:23:37
czy ja ciagle popelniam jakis blad, ktorego nie widze z powodu poznej pory?

w kursie napisany jest wzor

wskaznik=new typ_zmiennej[ilosc_elementow_danego_typu];

Wskaźnik, nie obiekt :), czyli dodaj ' * ' w odpowiednim miejscu.
P-10938
dmx81
Temat założony przez niniejszego użytkownika
» 2009-10-17 02:05:05
to zadanie na wskaznikach. moglbymi ktos wytlumaczyc, jak zrobic, zeby mozna bylo wprowadzic wiecej liczb w dane.liczba? zeby bylo dane[0].liczba=... az do dane [].liczba=...   dla i, ktore sami wprowadzimy?

C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    struct daneST
    {
        int liczba;
        char znak;
    };
    daneST dane;
    dane.liczba = 55;
    dane.znak = 'a';
    daneST * wskaznik =& dane;
    cout << "(*wskaznik).liczba=" <<( * wskaznik ).liczba << endl;
    ( * wskaznik ).liczba = 99;
    cout << "dane.liczba=" << dane.liczba << endl;
   
    getch();
    return( 0 );
}

bo jak ja kombinuje z

C/C++
* wskaznik = new int[ 10 ];
* wskaznik.liczba = new int[ 10 ];
( * wskaznik ).liczba = new int[ 10 ];

to ciagle blad,blad blad...

szkuner = wpisalem twoj kod :


C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    struct cosik
    {
        char nazwisko;
        float cena;
       
       
    };
    int size;
    cout << "Podaj ile chcesz dzisiaj wprowadzić";
    cin >> size;
   
    cosik dane = new cosik[ size ]
}
i wywala blad - cannot convert cosik* to cosik, czyli ciagle to samo

poczytalem o wskaznikach, o przydzielaniu dynamicznym i jakos stoje w miejscu...
P-10939
Elaine
» 2009-10-17 10:30:50
cosik * dane = new cosik[ size ];
P-10940
DejaVu
» 2009-10-17 12:36:06
Takie drobne wtrącenie techniczne. W C++ mówimy o tablicach, natomiast w HTML'u, Wordzie itepe mówimy o tabelach (no ale kontynuujcie sobie temat ;p) f.a.l. już dał Ci rozwiązanie :)
P-10944
« 1 » 2 3 4
  Strona 1 z 4 Następna strona