PDA

Zobacz pełną wersję : Problem z Dev C++



potok
05-10-07, 20:21
Mianowicie pisze poniższy program w Dev C++ (jeden z najprostszych:)) :



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int x,c,v;
cout << "podaj 2 liczby
";
cin>>x;
cin>>c;
v=c+x;
cout<<"liczba to"<<v;
}
Problem polega na tym ze od
v=c+x;
cout<<"liczba to"<<v;
}

program przestaje chodzić i sie wyłącza.

macol
05-10-07, 20:58
No i słusznie ze się wyłącza! Bo co ma robić po wydrukowaniu wyniku? Czy nie przypadkiem zakończyć się? ;)

Po pierwsze warto by zakończyć działanie funkcji czymś w stylu "return 0;". Jak ostatnio pisałem w Dev c++ to w każdym projekcie domyślnie w main tworzył wywołanie jakiejś "funkcji pauzującej"... Tobie proponuje wpisać np. getch();, czyli:



#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;

int main(int argc, char *argv[])
{
int x,c,v;
cout << "podaj 2 liczby
";
cin>>x;
cin>>c;
v=c+x;
cout<<"liczba to"<<v;
getch();
return 0;
}

potok
07-10-07, 07:20
Wielkie thx, już wszystko działa:)
U nas w szkole czegoś takiego nie ma jak

using namespace std;

getch();
return 0;

RRybak
10-10-07, 20:35
Przestrzeń nazw to trochę wyższa szkoła jazdy. I bynajmniej nie przez to, że jest trudne, tylko generalnie 90% użytkowników nie jest do niczego potrzebna i nigdy się z tym nie spotkają (chyba, że korzystają z wielu modułów/pakietów różnych dostawców, to może..)
namespace std w tym przypadku akurat nic nie robi, bo jest to domyślna przestrzeń nazw i przyjmowana, gdy nie jest podana żadna inna :)

getch() to bardzo przydatne cacko w przypadku czekania na klawisz (np. niech użytkownik przeczyta wyniki i naciśnie coś, by można iść dalej).

Samo zaś return 0 POWINNO być w szkole i jeśli tego nie uczą, to złe nawyki od początku. Kompilator jest na tyle sprytny, że sobie z tym poradzi, ale..
Zadeklarowałeś funkcję main() jako int więc POWINNA zwracać wartość typu int - w podanym przez kolegę przykładzie równą 0.

Jeśli nie chcesz zwracać wartości deklarujesz blok jako

void funkcja();
void funkcja(int argumenty);
itp..

To są drobne niuanse różnic między C a C++, ale warto o tym pamiętać.

macol
10-10-07, 20:53
U nas w szkole czegoś takiego nie ma jak

using namespace std;

A jednak w kodzie który podałeś takie coś było ;)


getch();
A może macie system("pause")? Ma działania ciut inne, ale w twojej sytuacji otrzymasz ten sam efekt. ;)

potok
12-10-07, 14:33
My te programy piszemy na linuxach w terminalu( Midnight Commander).
Wtedy skladnia wygląda tak:
#include <iostream.h>
main()
{
instrukcja
}

i to działa:|
Jak w xp-eku jest wszystko ok to na linuxie to nie chodzi.
(jak by nie mogli lekcji na xp robić, DevC++ jest za darmo)

stilgar
12-10-07, 16:11
bardzo dobrze, ze nie robią lekcji na XP, bo uczniowie by mysleli, ze tylko XP jest na tym swiecie :)

a tak swoją drogą, bardzo dobry sposób na zatrzymanie programu, działa bez względu na to gdzie jest uruchomiony i jest banalny w swej prostocie :)

int xxx;
cin >> xxx;

:)

plokin
13-10-07, 01:17
Widać Twój nauczyciel zatrzymał się na poziomie pierwszych wydań Symfonii C++ :p

jrs
16-10-07, 22:26
Jak w xp-eku jest wszystko ok to na linuxie to nie chodzi.
(jak by nie mogli lekcji na xp robić, DevC++ jest za darmo)

Dobrze napisany program będzie działał niezależnie od systemu.

Pozatym jak ostatnio sprawdzałem to gcc i midnight commander też były darmo.
Pod windows też można je uruchomić (cygwin nie gryzie).

macol
16-10-07, 22:39
Pozatym jak ostatnio sprawdzałem to gcc i midnight commander też były darmo.
Pod windows też można je uruchomić (cygwin nie gryzie).
Dev C++ jest oparty na/wspiera gcc.

jrs
16-10-07, 23:01
Dev C++ jest oparty na/wspiera gcc.
Tak, ale mi chodziło o możliwość odtworzenia środowiska konsolowego (cygwin+sh+mc+gcc).

magda#lena
21-11-08, 18:21
dopiero zaczęłam pracę z programem dev c++ i mam problem mianowicie program ma sortować liczby od najmniejszej do największej w ten sposób aby wprowadzić jeszcze jedną zmienną i zamienic wartości tych liczb tylko nie wiem jak to mam zapisać
czy ktoś mógłby mi pomóc????

Mirthall
22-11-08, 11:35
Skorzystaj z Google...

Algorytmów jest wiele, ich implementacji również, możesz poszukać nawet na Wikipedii, ja polecam stronę Algorytm.org (http://www.algorytm.org/index.php?option=com_content&task=category&sectionid=4&id=13&Itemid=28) chyba najczytelniejszym algorytmem będzie sortowanie przez wstawianie.