[C++] Łączenie struktur + wyszukiwanie
Ostatnio zmodyfikowano 2012-03-27 20:24
sensey9 Temat założony przez niniejszego użytkownika |
[C++] Łączenie struktur + wyszukiwanie » 2012-03-22 23:10:12 Witam. Zakładam ten temat gdyż nie mogę poradzić sobie z pewnym problemem, a mianowicie mam do napisania program w którym są takie opcje: 1. Dodaj przedmiot do magazynu (tutaj użytkownik podaje przedmiot w raz z datą dodania) 2. Usuń przedmiot z magazynu (tutaj użytkownik usuwa przedmiot z magazynu i podaje datę jego uśnięcia) 3. Wyszukaj przedmiot( użytkownik podaje nazwę przedmiotu który chce wyszukać program wyświetla kiedy został dodany i jeśli został usunięty to dodatkowo wyświetla datę usunięcia) Tutaj kod dodawania do magazynu: #include <iostream> #include <string> #include "magazyn_biblioteka.h"
using namespace std; moja wprowadzanie[ 20 ]; int licznik; void magazyn_wprowadzanie() { cout << "Podaj dzien wprowadzenia" << endl; cin >> wprowadzanie[ licznik ].dzien; cout << "Podaj miesiac wprowadzenia" << endl; cin >> wprowadzanie[ licznik ].miesiac; cout << "Podaj rok wprowadzenia" << endl; cin >> wprowadzanie[ licznik ].rok; cout << "Podaj nazwe przedmiotu" << endl; cin.get(); getline( cin, wprowadzanie[ licznik ].przedmiot ); licznik++; } Tutaj kod usuwania z magazynu: #include <iostream> #include <string> #include "magazyn_biblioteka.h"
using namespace std; moja odbieranie[ 20 ]; int licznik_odbieranie; void magazyn_odbieranie() { cout << "Podaj dzien wprowadzenia" << endl; cin >> odbieranie[ licznik_odbieranie ].dzien; cout << "Podaj miesiac wprowadzenia" << endl; cin >> odbieranie[ licznik_odbieranie ].miesiac; cout << "Podaj rok wprowadzenia" << endl; cin >> odbieranie[ licznik_odbieranie ].rok; cout << "Podaj nazwe przedmiotu" << endl; cin.get(); getline( cin, odbieranie[ licznik_odbieranie ].przedmiot ); if( wprowadzanie[ licznik ].przedmiot == odbieranie[ licznik_odbieranie ].przedmiot ) { licznik_odbieranie = licznik; } } a tutaj biblioteka ze strukturą: struct moja { / std::string przedmiot; int dzien; int miesiac; int rok; }; Program jest połączony za pomocą biblioteki i słów kluczowych extern. Dodawanie i usuwanie jak na razie działa poprawnie natomiast problem pojawia się przy wyszukaniu gdyż kompletnie nie wiem jak zrobić aby po podaniu słowa wyświetliła się jednocześnie data dodania i usunięcia. Proszę o pomoc |
|
SeaMonster131 |
» 2012-03-23 14:31:13 Masz tylko 1 datę (dzień, miesiąc rok) jako dodanie i tą samą datę jako usunięcie. Zrób takie 2 daty (dzień dodania, dzień usunięcia, miesiąc dodania, miesiąc usunięcia, rok dodania, rok usunięcia). |
|
jankowalski25 |
» 2012-03-23 21:16:43 Datę możesz pobierać z systemu. Wtedy użytkownik nie musiałby jej wprowadzać. Możesz do tego wykorzystać ctime |
|
sensey9 Temat założony przez niniejszego użytkownika |
» 2012-03-25 20:00:29 Data to nie problem. Najbardziej chodzi mi o wyszukanie gdyż nie wiem jak sobie poradzić. |
|
SeaMonster131 |
» 2012-03-25 20:04:23 Użytkownik wpisuje nazwe jaką chce wyszukać, wpisana nazwa musi się równa temu stringowi "przedmiot" w Twojej strukturze. |
|
sensey9 Temat założony przez niniejszego użytkownika |
» 2012-03-25 20:59:04 To to ja wiem próbowałem w taki sposób ale nie wyświetla mi daty odebrania z magazynu takiej jak trzeba |
|
SeaMonster131 |
» 2012-03-25 21:09:55 To pokaż kod. |
|
sensey9 Temat założony przez niniejszego użytkownika |
» 2012-03-25 22:28:32 Próbowałem kombinować w tym kierunku lecz bez skutku #include <iostream> #include <string> #include <conio.h> #include <cstdlib> #include "magazyn_biblioteka.h"
using namespace std; void magazyn_wyszukanie() { string szukana; cout << "podaj szukane slowo" << endl; getline( cin, szukana ); do { cout << "Wcisnij 0 aby wyjsc" << endl; cout << "Podaj szukana nazwe" << endl; cin >> szukana; system( "cls" ); if( wprowadzanie[ licznik ].przedmiot.find( szukana ) <= wprowadzanie[ licznik ].przedmiot.length() ) { cout << licznik + 1 << wprowadzanie[ licznik ].przedmiot << wprowadzanie[ licznik ].dzien << wprowadzanie[ licznik ].miesiac << wprowadzanie[ licznik ].rok << endl; } cout << "Wcisnij 0 aby wyjsc" << endl; cout << "Podaj szukana nazwe" << endl; cin >> szukana; for( int licznik = 0, licznik_odbieranie = 0; licznik < zawartosc_magazynu, licznik_odbieranie < licznik < zawartosc_magazynu; licznik++, zawartosc_magazynu++ ) { if(( wprowadzanie[ licznik ].przedmiot == szukana ) && wprowadzanie[ licznik_odbieranie ].przedmiot == szukana ) { cout << wprowadzanie[ licznik ].przedmiot << "wprowadzone: " << wprowadzanie[ licznik ].dzien << "-" << wprowadzanie[ licznik ].miesiac << "-" << wprowadzanie[ licznik ].rok << endl; cout << "wydane: " << odbieranie[ licznik < zawartosc_magazynu ].dzien << "-" << odbieranie[ licznik < zawartosc_magazynu ].miesiac << "-" << odbieranie[ licznik < zawartosc_magazynu ].rok << endl; } } } while( szukana != "0" ); }
|
|
« 1 » 2 |