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

C++ zmiennne string

Ostatnio zmodyfikowano 2011-03-29 19:56
Autor Wiadomość
kosikredki
Temat założony przez niniejszego użytkownika
C++ zmiennne string
» 2011-03-29 18:58:00
Mam pytanie czy mógłby ktoś jakoś pomóc lub wytłumaczyć. Muszę zamienić wszystkie ciągi znaków np:char zmienna[20] na klasę string. Oraz dodać klasę dotycząca daty przydatności i wyklepałem coś prowizorycznie:
C/C++
class Data {
    unsigned char d, m; //dzien, miesiac
    short y; // rok
public:
    Data( void );
    Data(...dzien,...msc,...rok );
    bool sprawdz( void ); // czy wprowadzona data jest poprawna
    set_dz(...);
    ...
    unsigned char get_msc( void );
    ...
    void wypisz( void );
};

Tutaj poprzedni kod programu z charami:
C/C++
#include <cstdlib>
#include <iostream>
using namespace std;

char * strcp( const char * s )
{
    unsigned L = streln( s ) + 1;
    char * r = new char[ L ];
    memcpy( r, s, L );
    return r;
}

class puszka
{
private:
    char * nazwa;
    char * producent;
    long int data;
    int pojemnosc;
    bool otwarta;
public:
    puszka( char * nazwa, char * producent, long int data, int pojemnosc, bool otwarta )
        : nazwa( strcp( nazwa ) )
        , producent( strcp( producent ) )
        , data( data )
        , pojemnosc( pojemnosc )
        , otwarta( otwarta )
    {
    }
    ~puszka() { delete[] nazwa; delete[] producent; }
    void wyswwietl() const
    {
        cout << "Nazwa piwa: " << nazwa << endl;
        cout << "Producent: " << porducent << endl;
        cout << "Data waznosci: " << data << endl;
    }
};

int main()
{
    puszka p( "Zywiec", "GrupaZywiecSA", 01012012, 5, true );
    p.wyswietl();
    cin.sync();
    cin.get();
    return 0;
}
P-29942
pekfos
» 2011-03-29 19:26:28
01012012
 jeżeli to jest poprawny zapis daty to ja jestem primadonną. chyba nie zdajesz sobie sprawy z tego co piszesz.
P-29945
kosikredki
Temat założony przez niniejszego użytkownika
c
» 2011-03-29 19:29:42
Nie będziemy się kłócić o zapis daty bo nie o to w tym wszystkim chodzi. Mam prowizoryczna klasę , którą muszę dodać. Oczekuję podpowiedzi bądź pomocy ze stringami.
P-29946
malan
» 2011-03-29 19:33:30
C/C++
char name[] = "cpp0x.pl";
std::string strName = name;

std::cout << strName;
?

/ edit:
W sumie to nie wiem co Ty chcesz zrobić tak naprawdę.
(...)zamienić wszystkie ciągi znaków np:char zmienna[20] na klasę string(...)
Zamiast
char *
 piszesz
std::string
. Gdzie tu masz problem?
P-29948
DejaVu
» 2011-03-29 19:34:31
P-29949
szyx_yankez
» 2011-03-29 19:35:20
<<Zakładamy, że tego posta tu nie było, niech nikt na niego nie patrzy>>
@DejaVu:
 Każdy, się może pomylić. Człowiek nie jest istotą nie omylną,
P-29950
DejaVu
» 2011-03-29 19:37:02
Wynajdujesz koło na nowo :)
C/C++
#include <string>
#include <iostream>
int main()
{
    char tab[ 20 ] = "Hello World";
   
    std::string text = tab;
    std::cout << text;
    return 0;
}
P-29951
kosikredki
Temat założony przez niniejszego użytkownika
» 2011-03-29 19:44:25
Tylko chyba przy stringach z tego co się orientuję nie jest potrzebny strcpy ,ale nie jestem do końca pewny.
P-29952
« 1 » 2
  Strona 1 z 2 Następna strona