2.2. Functia putch

2018/12/30 in Programare in C

Functia putch afiseaza un caracter pe ecranul terminalului standard. Ea are un parametru care determina imaginea afisata la terminal.

Functia putch poate fi apelata astfel:

putch(expresie);

Prin acest apel se afiseaza imaginea definita de valoarea parametrului expresie. Valoarea parametrului se interpreteaza ca fiind codul ASCII al caracterului care se afiseaza.

Daca valoarea expresiei se aflain intervalul [32, 126] atunci se afiseaza un caracter imprimabil al codului ASCII. Daca valoarea respectiva se afla in afara acestui interval, atunci se afiseaza diferite imagini care pot fi folosite in diverse scopuri, cum poate fi de exemplu trasarea de chenare.

Functia putch afiseaza caractere colorate in conformitate cu culoarea curenta setata in modul text de functionare al ecranului.

La revenirea din functia putch se returneaza codul imaginii afisate (valoarea parametrului de apel).

Prototipul functiei putch se afla in fisierul conio.h.

Exercitii:

2.1. Sa se scrie un program care citeste un caracter imprimabil si il afiseaza apoi pe ecran.

Caracterul respectiv se citeste folosind apelul: getch()

La revenirea din getch() se returneaza codul ASCII al caracterului tastat. Acest cod urmeaza a fi folosit la apelul functiei putch pentru a afisa caracterul tastat si putem folosi constructia: putch(getch());

In acest caz parametrul efectiv este o expresie formata dintr-un singur operand, care consta din apelul functiei getch. Acest lucru este posibil deoarece orice functie care returneaza o valoare poate fi apelata ca operand al unei expresii.

Mentionam faptul ca functia getch returneaza valoarea 13 (CR) la citirea caracterului rezultat din actionarea tastei Enter.

#include <conio.h>

main() /*citeste fara ecou un caracter imprimabil ASCII si il afiseaza pe ecran*/
{
   putch(getch());
}

2.2. Sa se scrie un program care citeste fara ecou un caracter imprimabil ASCII, il afiseaza la terminal si apoi trece la linia urmatoare.

Programul este asemanator cu cel precedent, in plus se cere trecerea la linia urmatoare. In acest scop se apeleaza functia putch cu codul caracterului newline: putch(10);

Putem inlocui valoarea lui 10 prin constanta caracter '\n': putch('\n');

#include <conio.h>

main() /*citeste fara ecou un caracter imprimabil ASCII, il afiseaza 
	 la terminal si apoi trece cursorul pe linia urmatoare*/
{
   putch(getch());
   putch('\n');
}

2.3. Programul 007 realizeaza acelasi lucru ca si Programul 006, cu deosebirea ca inainte de a se termina executia lui, se afiseaza fereastra utilizator si se asteapta actionarea unei taste.

#include <conio.h>

main() /*citeste fara ecou un caracter imprimabil ASCII, il afiseaza, 
	 trece cursorul pe linia urmatoare, afiseaza fereastra utilizator 
	 si se asteapta actionarea unei taste; programul se termina 
	 dupa actionarea unei taste;*/
{
   putch(getch());
   putch('\n');
   getch();
}

2.3. Macrourile getchar si putchar