Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy http://download.eclipse.org/tools/cdt/releases/8.8) III. Zainstaluj środowisko kompilatora i konsolidatora Mingw/gcc, lub inne (np. cygwin), dodaj odpowiednie wpisy do zmiennych systemowych (por np. https://tls.mbed.org/kb/compiling-and-building/setup-eclipse-cdt-environment-on-windows). Jeżeli pracujesz w systemie Linux, możesz ten krok opuścić. IV. Utwórz nowy projekt w środowisku Eclipse, sprawdź, czy efekty działania są takie, jak obliczyliśmy/obliczymy na ćwiczeniach. 1. //program 1 x=5; y=2; w=x+y; 2. // program 2 x=5; y=2; w=x / y; printf( %d\n,w); 3. // program 3 x=5; y=2; w=x % y; 4. // program 4 char x,y,w; x=9; w=x y; printf( %d\n,w); 5. program 5 x=9; w=x ^ y; 6. // program 6 x=29; w=x >> 2; 7. // program 7 x=29; w=x << 5; printf( %d\n,w); 1/6
x =y; printf( %d\n,x); 8. // program 8 unsigned char x,y,w; x=7; y=8; w=x++*--y; printf( %d,%d,%d\n,x,y,w); 9. // program 9 unsigned char x,y,w; x=7; y=0; w=x++*--y; printf( %d,%d,%d\n,x,y,w); 10. // program 10 x=15; y=7; x*=y; printf( %d\n,x); 11. // program 11 x=15; y=7; 12. // program 12 char x,y,w; x=23; y=6; w= x>=y x<y; 13. // program 13 #include math.h double a,b,c,x; a=1.0; b=-4.0; c=3.0; x= b*b-4*a*c>=0?(- b+exp(0.5*log(b*b- 4*a*c)))/(2*a):0; printf( %3.2f\n,x); 14. // program 14 int a,b,c,w; a=4; b=15; c=2; w=(a^++b) 6<<a%4+7*c&8; Za zadania I-IV łącznie do zdobycia 4p. Zaliczenie zajęć od 3,5p. V. (dodatkowe +2p) Napisz program, który wczyta liczbę, znak + - * /, drugą liczbę i wykona odpowiednie działania. (łańcuchy tekstowe deklarujemy jako char[], wczytujemy scanf("%s"), instrukcja warunkowa if, porównanie łańcuchów strcmp). 2/6
WSKAZÓWKI Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową) Po stworzeniu projektu C++ type Executable- toolchain cygwin lub mingw (pamiętając o zmiennej PATH zawierającej ścieżkę do GCC) dodajemy nowy plik do projektu wybierając opcję File New Other C/C++ Source File. Zmieniamy aktywą konfigurację projektu z debug na release Kompilujemy i konsolidujemy plik exe (pojawia się plik release/nazwa_projekte.exe) Uruchamiamy PIERWSZY raz projekt poprzez ctrl+f11 z poziomu edytora lub prawy przycisk myszy na projekcie Run As Local C/C++ Application lub wybierając Launch configurations New launch configuration 3/6
Po pierwszym uruchomieniu konfiguracja uruchumieniowa zostaje zapisana, każde następne wywołanie projektu będzie możliwe również poprzez przycisk (przy aktywnej konfiguracji uruchumieniowej) Lub: Troubleshouting: Nie pojawia się typ projektu MiNGW Może nie być ustawiona ścieżka dostępu do gcc, należy ją dodać z poziomu komputera lub w eclipsie ctl+shift+l ctl+shift+l C/C++ Build Environment 4/6
Program nie kompiluje się pisząc no access to... exe Być może jest otwartych zbyt dużo kopi programu, należy pozamykać uruchomione instancje z widoku konsoli Wybrana jest konfiguracja debug zamiast run i program staje po pierwszej instrukcji w funkcji main. Należy wyłączyć opcję stop on startup 5/6
Zamiast wyników programu wyświetlana jest konsola błędów CDT Należy wyłączyć dla konsoli CDT automatyczne uzyskiwanie fokusu w przypadku wystąpienia błędu: Tekst zachęty do wprowadzania danych pojawia się dopiero po zakończeniu wprowadzania danych Należy zamiast wprowadzania w konwencji strukturalnego C (printf, scanf) wyświetlać i wprowadzać dane w konwencji obiektowego C++ (cout<<, cin>> ). Nie da się skompilować drugiego programu wewnątrz tego samego projektu Tylko jeden plik źródłowy w projekcie może mieć funkcję main. Jeżeli chcemy uruchomić inny program, to powinniśmy utworzyć inny projekt. Wyjściem prowizorycznym może być zaremowanie (dodanie komentarza znakami // lub /* */ funkcji main w pierwszym pliku). 6/6