изменить значение структуры внутри структуры - PullRequest
1 голос
/ 14 января 2020

Второй пример ниже - это то, чего я хотел бы достичь в первом написанном коде. Я хочу спросить, сколько «dati» хочет вставить, тогда я должен сделать mallo c, и я хочу попросить и сохранить каждое дато каждой структуры, так, во-первых, cdfM из структуры maestra и так далее ... Как можно Я делаю это? Как мне создать массив с помощью mallo c и как мне сделать, чтобы сохранить всю информацию? THX

#include <stdio.h>
#include <stdlib.h>
#define MAX 30

struct dati{
    struct maestra{
        char cdfM[MAX];
        char nomeM[MAX];
        char cognomeM[MAX];
        char specializzazioneM[MAX];
    }
    struct classe{
        int id;
        char nome[MAX];
        char colore[MAX];
    }
    struct insegnamento{
        int idclasseI;
        char cfmaestra[MAX];
    }
    struct bambino{
        char cdfB[MAX];
        char nomeB[MAX];
        char cognomeB[MAX];
        char dataNascita[MAX];
        int idclasseB;
        char dataIscrizione[MAX];
    }
}

int main () {

    struct dati *p,*q,*r,*s;
    struct maestra **p;
    struct classe **q;
    struct insegnamento **r;
    struct bambino **s;



    return 0;
} 
#include <stdio.h>
#include <stdlib.h>
#define MAX 30

struct studente{

    char nomeCognome[MAX];
    int numeroMatricola;
    float percentualeEP;

};

int main() {

    struct studente *p;

    int m, i;

    printf("Quanti studenti devi inserire: \n");
    scanf("%d", &m);

    p = malloc(m*sizeof(int));

    for (i=0; i < m; i++){
        printf("Inserisci i dati dell'utente numero %d\n",i+1);
        printf("Inserisci il nome cognome: \n");
        scanf(" ");
        fgets((p+i)->nomeCognome, MAX, stdin);
        printf("Inserisci la matricola: \n");
        scanf("%d",&(p+i)->numeroMatricola);
        printf("Inserisci la percentuale di esami passati: \n");
        scanf("%f", &(p+i)->percentualeEP);
    }
...