Sunteți pe pagina 1din 3

Limbaje de Programare

Laboratorul 9: Structuri
Dan Novischi
26 aprilie 2017

1. Introducere
Scopul acestui laborator este definirea s, i utilizarea structurilor ı̂n limbajul C.

Structurile ı̂n limbajul C reprezintă modalitatea prin care un programator poate să ı̂s, i defi-
nească s, i să utilizeze tipuri de date proprii. Acestea reprezentand un tip de date agregat mai
complex realizat pe baza tipurilor de date deja definite (cele cont, inute ı̂n limbaj precum:
int, char*... sau alte tipuri de date definite de utilizator). Sintaxa generică pentru definirea
unei structuri este următoarea:

1 struct nume_structura{
2 tip_camp1 nume_camp1;
3 tip_camp2 nume_camp2;
4 ...
5 tip_campn nume_campN;
6 };

unde definit, ia structurii ı̂ncepe ı̂ntodeauna folosind cuvantul cheie struct urmat de un nume
pentru structură. Un nume valid de structură, ca s, i ı̂n cazul numelor de variabile reprezintă
orice nume care ı̂ncepe cu o literă sau caracterul ” ” s, i poate cont, ine cifre.

1
2. Exemplu de program
1 /* Creearea si utilizarea unui tip care reprezinta
2 o data clendaristica.
3 */
4 #include <stdio.h>
5 #include <stdlib.h>
6

7 typedef struct Date{


8 int zi;
9 int luna;
10 int an;
11 }Date;
12

13 void printDate(Data* date){


14 printf("%d-%d-%d",date->zi,date->luna,date->an);
15 }
16

17 int main(void){
18 // Declaratie si intializare var locala (in place)
19 Date x = {25,12,1989};
20

21 // Declaratie si alocare dinamica folosind pointer


22 Date* y = (Date*) malloc(sizeof(Date));
23

24 y->zi = 25;
25 y->luna = 12;
26 y->an = 1989;
27

28 printDate(&x);
29 printf("\n");
30 printDate(y);
31

32 free(y);
33 return 0;
34 }

2
3. Cerint, e
Cerint, a 1 (1p) Sa se definească un tip structură pentru un numar complex format din
două numere reale (de tip float).

Cerint, a 2 (3p) Folosind tipul de date definit anterior implementati doua functii pentru
alocarea si de-alocare unui numar complex.

Cerint, a 3 (6p) Folosind tipul de date definit anterior implementati urmatoarele functii:

• add(...) - aduna doua numere complexe si intoarce rezultatul.

• sub(...) - scade doua numere complexe si intoarce rezultatul.

• cabs(...) - calculeaza modulul unui numar complex si intoarce rezultatul.

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

  • Smart Cities
    Smart Cities
    Document5 pagini
    Smart Cities
    Camer Aptula
    Încă nu există evaluări
  • Realitate Virtuala in Medicina - Asc
    Realitate Virtuala in Medicina - Asc
    Document5 pagini
    Realitate Virtuala in Medicina - Asc
    Camer Aptula
    Încă nu există evaluări
  • Infrastructura Deschisă Pentru Rezultate (ASC)
    Infrastructura Deschisă Pentru Rezultate (ASC)
    Document6 pagini
    Infrastructura Deschisă Pentru Rezultate (ASC)
    Camer Aptula
    Încă nu există evaluări
  • Realitate Virtuala in Medicina - Asc
    Realitate Virtuala in Medicina - Asc
    Document7 pagini
    Realitate Virtuala in Medicina - Asc
    Camer Aptula
    Încă nu există evaluări
  • Metodologie Acs
    Metodologie Acs
    Document5 pagini
    Metodologie Acs
    Camer Aptula
    Încă nu există evaluări
  • Metodologie Acs
    Metodologie Acs
    Document5 pagini
    Metodologie Acs
    Camer Aptula
    Încă nu există evaluări
  • TEMA Finala ASC
    TEMA Finala ASC
    Document1 pagină
    TEMA Finala ASC
    Camer Aptula
    Încă nu există evaluări
  • Smart City
    Smart City
    Document4 pagini
    Smart City
    Camer Aptula
    Încă nu există evaluări
  • Ia2 L3
    Ia2 L3
    Document18 pagini
    Ia2 L3
    Cristian Mihai
    Încă nu există evaluări
  • IA2 L1 PDF
    IA2 L1 PDF
    Document22 pagini
    IA2 L1 PDF
    Mihai Gatea
    100% (1)
  • ASC - Sectiune2 - L1 - Prez IDE - Ex
    ASC - Sectiune2 - L1 - Prez IDE - Ex
    Document51 pagini
    ASC - Sectiune2 - L1 - Prez IDE - Ex
    Camer Aptula
    Încă nu există evaluări
  • Lab 11
    Lab 11
    Document2 pagini
    Lab 11
    Camer Aptula
    Încă nu există evaluări
  • L2. Functii MATLAB de Interes General. Functii Matematice Uzuale. Reprezentarea Graficelor
    L2. Functii MATLAB de Interes General. Functii Matematice Uzuale. Reprezentarea Graficelor
    Document18 pagini
    L2. Functii MATLAB de Interes General. Functii Matematice Uzuale. Reprezentarea Graficelor
    Camer Aptula
    Încă nu există evaluări
  • Lab 12
    Lab 12
    Document1 pagină
    Lab 12
    Camer Aptula
    Încă nu există evaluări
  • LP Curs12
    LP Curs12
    Document19 pagini
    LP Curs12
    Camer Aptula
    Încă nu există evaluări
  • LP Curs12
    LP Curs12
    Document19 pagini
    LP Curs12
    Camer Aptula
    Încă nu există evaluări
  • Lab 10
    Lab 10
    Document2 pagini
    Lab 10
    Camer Aptula
    Încă nu există evaluări
  • LP Curs9
    LP Curs9
    Document32 pagini
    LP Curs9
    Camer Aptula
    Încă nu există evaluări
  • LP Curs6
    LP Curs6
    Document28 pagini
    LP Curs6
    Camer Aptula
    Încă nu există evaluări
  • Lab 10
    Lab 10
    Document2 pagini
    Lab 10
    Camer Aptula
    Încă nu există evaluări
  • Lab 12
    Lab 12
    Document1 pagină
    Lab 12
    Camer Aptula
    Încă nu există evaluări
  • LP Curs10
    LP Curs10
    Document15 pagini
    LP Curs10
    Camer Aptula
    Încă nu există evaluări
  • LP Curs8 PDF
    LP Curs8 PDF
    Document25 pagini
    LP Curs8 PDF
    Camer Aptula
    Încă nu există evaluări
  • Lab 06
    Lab 06
    Document2 pagini
    Lab 06
    Camer Aptula
    Încă nu există evaluări
  • Lab 04
    Lab 04
    Document2 pagini
    Lab 04
    Camer Aptula
    Încă nu există evaluări
  • Lab 05
    Lab 05
    Document3 pagini
    Lab 05
    Camer Aptula
    Încă nu există evaluări
  • Lab 07
    Lab 07
    Document2 pagini
    Lab 07
    Camer Aptula
    Încă nu există evaluări
  • LP Curs8 PDF
    LP Curs8 PDF
    Document25 pagini
    LP Curs8 PDF
    Camer Aptula
    Încă nu există evaluări
  • LP Curs5 PDF
    LP Curs5 PDF
    Document29 pagini
    LP Curs5 PDF
    Camer Aptula
    Încă nu există evaluări