Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Cayman

Złe działanie programów napisanych w C++

Polecane posty

Witam,

Mam problem z mojimi programami napisanymi w C++. Mianowicie każdy program liczący, który napisze źle oblicza wynik. Nawet najprostsze programy sumujące liczby robią to źle. Przy zmiennych typu int wyniki wynoszą około 20000! Nawet gdy dodaje 2+ 2. Nie mówie już jakie dziwactwa wychodzą mi przy innych zmiennych. W kodzie na 100% nie ma błędu. Widziały je trzy osoby i żadna nic nie dostrzegła. Nawet kiedy przepisuje program z książki, z której się uczę tak się dzieje. Na początku było wporządku. Uzywam deva do kompilowania. W czym może leżeć problem?

Link do komentarza
Udostępnij na innych stronach

ad1. OK, zmienię. Jaki polecasz?

ad2. Ustawienia są w porządku.

ad3. Ok, podaje. To taki najprostszy, który nie działa:

#include <iostream>

using namespace std;

int main ()

{

int licz_1, licz_2, wynik;

wynik = licz_1 + licz_2;

cout << "Program zsumuje dwie liczby naturalne\n";

cout << "Podaj pierwsza liczbe\n";

cin >> licz_1;

cout << "I druga\n";

cin >> licz_2;

cout << "Wynik to\n";

cout << wynik;

cout << endl;

char litera;

cout << "Wpisz \"0\" i nacisnij [ENTER], aby zamknac program\n";

cin >> litera;

return 0;

}

Link do komentarza
Udostępnij na innych stronach

Oczyeiście, że nie działa, bo i jak ?

Deklarujesz dwie zmienne. Mają one losowe wartości. Sumujesz je.

Dopiero potem dowiadujesz sie, co chcesz dodac, ale tego nie bierzesz pod uwagę i wypisujesz sumę losowych liczb.

Przesun linijke "wynik=a+b" pod fragment w ktorym wczytujesz zmienne

I tak BTW, int reprezentuje liczbę całkowitą, nie naturalną

Link do komentarza
Udostępnij na innych stronach

@Hakken. Po tym, ze wszystko jest dobrze wnioskuje, ze twoje rozwiazanie problemu bylo dobre :) Dzieki. Nie wiedzialem, ze ma to jakies znaczenie, bo dopiero zaczynam swoja przygode z programami.

Link do komentarza
Udostępnij na innych stronach

Pamiętaj, że procesor jest tak naprawdę głupi. Robi dokładnie krok po kroku to, co mu napiszesz. Sumuje w momencie, gdy mu to polecisz. Sam nie wykona sumowania po wprowadzeniu wartości, jeśli mu tego jasno nie napiszesz. Procesor nie myśli, procesor nie ma oglądu na cały program. On bierze jedną instrukcję i wykonuje. Bierze kolejną i wykonuje. Nie zastanawia się nad sensem tego, co ma zrobić.

Link do komentarza
Udostępnij na innych stronach

Co do programu koledzy wyżej już pomogli, jak widać te 3 osoby których radami się kierowałeś muszą być świetnymi programistami ;) Co do IDE osobiście poleciłbym Code::Blocks(sam używam) lub np. Eclipse albo cieżki i straszny Visual Studio (którego sam osobiście nie lubię) ale chyba każde zaktualizowane IDE jest lepsze od starego Deva.

Btw. nikt mi nie wytknął ale popełniłem błąd w poscie poprzednim, DevC++ nazwałem kompilatorem za co przepraszam ;p

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...