faustin Napisano Styczeń 22, 2022 Udostępnij Napisano Styczeń 22, 2022 Witam mam taki problem , otóż napisałam sobie program wspomniany w temacie postu tyle tylko,że po kompilacji wyskakuje jakiś czerwony komunikat widoczny na zdjęciu , program oczywiscie sam w sobie sie kompiluje i działa wiec co takieg jest źle ,że takie coś wyskakuje??? oto kod #include <iostream> using namespace std; class robaki { public: int liczba_nog; int dlugosc; void pytaj(string pytanie, int &odpowiedz); }; void pytaj(string pytanie, int &odpowiedz) { cout<<pytanie; cin>>odpowiedz; } int main() { float suma=0; float srednia =0; robaki robak; int ile; cout<<"podaj liczbe robakow do wczytania"<<endl; cin>>ile; for(int i=0;i<ile;i++) { // cout<<"podaj liczbe nóg robaka"<<i+1<<endl; pytaj("podaj liczbe nog robaka ",robak.liczba_nog); for(int j=0;j<robak.liczba_nog;j++) { pytaj("podaj długosc kazdej nogi robaka",robak.dlugosc); suma+=robak.dlugosc; } cout<<"suma długosci nóg tego robaka wynosi"<<suma<<endl; srednia=suma/robak.liczba_nog; cout<<"srednia długośc nogi robaka wynosi"<<srednia<<endl; } return 0; } Link do komentarza Share on other sites More sharing options...
faustin Styczeń 22, 2022 Autor tematu Udostępnij Styczeń 22, 2022 oczywisćie jesli ktośby miał inną koncepcje kodu tego programu , bardziej łatwiejszą to bardzo prosiłabym o podesłanie, program ogólnie ma za zadanie wprowadzać liczbe robakow w sensie gąsienic oraz wprowadzić liczbe ich odnózy (odnóza są niby innej długosci),a także wprowadzić długość każdej z odnózy i wylliczyć średnią długośc nóg każdego robaka i jeszcze ale tego nie wiem jak zrobić wyznaczyć czy dłuższe odnóza są na przodzie czy na tyle robaka. Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Styczeń 22, 2022 Udostępnij Styczeń 22, 2022 O matko... no to znów czas na pisanie... Implementowanie metody, która znajduje się w klasie musi być poprzedzone nazwą klasy Klasy tworzy się z wykorzystaniem wskaźnika oraz operatora "new" int jest większym typem niż float, dlatego zaleca się korzystać z double, ale to tylko dobra praktyka Komunikat jest efektem tego, że zmienna "robak" nie jest zainicjalizowana (wskazuje na adres 0x0), który jest zarezerwowany dla systemu operacyjnego i do którego nie można uzyskać dostępu. #include <iostream> using namespace std; class robaki { public: int liczba_nog; int dlugosc; void pytaj(string pytanie, int &odpowiedz); }; void robaki::pytaj(string pytanie, int &odpowiedz) // Poprawna implementacja metody w klasie { cout << pytanie; cin >> odpowiedz; } int main() { double suma = 0; double srednia = 0; robaki robak = *new robaki(); // Inicjalizacja klasy int ile; cout << "podaj liczbe robakow do wczytania" << endl; cin >> ile; for (int i = 0; i < ile; i++) { robak.pytaj("podaj liczbe nog robaka ", robak.liczba_nog); // Poprawa wywołań metody for (int j = 0; j < robak.liczba_nog; j++) { robak.pytaj("podaj długosc kazdej nogi robaka", robak.dlugosc); suma += robak.dlugosc; } cout << "suma długosci nóg tego robaka wynosi" << suma << endl; srednia = suma / robak.liczba_nog; cout << "srednia długośc nogi robaka wynosi" << srednia << endl; } return 0; } 1 Link do komentarza Share on other sites More sharing options...
faustin Styczeń 22, 2022 Autor tematu Udostępnij Styczeń 22, 2022 Dziękuję bardzo za pomoc a czy można by byłoby napisać ten kod bez tej rezerwacji pamięci posługując się tylko dwoma pętlami ? Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »