Programarea Calculatoarelor, seria CC
Sintaxa de definire a unei variabile de tip structură este următoarea:
Variabilele definite cu această sintaxă au un tip de dată anonim (nu se pot face atribuiri între ele).
Putem rezolva mai elegant problema dacă definim un tip de dată structură cu următoarea sintaxă:
TIP_STRUCTURA variabila1, variabila2, vector_structuri[100];
Membrii unei structuri se accesează folosind operatorul
int a, b;
float c;
} TRIPLET;
TRIPLET t;
...
if (t.a==0) ...
...
Două variabile de acelaşi tip structură se pot atribui una alteia, dar nu se pot compara între ele!
Scrieți un program în care să se definească o structură Punct ce are ca membrii coordonatele x și y. Să se citească de la tastatură coordonatele pentru un Punct p și să se afișeze sub forma (x,y).
Observați folosirea structurilor (definire, accesare membrii).
#include <stdio.h>
typedef struct {
float x, y;
} Punct;
int main ()
{
Punct p;
printf("Introduceti x: ");
scanf("%f", &p.x);
printf("Introduceti y: ");
scanf("%f", &p.y);
printf("(%.2f,%.2f)\n", p.x, p.y);
return 0;
}
Intrare | Ieşire |
8.6 3.5 |
(8.60,3.50) |
Moduri în care timpul poate fi exprimat într-un program C:
struct tm { // definita in time.h
int tm_sec,tm_min, tm_hour; // sec (0-59), min (0-59), ora (0-23)
int tm_mday, tm_mon, tm_year; // zi (0-31), luna (0-11), an (dupa 1900)
int tm_wday; // ziua din saptamana (0-6)
int tm_yday; // ziua din an (0-365)
int tm_isdst; // +1 Daylight Savings Time, 0 No DST, -1 don't know
};
Pentru a facilita lucrul cu date ce reprezintă timpul sunt declarate în biblioteca
Să se scrie un program pentru afișarea orei și datei folosind funcțiile din
Să se scrie și să se verifice o funcție pentru transformarea orei
din
char* timestr(struct tm t, char* time);
Să se definească o structură pentru un vector
Să se definească o structură pentru un număr complex cu componente reale (de tip
Să se scrie un program pentru citirea unor cuvinte și afișarea numărului de apariții al fiecărui cuvânt.
Problema se va rezolva în două variante diferite:
Intrare | Ieşire |
unu doi trei doi trei trei |
unu 1 doi 2 trei 3 |