Sunteți pe pagina 1din 2

TIPURI DE DATE DEFINITE DE UTILIZATOR Limbajul C++ ofer utilizatorului faciliti de a prelucra att datele singulare (izolate), ct i pe cele

grupate (tablourile). Datele predefinite i tablourile nu sunt ns suficiente. Informaia prelucrat n programe este organizat, n general n ansambluri de date, de diferite tipuri. Pentru a putea descrie aceste ansambluri (structuri) de date, limbajul C++ permite programatorului s-i defineasc propriile tipuri de date. Aceste tipuri de date sunt structuri de date neomogene care ne permit gruparea unor obiecte (date) de tipuri diferite, referite printr-un nume comun. Exemplificnd, dac dorim s prelucrm date referitoare la mai muli elevi, pentru fiecare elev trebuie s cunoatem: Numele char[20] Prenumele char[20] Nota matematic - float Nota informatic float n C++ exist un tip de date, numit struct, care permite ca fiecrui elev s-i corespund o singur nregistrare. Forma general este: struct [nume structura] { [<tip> <nume variabila [, nume variabila, ]>]; [<tip> <nume variabila [, nume variabila, ]>]; } [lista de variabile]; Exist dou posibiliti de declarare a variabilelor care alctuiesc structura: 1. Scriind la sfrit numele variabilelor: struct elev { char nume[20], prenume[20]; 2. Declarnd variabilele aa cum suntem float nota_mate, nota_info; obinuii: int varsta; elev inr1, inr2; } inr1,inr2; Definiia structurii poate fi fcut: - n cadrul unei funciei - n afara oricrei funcii (caz recomandat) Pentru accesul la cmpurile unei variabile de tip struct se folosete operatorul de selecie direct, notat cu ., operator cu prioritate maxim. struct elev { char nume[20], prenume[20]; float nota_mate, nota_info; int varsta; }; Dac inr este o variabil de tipul elev. Atunci: inr.nume reprezint irul nume al variabilei inr; inr.nume[0] - reprezint primul caracter al irului nume; inr.nota_mate reprezint cmpul nota_mate al variabilei inr.

ntre dou variabile de acelai tip struct se poate folosi atribuirea.

Dac inr1, inr2 sunt dou variabile de tip elev Prin atribuirea inr1=inr2, variabila inr1 ia aceeai valoare ca variabila inr2.

nregistrrile imbricate Putem avea un tip structurat ce conine n interiorul su un alt tip structurat. struct elev { char nume[20], prenume[20]; struct { int clasa; float note[20]; } situatie; int varsta; }; Dac inr este o variabil de tipul elev. Atunci accesarea elementelor situate n interiorul structurii se face astfel: inr.situatie.clasa se acceseaz cmpul clasa al substructurii inr.situatie.note[0] se acceseaz prima not a vectorului inclus n substructur

Teme de lucru n MinGW: 1. Se introduc de la tastatura n elevi, memorandu-se pentru fiecare din acetia urmtoarele: - nume - prenume - clasa - nota romana - nota mate - nota info. S se afieze n fiier urmtoarele: a. numele i prenumele tuturor elevilor citii b. media la romn c. media la matematic d. media la informatic
2. Se introduc de la tastatura dou puncte A(xa,ya) i B(xb,yb), memorandu-se pentru fiecare din acestea urmtoarele: - x (abscisa) - y (ordonata) S se calculeze i s se afieze distana dintre punctele A i B.

3. Se introduc de la tastatura dou fracii F i G, memorandu-se pentru fiecare din acestea urmtoarele: - p (numrtorul) - q (numitorul) S se calculeze i s se afieze fracia H = F + G.

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