Promocja językowa LINGO

Lekcja 22

Wszystkie informacje związane z Kurs C++ - POZIOM 3

Moderator: Moderatorzy

Re: Lekcja 22

Postprzez zapo N kwi 20, 2008 10:34 am

Znalazłem kilka błędów w kodzie 22.1 na stronie www
Kod: Zaznacz cały
for (unsigned int i=0;i<4;++i) 
{
   wyscigowka.kolo[i]=true;
   cout <<wyscigowka.kolo[i]<<;
}

brakuje czegoś przed średnikiem

Kod: Zaznacz cały
for (unsigned int i=0;i<4;++i) 
   cout <<wyscigowka.kolo[i]<<;

tutaj tak samo

podobne błędy są w kodzie 22.3
Kod: Zaznacz cały
for (unsigned int i=0;i<ile;++i) // dla kazdego pracownika
  {
     // wypisujemy dane, ktore pobralismy
     cout <<endl<<"DANE O PRACOWNIKU "<<(i+1)<<endl;
     cout << pracownik[i].imie<<<<pracownik[i].nazwisko<<endl;
     cout <<pracownik[i].mieszkanie.czynsz<<
          <<pracownik[i].mieszkanie.adres.lokal<<endl;
     cout << pracownik[i].praca.adres.ulica <<
          << pracownik[i].praca.pensja<<endl;
  }
Nie znaleziono klawiatury. Naciśnij dowolny klawisz.
zapo
obserwator
obserwator
 
Posty: 65
Dołączył(a): So mar 29, 2008 16:14 pm

Re: Lekcja 22

Postprzez mnabialek N kwi 20, 2008 12:49 pm

Dziękuję za uwagi. Poprawki zostały wykonane. Kurs jest teraz w wersji 1.1.02 ;) - http://www.ithelpdesk.pl/kurs-c++-wersj ... kursu.html
Promocja na abonament w serwisie - kup lub poleć innym - szczegóły na Abonament w serwisie
Avatar użytkownika
mnabialek
Administrator
Administrator
 
Posty: 657
Dołączył(a): Śr paź 25, 2006 14:05 pm
Lokalizacja: Częstochowa

Re: Lekcja 22

Postprzez zapo Cz kwi 24, 2008 20:32 pm

Znalazłem kilka błędów w kodach na stronie www ale w swoim już nie mogę :(
W czasie działania programu wyskakuje mi błąd.
Polega on na tym, że jeśli wpisze maksymalną liczbę książek (2), wpisze dane dotyczące 1 książki, to podczas pisania danych w ostatniej książce wyskakuje mi błąd "Wystąpił problem z aplikacją nazwa.exe. i zostanie ona zamknięta ..."
Wklejam programik, mam nadzieje, że ktoś znajdzie coś, co powoduje ten problem
Kod: Zaznacz cały
#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    unsigned int max_ilosc=2;
    unsigned int twoja_ilosc;
    int i=1;
   
    struct Ksiazka
      {
         string tytul;
         int strony;
         string rok_powstania;
      };
     
    Ksiazka book[max_ilosc];
       
    cout <<"Podaj ilosc ksiazek:"<<' ';
    cin  >>twoja_ilosc;
    cin.ignore();
   
    if(twoja_ilosc>max_ilosc)
      {
         cout <<"Ta wersja programu nie obsluguje tylu ksiazek. Mozesz wybrac jedynie "<<max_ilosc<<endl;
         getchar();
         return 0;
      }
    cout <<endl;
    cout <<"Trwa pobieranie danych o ksiazkach..."<<endl<<endl;
   
    for(i;i<=twoja_ilosc;++i)
      {
         cout <<"Podaj tytul "<<i<<" ksiazki: ";
         cin  >>book[i].tytul;
         cin.ignore();
         
         cout <<"Podaj ilosc stron "<<i<<"  ksiazki : ";
         cin  >>book[i].strony;
         cin.ignore();
   
         cout <<"Podaj rok powstania "<<i<<" ksiazki: ";
         cin  >>book[i].rok_powstania;
         cin.ignore();
         
         cout <<endl;
      }

    cout <<endl;
    cout <<endl;
   
    cout <<"---------Katalog twoich ksiazek---------"<<endl;
   
    for(i;i<=twoja_ilosc;++i)
      {
         cout <<"Tytul "<<i<<" ksiazki:         "<<book[i].tytul<<endl;
         cout <<"Ilosc stron "<<i<<" ksiazki:   "<<book[i].strony<<endl;   
         cout <<"Rok powstania "<<i<<" ksiazki: "<<book[i].rok_powstania<<endl;
         cout <<endl;
      }

    getchar();
    return 0;
}
   
Nie znaleziono klawiatury. Naciśnij dowolny klawisz.
zapo
obserwator
obserwator
 
Posty: 65
Dołączył(a): So mar 29, 2008 16:14 pm

Re: Lekcja 22

Postprzez mnabialek Cz kwi 24, 2008 21:18 pm

Tablice indeksujemy od 0, a u Ciebie jest

Kod: Zaznacz cały
int i=1;
...
for(i;i<=twoja_ilosc;++i)


Element book[2] nie istnieje i powoduje problem.

Można zmienić i zrobić

Kod: Zaznacz cały
int i=1;
...   
    for(i;i<=twoja_ilosc;++i)
      {
         cout <<"Podaj tytul "<<i<<" ksiazki: ";
         cin  >>book[i-1].tytul;
         cin.ignore();

       ...
     }


albo

Kod: Zaznacz cały
int i=0;
...   
    for(i;i<twoja_ilosc;++i)
      {
         cout <<"Podaj tytul "<<(i+1)<<" ksiazki: ";
         cin  >>book[i].tytul;
         cin.ignore();

       ...
     }


Ta druga metoda jest raczej bardziej oczywista w C++. Pozdrawiam
Promocja na abonament w serwisie - kup lub poleć innym - szczegóły na Abonament w serwisie
Avatar użytkownika
mnabialek
Administrator
Administrator
 
Posty: 657
Dołączył(a): Śr paź 25, 2006 14:05 pm
Lokalizacja: Częstochowa

Re: Lekcja 22

Postprzez Igorek Pn wrz 20, 2010 15:25 pm

Wiatam,
podczas kompilacji programu z wyscigowka wyskakuja mi takie dwa bledy


error: ‘srand’ was not declared in this scope
error: ‘rand’ was not declared in this scope

o jakie deklaracje chodzi??
Igorek
obserwator
obserwator
 
Posty: 2
Dołączył(a): Pt sie 13, 2010 18:16 pm

Poprzednia strona

Powrót do KURS C++ POZIOM 3

Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości

cron
ręceprecz odtybetu | Programista PHP | Pozycjonowanie www | Seo link directory | Pozycjonowanie Częstochowa | wizy do rosji | wizy do uzbekistanu