Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Błąd w programie c++ wypożyczalnia filmow

#1
Ściana  Błąd w programie c++ wypożyczalnia filmow
Witam, gdzieś poniżej popełniłem błąd. Program w założeniu jest w c++, Kompilowany w Dev'ie uruchamia się i wyrzuca błąd. Ale system a nie dev. Program ma być Wypożyczalnia Filmów. Dodane jest (na piechotę) 10 filmów i na samym dole polecenia doń. Używałem struktur oraz metod.

Poniżęj zamieszczam kod
Kod:
#include <cstdlib>
#include <iostream>

using namespace std;


struct filmy {
string tytul, gatunek;
int wolny;
void wyswietl();
};

void filmy::wyswietl()
{
cout << tytul << " z gatunku " << gatunek << " jest ";
if (wolny==1)
cout <<"wolny"<<endl;
else cout<<"zajety"<<endl;
}

int main(int argc, char *argv[])
{

struct filmy Filmy[3];
int i,polecenie,a;
string gat,tyt;

Filmy[0].tytul="tytanic";
Filmy[0].gatunek="dramat";
Filmy[0].wolny=1;
Filmy[1].tytul="haniball";
Filmy[1].gatunek="horror";
Filmy[1].wolny=0;
Filmy[2].tytul="lada";
Filmy[2].gatunek="dramat";
Filmy[2].wolny=1;
Filmy[3].tytul="asdf";
Filmy[3].gatunek="asdf";
Filmy[3].wolny=1;
Filmy[4].tytul="bartek";
Filmy[4].gatunek="sport";
Filmy[4].wolny=0;
Filmy[5].tytul="lada";
Filmy[5].gatunek="bajka";
Filmy[5].wolny=1;
Filmy[6].tytul="syrenka";
Filmy[6].gatunek="bajka";
Filmy[6].wolny=0;
Filmy[7].tytul="alladynh";
Filmy[7].gatunek="bajka";
Filmy[7].wolny=1;
Filmy[8].tytul="kaczordonald";
Filmy[8].gatunek="dramat";
Filmy[8].wolny=0;
Filmy[9].tytul="myszkamiki";
Filmy[9].gatunek="dramat";
Filmy[9].wolny=0;

cout<<"Co chesz zrobic?"<<endl;
cout<<"1. Wyswietl filmy"<<endl;
cout<<"2. Pokaz gatunek (przyrodnicze, dramat, sport, pornografia, komedia, pedofilia)"<<endl;
cout<<"3. Wypożycz tytul"<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;
cout<<"numer polecena";
cin>>polecenie;
if(polecenie==1)
{for (i=0;i<3;i++)
Filmy[i].wyswietl();}
else{

if (polecenie==2)
{
cout<<"podaj gatunek"<<endl;
cin>>gat;
cout<<endl;
for (i=0;i<3;i++)
if (Filmy[i].gatunek==gat)
{Filmy[i].wyswietl();}
else

{cout<<"podaj tytul"<<endl;
cin>>tyt;
cout<<endl;
for (i=0;i<3;i++)
if(Filmy[i].tytul==tyt)
Filmy[i].wyswietl();
}
}
}

system("PAUSE");
return EXIT_SUCCESS;

}


Z góry dziękuję
 System operacyjny: windows_seven Przeglądarka: opera
#2
RE: Błąd w programie c++ wypożyczalnia filmow
Witam, gdybyś był spostrzegawczy, to zauważyłbyś, że nie dołączasz pliku nagłówkowego string. Ponadto pięknie naruszasz ochronę pamięci sięganiem za tablicę. Lepiej zdefiniuj jakąś stałą, która określi rozmiar tablicy, żeby później nie bawić się ze zmianami, gdybyś zechciał zmienić rozmiar tablicy.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: Błąd w programie c++ wypożyczalnia filmow
Kod:
Filmy[0].tytul="tytanic";
Filmy[0].gatunek="dramat";
Filmy[0].wolny=1;
A do czegoś takiego używa się konstruktora.Oczko Toż to się zaklepać na śmierć można.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#4
RE: Błąd w programie c++ wypożyczalnia filmow
Xupicor-> mylisz się http://cplusplus.com/reference/string/string/operator=/Oczko
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#5
RE: Błąd w programie c++ wypożyczalnia filmow
Xupicorowi chyba chodziło o stworzenie konstruktora dla typu film. Nawet, jeśli nie autor nie będzie inicjalizował wartości w tablicy za pomocą konstruktora typu film, może później po prostu skorzystać z domyślnego operatora przypisania i użyć konstrukcji:
Kod PHP:
const int fSize 10;
type fTable[fSize];
fTable[0] = type(param1param2param3...); // zamiast fTable[0].ob1 = param1; fTable[0].ob2 = param2; fTable[0].ob3 = param3;
fTable[1] = type(param1param2param3...); 
Pozdrawiam.
[Obrazek: 16359.png]
[Obrazek: 15712.jpg]
 System operacyjny: windows_seven Przeglądarka: firefox
#6
RE: Błąd w programie c++ wypożyczalnia filmow
(31.05.2011, 16:16)Szachista napisał(a): Xupicor-> mylisz się http://cplusplus.com/reference/string/string/operator=/Oczko
Chodziło mi o konstruktor dla typu "filmy" (nazwa do zmiany Język). Ponieważ nie ma tutaj żadnych wskaźników, to operator= i konstruktor kopiujący wygenerowany przez kompilator spokojnie nam wystarcza - wystarczy więc utworzyć konstruktor i zamiast tej klepaniny napisać:
Kod:
tablica_filmow[0] = Film("Tytul", "gatunek", 3);
//itd
I już. Czyli dokładnie tak jak kolega wyżej napisał. Nie widzę więc pomyłki.Oczko
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
baza wypozyczanie filmów c++film o c++jak zrobic wypożyczalnie filmów w c++program do wypożyczania filmówwypozysczanie muzyki program c++wypożyczalnia muzyki program c++wypożyczalnia pliki nagłówkowe c++

Podobne wątki (Błąd w programie c++ wypożyczalnia filmow)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Edytowanie rozdzielczości okna w programie Kasjan 5 4421 31.10.2014, 16:45
Ostatni post: koneton
  [C++] Wspólna zmienna/struktura w programie i w DLL kikiw 8 4731 26.08.2014, 16:27
Ostatni post: kikiw
  Pomoc przy programie do podmieniania plików ;) DudusGame 3 2790 05.06.2014, 13:14
Ostatni post: broda99

Skocz do:


Wybrane wątki (Błąd w programie c++ wypożyczalnia filmow)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Programowanie windy (problem) w C++ mysza2323 2 2870 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 3270 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 11983 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 4422 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 2932 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 13837 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 6001 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 5070 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 6858 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 6608 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 6531 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 8609 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 3884 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 8140 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 8360 17.04.2019 10:20
Ostatni post: ptrick