Scusatemi sto studiando le strutture in c, e ho buttato giu questo codice:
/*Definire strutture atte a modellare:
1)l'anagrafica di uno studente.
2)l'anagrafica di un professore.
3)un personal computer
*/
#include<stdio.h>
//definizione di strutture
struct studente{
int anni;
char * nome,cognome;
int media;
};
struct professore{
int inAttivita;
char* nome,cognome;
char* materia;
};
struct pc{
char* motBoard,cpu,ram;
};
//dichiarazione delle funzioni
void studenti(int);
void professori(int);
int main()
{
//variabili
int nStudenti;
int nProfessori;
struct studente n1;
//richiesta numero studenti e professori
printf("Quanti studenti: ");
scanf("%d",&nStudenti);
printf("Quanti professori: ");
scanf("%d",&nProfessori);
//chiamata della funzione studenti
studenti(nStudenti);
}
//definizione della funzione di studenti
void studenti(n)
{
struct studente numero[n];
int i;
for (i=0;i<n;i++){
printf("studente n%d:\n",i+1);
printf("anni: ");
scanf("%d",&numero.anni);
printf("nome: ");
scanf("%s",numero.nome);
printf("cognome: ");
scanf("%s",numero.cognome);
printf("media: ");
scanf("%d",&numero.media);
}
for (i=0;i<n;i++){
printf("studente n%d: anni %d nome %s cognome %s media %d",i+1,numero.anni,numero.nome,numero.cognome,numero.media);
}
}
il problema sta che se lo eseguo cosi arrivo all' inserimento del nome e si blocca il programma
invece se inserisco la"&" nella scanf della richiesta del nome mi gira tutto
grazie per l'aiuto.