Untitled
unknown
c_cpp
a month ago
2.1 kB
3
Indexable
/* Domanda 4 – 8 punti (3 punti e 5 punti) Si vuole realizzare un programma per la gestione della strumentazione in un centro di ricerca organizzato in una serie di laboratori. 1) Definire le strutture dati per rappresentare un laboratorio. Ciascun laboratorio (tipo lab_t) è caratterizzato da un identificativo numerico, un nome che ne indica il tipo di ricerca svolta (una stringa di al massimo 100 caratteri), dal numero massimo di persone che può ospitare, e da un elenco di al massimo 50 strumenti scientifici. Ciascuno strumento scientifico (tipo strumento_t) è caratterizzato da un nome e da una descrizione tecnica (due stringhe rispettivamente di al massimo 100 e 1000 caratteri). 2) Realizzare un sottoprogramma che riceve come parametri un array di laboratori (insieme a qualsiasi altro parametro ritenuto strettamente necessario) e due stringhe n e s che rappresentano il nome di un laboratorio ed il nome di uno strumento scientifico. Il sottoprogramma conta e restituisce quanti laboratori nell’array hanno nome uguale a n e contengono almeno uno strumento il cui nome è uguale a s. */ #include <stdio.h> #include <string.h> #define MAX_NOME 100 #define MAX_STRUMENTI 50 #define MAX_DESCRIZIONE 1000 typedef struct{ char nome[MAX_NOME + 1]; char descrizione[MAX_DESCRIZIONE + 1]; }strumento_t; typedef struct{ int id; char nome[MAX_NOME + 1]; int max_persone; strumento_t strumenti[MAX_STRUMENTI]; int num_strumenti; }lab_t; int conta_strumento(lab_t laboratori[], int num_lab, char* n, char *s) { int count =0; for(int i=0; i<num_lab; i++) { if(strcmp(laboratori[i].nome, n)==0) { int trovato =0; for(int j=0; j<laboratori[i].numstrumenti && !trovato; j++) { if(strcmp(laboratori[i].strumenti[j].nome, s)==0) { trovato =1; } } if(trovato) { count++; } } } return count; } int main() { return 0; }
Editor is loading...
Leave a Comment