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: class Data { unsigned char d, m; short y; public: Data( void ); Data(...dzien,...msc,...rok ); bool sprawdz( void ); set_dz(...); ... unsigned char get_msc( void ); ... void wypisz( void ); }; Tutaj poprzedni kod programu z charami: #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; } |
|
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. |
|
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. |
|
malan |
» 2011-03-29 19:33:30 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? |
|
DejaVu |
» 2011-03-29 19:34:31 |
|
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ą, |
|
DejaVu |
» 2011-03-29 19:37:02 Wynajdujesz koło na nowo :)
#include <string> #include <iostream> int main() { char tab[ 20 ] = "Hello World"; std::string text = tab; std::cout << text; return 0; } |
|
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. |
|
« 1 » 2 |