Sunteți pe pagina 1din 3

#include <stdio.

h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdbool.h>
#include <ctype.h>

#define MAX 30

/*Creati o aplicatie C care sa gestioneze o gradina zoologica.


Pentru fiecare animal din gradina zoologica se cunosc urmatoarele:
1.Nume
2.Cod animal
3.Tipul animalului(periculos sau nepericulos)
Creati un meniu interactiv cu urmatoarele optiuni:
1.Adauga un nou animal in gradina
Un animal va fii considerat introdus corect daca codul animalului are forma xx-xx-xx unde
x poate sa fie doar din cifre
2.Afisarea animalelor din gradina zoologica in functie de categorie, in functie de tipul
animalului
3.Creati un vector care sa contina ultimul caracter din fiecare cod de animal
0.Iesire*/

typedef struct {

char nume[MAX];
char cod[MAX];
int tip;

}animal;

int validareCod(char *sir) {

int i;
int corect=1;

if (sir[2] == '-' && sir[5] == '-') {

for (i = 0; i < strlen(sir); i++) {

if (sir[i] <= '9' && sir[i] >= '0')


corect = 1;
else corect = 0;

}
}
if (corect) return 1;
else return 0;
}

void citireAnimal(animal *a, int *n) {

(*n)++;

printf("Nume:");
scanf("%s", (a + *n)->nume);
do {
printf("Cod:");
scanf("%s", (a + *n)->cod);
} while (!(validareCod((a + *n)->cod)));

do {
printf("Tip:");
scanf("%d", &(a + *n)->tip);
} while (!((a + *n)->tip == 1 || (a + *n)->tip == 0));
}

int main() {

int opt;
animal a[MAX];
int n = -1;

do {

printf("\n0.Iesire\n");
printf("\n1.Adauga un nou animal in gradina.\n"
"Se va introduce '1' daca animalul este periculos, si '0' daca
animalul nu este periculos\n");
printf("\n2.Afisarea animalelor din gradina zoologica in functie de
categorie, in functie de tipul animalului\n");
printf("\n3.Creati un vector care sa contina ultimul caracter din fiecare
cod de animal\n");

printf("Introduceti optiunea dorita:");


scanf("%d", &opt);

switch (opt) {

case 0: exit(0);

break;

case 1: citireAnimal(a, &n);

break;

case 2:

break;

case 3:

break;

default: printf("Introduceti o optiune valida!");

break;
}

} while (1);
return 0;
}

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