Unlimited Temat założony przez niniejszego użytkownika |
Niekończąca się tablica » 2012-06-01 22:41:34 Mam zamiar przerobić program konsolowy który ma za zadanie być bazą książek. Jest już wykonany ale ma wadę tj. jest "ograniczony". Użytkownik podaje na początku jaka jest wielkość tablicy (na ile książek ma zrobić miejsce program).
Teraz nasuwają mi się myśli: - będę potrzebował operatorów new i delete - pisać to na klasie? - obecnie jest edycja, usuwanie książek i czy gdybym to zrobił na tablicy dwuwymiarowej to działało by? - jeśli jeszcze coś to co? |
|
Sparrow-hawk |
» 2012-06-01 23:01:46 Ale w czym jest problem, bo nie bardzo rozumiem? Troszkę mało informacji podałeś? Gdzie ta baza książek jest przechowywana? Czy tylko przy pierwszym uruchomieniu podaje się rozmiar tablicy? Rozumiem, że w tej tablicy przechowywane są tytuły książek? Czy używać klas? Jeśli zaczynasz z C++ to może dobre ćwiczenie, ale program bez klas może być równie dobry ;). Po co Ci Tablica dwuwymiarowa? To znaczy, co ma być w niej przechowywane? Jeśli chcesz, aby tam w jednym polu był np. tytuł, a w drugim autor, to proponuję przyjrzeć się strukturom :) |
|
hincu |
» 2012-06-01 23:03:39 tak, pisz obiektowo, jesli rozumiesz klasy to napisz cos i zrozumiesz jakie to jest wygodne, co do tworzenia nowych objektow to http://cpp0x.pl/kursy/Kurs-STL-C++/114
zapoznaj sie z tym i uzyj to co bedzie tobie odpowiadalo |
|
SeaMonster131 |
» 2012-06-01 23:42:08 Użyj vector, wtedy nie będziesz musiał znać rozmiaru tablicy, i nie będziesz musiał używać new i delete. |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-06-01 23:48:51 Mój dotychczasowy program: (wiem że długi ale zabezpieczony przed złym podawaniem np. litery do int) no i dużo opcji ma ;) http://unlimited.ugu.pl/?p=34 Za zadanie dostałem 5 ale ja nie jestem z niego zadowolony i chcę go przerobić trochę ;) Powiedzmy że zrobię to na kontenerze (vektorze?) i jak podaje nam przykład: #include <cstdio> #include <vector> int main() { std::vector < int > dane; dane.push_back( 5 ); dane.push_back( 2 ); dane.push_back( 3 ); dane.push_back( 1 ); for( size_t i = 0; i < dane.size(); i++ ) printf( "%d, ", dane[ i ] ); printf( "\n\nKoniec\n" ); return 0; } Jak się odwołać do np 2 elementu podczas edycji oraz jak usunąć np 3 element? |
|
Sparrow-hawk |
» 2012-06-02 11:09:25 Możesz to zrobić np. tak: #include <cstdio> #include <vector> int main() { std::vector < int > dane; dane.push_back( 5 ); dane.push_back( 2 ); dane.push_back( 3 ); dane.push_back( 1 ); for( size_t i = 0; i < dane.size(); i++ ) printf( "%d, ", dane[ i ] ); printf( "\n\Element drugi bedzie rowny 9\n" ); dane[ 1 ] = 9; for( size_t i = 0; i < dane.size(); i++ ) printf( "%d, ", dane[ i ] ); printf( "\n\Teraz usune element 3\n" ); dane.erase( dane.begin() + 2 ); for( size_t i = 0; i < dane.size(); i++ ) printf( "%d, ", dane[ i ] ); printf( "\n\nKoniec\n" ); return 0; |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-06-02 13:36:24 Edit: Już wiem jak dzięki wielkie za pomoc wszystkim ;)
A co z przeszukiwaniem fraz w zmiennych? Np zmienna będzie typu string i będzie trzeba znaleźć wszystkie w których np występuje autor powiedzmy Adam? |
|
xevuel |
» 2012-06-02 13:42:42 |
|
« 1 » 2 |