Sunteți pe pagina 1din 4

Mediul integrat DEV-C++

1. Compilare si executie de programe C in mediul Dev-Cpp


Crearea unui nou fisier sursa (cu text C sau C++):
a) Din meniul principal optiunea "File" (Alt+F), urmata de "New","Souce File"
b) Scurtatura Ctrl+N
Editarea fisierelor sursa foloseste comenzile uzuale:
a) Taste cu sageti pentru mutarea cursorului in cadrul textului
b) Shift+sageata pentru selectarea (deselectarea) unui bloc de text (sau prin mouse), din pozitia
curenta in orice directie
c) Ctrl+C = copiere bloc selectat in Clipboard
d) Ctrl+X = copiere bloc selectat plus stergere bloc selectat
e) Ctrl+V = introduce text din Clipboard in pozitia curenta
f) Del = sterge bloc selectat sau sterge caracter la dreapta cursorului (daca nu e selectat nici un
bloc de text)
Compilarea si executia programelor C (si C++) se poate comanda in 3 moduri:
a) Din meniul principal optiunea "Execute" (Alt+X), urmata de optiunea "Compile" sau
"Compile & Run".
b) Din bara de instrumente ("Tool Bar") imaginile cu 4 patratele colorate ( separate=Comple,
unite=Compile&Run)
c) Prin taste functionale ("scurtaturi"): Ctrl+F9 =Compile, F9=Compile & Run
Exercitii:
a) Introduceti urmatorul program C intr-o fereastra noua (Ctrl+N):
#include <stdio.h> // aici sunt definite functiile "printf", "getchar"
int main() {
int a=5, b=3;
printf("cat=%d , rest=%d", a/b, a%b);
getchar();
return 0;
}

Salvati programul intr-un fisier de tip .C din directorul de lucru (1CC).


Compilati si executati acest program (F9), dupa care modificati valorile variabilelor a si b si
executati din nou programul (de mai multe ori).
Observatii importante:
g) In stanga ferestrei cu text sursa se afla o banda colorata in culoarea meniului pentru crearea
unor puncte de oprire la depanare ("breakpoints").
h) Selectarea unor caractere dintr-o linie prin mouse se face prin click si deplasare mouse pe
caracterele selectate, dar numai incepand cu primul caracter din stanga. Blocul de text
selectat este colorat. Un click de mouse la stanga primului caracter din linie are ca efect
stabilirea unui punct de oprire ("Breakpoint") si aparitia unui punct rosu.
i) In C++ functia "main" trebuie sa fie de tip "int" si sa contina instructiunea return 0; In C
functia "main" poate fi si de tip "void".

j)

Pentru a mentine fereastra DOS cu rezultatele executiei trebuie apelata o functie de citire
(aici functia "getchar"). Inchiderea ferestrei cu rezultate si revenirea in DevC++ se face
apasand tasta Enter.

b) Modificati programul anterior pentru citirea de valori pentru a si b si observati ce se intampla


la executie:
#include <stdio.h>
// pentru functiile printf, scanf, getchar
int main() {
int a, b;
printf("Doi intregi: ");
scanf("%d%d", &a,&b);
printf("cat=%d , rest=%d", a/b, a%b);
getchar();
return 0;
}

Pentru a vedea rezultatele avem mai multe solutii, dintre care:


Folosim functia "getch" in locul functiei "getchar" (din <conio.h>):

#include <stdio.h>
#include <conio.h>
// aici e definita functia "getch"
int main() {
...
// instructiuni si functii de I/E
getch();
return 0;
}

Orice tasta apasata va inchide fereastra cu rezultate.


Folosim functia "system" declarata in <stdlib.h>:

#include <stdio.h>
#include <stdlib.h>
int main() {
...
system("pause");
return 0;
}

// orice instructiuni

Introducem operatiile de citire date si afisare rezultate intr-un ciclu infinit (din care se iese
cu Ctrl+C):

#include <stdio.h>
int main() {
int a, b;
do {
// repeta urmatoarele
printf("Doi intregi: ");
scanf("%d%d", &a,&b);
printf("cat=%d , rest=%d \n", a/b, a%b);
} while (1);
// cat timp 1 diferit de 0 (deci mereu)
return 0;
}

Mai multe informatii despre utilizarea mediului Dev-C++ se pot obtine cu optiunea "Help"
(Alt+H), urmata de "Help on Dev-C++".
2. Depanare programe C in Dev-Cpp
Depanarea in Dev-Cpp poate incepe in doua moduri:

a) Se aduce cursorul pe prima instructiune din program si se executa comanda "Run to cursor"
(Shift+F4), dupa care se poate face o executie pas cu pas (F7 pentru un pas).
b) Se fixeaza un punct de intrerupere (breakpoint), fie prin mouse, fie prin mutarea cursorului
pe linia dorita si Ctrl+F5 (Toggle breaskpoints). Executia pana la punctul de oprire se face cu
F8 (Debug).
Pentru executie pas cu pas dupa breakpoint se foloseste tasta F7. La oprirea executiei intrun breakpoint sau dupa un pas se pot afisa valorile unor variabile. In acest scop trebuie deschisa
fereastra "Debug" prin optiunea "View" (Alt+V), urmata de "Project/ClassBrowser". Alegerea
variabilelor afisate se face prin F4 (Debug,Add Watch,nume variabila).

Observatii importante:
Se pot depana numai programe compilate (si fara erori).
Nu se pot vizualiza valorile variabilelor "Watch" daca nu e deschisa fereastra din stanga
(Project/Classes/Debug)
Pentru o noua depananare trebuie oprita executia anterioara (daca nu s-a terminat prin
executia instructiunii "return din "main").
Daca se citesc date intr-un program depanat trebuie comutat intre ferestre (program si
introducere/afisare date).

Introduceti programul urmator, adaugati in fereastra Debug variabilele a,b,c,r si apoi


executati programul pas cu pas.
#include <stdio.h>
int main() {
int a,b,c,r;
a=5; b=3;
c=a/b;
r=a%b;
return 0;
}

Modificati instructiunea a=5; in a=-5; si recompilati programul. Executati apoi din nou pas cu
pas programul si urmariti valorile variabilelor.
Inlocuiti instructiunile de initializare a variabilelor a si b cu o instructiune de citire
scanf("%d%d,&a,&b) si depanati din nou programul (dupa recompilare).
3. Utilizare functii de citire/scriere
a) Program pentru citirea de la tastatura si afisare pe ecran a doi intregi, folosind descriptorii de
format %d si %i, in variantele:
"%d%d" ,

"%d

%d", "%11d%11d" , "%5d%5d\n"

b) Modificati programul anterior pentru intregi de tip "short", folosind descriptorul %hd si
introduceti valori mai mari decat 32767. Extindeti programul la citirea a 3 numere si
introduceti cele 3 numere pe una, doua sau trei linii separate (cu spatii sau caractere TAB
intre ele).
c) Introduceti diferite erori in programul anterior si observati efectele:
- Numar de variabile mai mic decat numarul descriptorilor de format:
printf ("%d %d %d \n", a,b);

Numar de variabile mai mare decat numarul descriptorilor de format:


printf ("%d %d \n", a,b,c);

Absenta descriptorului de format:


printf (" a= ", a);

// corect este printf ("a=%d \n",a);

Neconcordanta intre tipul descriptorului si tipul variabilei:

printf ("%f \n", a); // int a = 2;

Absenta operatorului de adresare (&) la variabilele din "scanf":


scanf ("%d", a);

S-ar putea să vă placă și