#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Locuinta {
int id;
char* strada;
int numar;
};
void inserareLocuinta(struct Locuinta** vector, int* dim, struct Locuinta l) {
struct Locuinta* copie;
copie
= malloc(sizeof(struct Locuinta
) * (++(*dim
)));
for (int i = 0; i < (*dim) - 1; i++) {
copie[i] = (*vector)[i];
}
copie[(*dim) - 1] = l;
if ((*vector) != NULL) {
}
(*vector) = copie;
}
void citesteFisier(const char* nume_fisier, struct Locuinta** vector, int* dim) {
if (nume_fisier
!= NULL
&& strlen(nume_fisier
) > 0) {
FILE* f = fopen(nume_fisier, "r");
if (f != NULL) {
(*dim) = 0;
char buffer[100];
char delimitator[] = ",\n";
while (fgets(buffer
, 100, f
) != NULL
) {
char* token;
token
= strtok(buffer
, delimitator
);
struct Locuinta locuinta;
locuinta.
id = atoi(token
);
token
= strtok(NULL
, delimitator
);
strcpy(locuinta.
strada, token
);
token
= strtok(NULL
, delimitator
);
locuinta.
numar = atoi(token
);
inserareLocuinta(vector, dim, locuinta);
}
}
}
}
void afisareLocuinta(struct Locuinta l) {
printf("ID: %d\nStrada: %s numarul %d\n", l.
id, l.
strada, l.
numar);
}
void afisareVectorLocuinte(struct Locuinta* vector, int dim) {
for (int i = 0; i < dim; i++)
afisareLocuinta(vector[i]);
}
void stergeLocuinta(struct Locuinta** vector, int* dim, int id) {
char flag = 0;
for (int i = 0; i < (*dim); i++) {
if (((*vector)[i].id) == id){
flag = 1;
break;
}
}
if (flag == 1) {//avem o locuinta de sters
struct Locuinta
* copie
= (struct Locuinta
*)malloc(sizeof(struct Locuinta
) * ((*dim
) - 1));
int j = 0;
for (int i = 0; i < (*dim); i++) {
if ((*vector)[i].id != id) {
copie[j++] = (*vector)[i];
}
}
(*dim)--;
if ((*vector) != NULL) {
}
(*vector) = copie;
}
}
void main() {
struct Locuinta* locuinte = NULL;
int dim = 3;
citesteFisier("locuinte.txt",&locuinte;,&dim;);
afisareVectorLocuinte(locuinte, dim);
stergeLocuinta(&locuinte;, &dim;, 22);
afisareVectorLocuinte(locuinte, dim);
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}