dzolero86 Temat założony przez niniejszego użytkownika |
[c++] Program Bazodanowy? » 2008-11-06 19:13:33 Witam serdecznie, mam stworzyc program w C++ na zaliczenie a jego treść to: Program umożliwia wprowadzenie i zapisywanie drużyn piłkarskich. Możliwe jest wprowadzanie i zapisywanie do plików wyników meczy. Możliwe jest wyświetlenie wyników wybranej drużyny oraz wybranej kolejki. Możliwe jest wyświetlenie tabeli zawierającej Nazwę drużyny, liczbę punktów, liczbę zwycięstw, liczbę porażek, liczbę remisów i stosunek bramek. Jestem zielony w C++ nie bardzo wiem czy da sie stworzyc takie bazy danych w C++? czy ma ktos jakąś koncepcje na rozwiazanie tego problemy? jak narazie deukując z ksiązek które zgromadzilem to stworzylem takie menu: #include <cstdlib> #include <iostream>
using namespace std;
int main( int argc, char * argv[] ) { int wybor; cout << "Co chcesz zrobic? \n 1. Dodac druzyne pilkarska? \n 2.Wprowadzic wyniki meczow? \n 3. Zobaczyc wyniki druzyny? \n 4.Zobaczyc wyniki kolejki \n 5.Statystyki druzyny \n Wybierasz operacje nr: \n"; cin >> wybor; switch( wybor ) { case 1: cout << "Teraz dodamy druzyne pilkarska"; break; case 2: cout << "Wprowadzamy wyniki meczów"; break; case 3: cout << "Sprawdzimy wyniki druzyny z listy"; break; case 4: cout << "Wybierz kolejke"; break; case 5: cout << "Wybierz drużyne w celu podgladniecia statystyk"; break; default: cout << "wybrales" << wybor << "-nie ma takiej opcji w tym programie!"; break; } system( "PAUSE" ); return EXIT_SUCCESS; } ale dalej nie bardzo wiem jak to rozwinac, bo samo wprowadzanie np. Nazwy druzyny nie gwarantuje jej zapisanie, a powiedzmy po 10 wprowadzonych druzynach program ma miec możliwosc wywołania jednej z wczesniejszych drużyn które zostały wprowadzone, czyli musi je gdzies zapisac... nie mam pojecia jak dalej sobie z tym poradzic.... |
|
DejaVu |
» 2008-11-06 20:34:22 Generalnie widzę, że jesteś w trudnej sytuacji. Aby wykonać program 'bazodanowy' o którym wspomniałeś musisz znać: [li] warunki if...else[/li] [li] Pętlę while[/li] [li] Jak umiejętnie korzystać ze zmiennych typu string[/li] [li] obsługę plików[/li] [li] struktury danych - jak organizować łatwo dane[/li] Język C++ ma największe możliwości ze wszystkich dostępnych języków programowania na świecie, możesz w nim zrobić dosłownie wszystko, jednak jest to kwestia nakładu czasu pracy. Języki inne są zazwyczaj dużo bardziej ograniczone niż C++ lecz charakteryzują się tym, że można coś znacznie szybciej i łatwiej zrobić, ponieważ zostały przystosowane do konkretnych wymagań (np. robienie stron www: PHP, robienie sieciowych aplikacji klienckich: Java). |
|
dzolero86 Temat założony przez niniejszego użytkownika |
cout << dzieki =) » 2008-11-06 21:15:30 Dzięki za pomoc Piotrze ;) biorę się ostro do czytania i kompilowania mojego pierwszego programu :) W razie jakichś problemów jak i również osiągów będę je umieszczał na tej stronie. |
|
grabon |
» 2008-11-06 23:50:50 Co masz zaliczyć ;) , na jaki Ty kierunek poszedłeś że, nie znasz tak prostych "rzeczy" ;D. Bez obrazy.
Pozdro :) |
|
dzolero86 Temat założony przez niniejszego użytkownika |
nie kompiluje sie... » 2008-11-17 18:07:21 #include <iostream> #include <conio.h> #include <fstream>
using namespace std;
struct druzyna { string nazwa; string skrocona_nazwa; string miasto; };
short i; druzyna klub[ 200 ];
void dodaj();
void usun(); void zapisz(); void wczytaj(); void znajdz();
int main() { cout << "*******************\n" "****FOOTBALLER*****\n" "*****by D.B.*******\n" "*******************\n"; cout << "\n\n\n"; char wybor; do { cout << "Aktualnie mamy " << i << " druzyn pilkarskich w bazie\n"; cout << "Co chcesz zrobic? \n" "1.Dodac druzyne pilkarska.\n" "2.Zobaczyc wszystkie druzyny.\n" "ESC - zakoncz program\n"; wybor = getch(); system( "cls" ); } while( wybor != 27 ); system( "pause" ); return 0; }
void dodaj() { cout << "Podaj pelna nazwe druzyny: "; cin >> druzyna[ i ].nazwa; cout << "Podaj skrocona nazwe druzyny: "; cin >> druzyna[ i ].skrocona_nazwa; cout << "Z jakiego miasta pochodzi ta druzyna: "; cin >> druzyna[ i ].miasto; cin.ignore(); i++; cout << "Nowa druzyna zostala dodana do bazy"; getch(); };
WITAM, DOSZEDLEM DO TEGO MOMENTU (SAM POCZATEK, ALE COZ) I PROGRAM NIE KOMPILUJE SIE, NIE ZA BARDZO MOGE ZNALEZC PRZYCZYNE.... |
|
lynx |
» 2008-11-17 18:21:44 To podaj log. A tutaj jest to co samemu znalazłem: cout<< "*******************n" "****FOOTBALLER*****n" "*****by D.B.*******n" "*******************n";
Pomiędzy tekstami dodaj '<<' jak kończysz funkcję w następnej linijce. Oprócz tego jeżeli chcesz wyświetlać na konsoli tekst w następnym rzędzie to nie piszesz 'n' tylko \n Kod powinien wyglądać tak: cout<< "*******************\n"<< "****FOOTBALLER*****\n"<< "*****by D.B.*******\n"<< "*******************\n";
Pozdrawiam, Piotrek. ;) |
|
dzolero86 Temat założony przez niniejszego użytkownika |
» 2008-11-17 18:31:06 to tutaj jakos dziwnie zinterpretowalo \n bo u siebie w programie mam urzyte \n to moze przez kopiowanie tak wyszlo, ale blad jest chyba w innym miejscu... za pewne jestes znacznie bardziej w tym obeznany dlatego byłbym wdzieczny... #include <iostream> #include <conio.h> #include <fstream>
using namespace std;
struct druzyna { string nazwa; string skrocona_nazwa; string miasto; };
short i; druzyna klub[ 200 ];
void dodaj();
void usun(); void zapisz(); void wczytaj(); void znajdz();
int main() { cout << "******************* \n" "****FOOTBALLER***** \n" "*****by D.B.******* \n" "******************* \n"; cout << "\n\n\n"; char wybor; do { cout << "Aktualnie mamy " << i << " druzyn pilkarskich w bazie\n"; cout << "Co chcesz zrobic? \n" "1.Dodac druzyne pilkarska.\n" "2.Zobaczyc wszystkie druzyny.\n" "ESC - zakoncz program\n"; wybor = getch(); system( "cls" ); } while( wybor != 27 ); system( "pause" ); return 0; }
void dodaj() { cout << "Podaj pelna nazwe druzyny: "; cin >> druzyna[ i ].nazwa; cout << "Podaj skrocona nazwe druzyny: "; cin >> druzyna[ i ].skrocona_nazwa; cout << "Z jakiego miasta pochodzi ta druzyna: "; cin >> druzyna[ i ].miasto; cin.ignore(); i++; cout << "Nowa druzyna zostala dodana do bazy"; getch(); }
A POKAZUJE ZE JEST BLAD W 55,57,59 LINII I "EXPECTED PRIMARY-EXPRESSION BEFORE '['TOKEN" wydaje mi sie ze blad jest gdzies w ciele VOID DODAJ |
|
lynx |
» 2008-11-17 21:20:24 Ok przeanalizowałem twój kod i doszedłem do wniosku, że ty nie deklarując obiektu struktury go używasz. Uważając że nazwa struktury jest odrazu deklaracją jej obiektu. Ok, nie wiem jak Ci to powiedzieć, ale wiem co jest tu źle. #include <iostream> #include <conio.h> #include <fstream>
using namespace std;
struct druzyna { string nazwa; string skrocona_nazwa; string miasto; };
Właśnie tutaj deklarujesz strukturę, czyli takie coś podobne do int, char. Aby tego używać musisz zadeklarować zmienną jego typu w przypadku in, char nazywamy to zmienną w przypadku klas nazywamy to obiektem. Czyli powinno to wyglądać tak: #include <iostream> #include <conio.h> #include <fstream>
using namespace std;
struct druzyna { string nazwa; string skrocona_nazwa; string miasto; }; druzyna zespol1;
Następnie nigdy nie używamy czegoś co nie istnieje, czyli: void dodaj() { cout << "Podaj pelna nazwe druzyny: "; cin >> druzyna.nazwa; cout << "Podaj skrocona nazwe druzyny: "; cin >> druzyna.skrocona_nazwa; cout << "Z jakiego miasta pochodzi ta druzyna: "; cin >> druzyna.miasto;
Aby używać czegoś takiego musiałbyś zadeklarować obiekt struktury druzyna o nazwie druzyna. ;) Czyli: druzyna druzyna; ale tak łatwo sie pomylic więc napisz druzyna zespol1; tak jak napisalem wcześniej. Zauważyłem jednak że masz już zadeklarowane obiekty(tablica) struktury o nazwie klub. Przerobię więc nieco twój kod tak, aby działał poprawnie. ;) A więc ten fragment powinien wyglądać tak: int x = 0; ... void dodaj( void ) { cout << "Podaj pelna nazwe druzyny: "; cin >> klub[ x ].nazwa; cout << "Podaj skrocona nazwe druzyny: "; cin >> klub[ x ].skrocona_nazwa; cout << "Z jakiego miasta pochodzi ta druzyna: "; cin >> klub[ x ].miasto; cin.ignore(); cout << "Nowa druzyna zostala dodana do bazy"; getch(); x++; }
Jest to wersja prowizoryczna o wiele lepiej by to działało na vectorach, ale niestety to nie jest takie proste. /edit1: Bierz kod w takie coś: [code src="C++"]kod[/code] A wtedy nie będzie znikało prawidłowe n i treść będzie ładniej wyglądała. ;) Oczywiście usuń spację. |
|
« 1 » 2 |