Untitled

 avatar
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