Salve a tutti ragazzi,
oggi mentre stavo svolgendo un esercizio con le struct mi è capitato questa "stranezza", perchè
nel terminale all' inserimento dei dati del secondo libro mi esce così :
Titolo: Autore: e qui aspetta che io inserisca qualcosa.
invece di
Titolo: pincopallino
Autore: pincopallino2
ecc ecc
Vi lascio di seguito il mio codice sorgente e anche lo screenshot del terminale in modo che possiate capire meglio anche voi.
Grazie a tutti in anticipo .
/* Descrivere la struttura libro con gli attributi: titolo, autore, editore,
anno di edizione, codice ISBN e prezzo. Realizzare una funzione che riceve
in ingresso il puntatore a una struttura di quel tipo, richiede al' utente
gli attributi di un libro e li memorizza nella struttura stessa. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1000
struct SData{
char titolo[MAX];
char autore[MAX];
char editore[MAX];
int anno_edizione;
int ISBN;
float prezzo;
};
typedef struct SData Libro;
/* PROTOTIPI DI FUNZIONE */
/* PROGRAMMA CHIAMANTE */
int main()
{
Libro testoA; //Prima variabile di tipo Libro
Libro testoB; //Seconda variabile di tipo Libro
Libro testoC; //Terza variabile di tipo LIbro
Libro testoD; //Quarta variabile di tipo LIbro
printf("***INSERIMENTO ATTRIBUTI LIBRO***\n\n");
printf("\t\tInserimento attributi 1° libro..\n\n");
printf("Titolo: ");
gets(testoA.titolo);
printf("Autore: ");
gets(testoA.autore);
printf("Editore: ");
gets(testoA.editore);
printf("Anno di edizione: ");
scanf("%d", &testoA.anno_edizione);
printf("Codice ISBN: ");
scanf("%d", &testoA.ISBN);
printf("Prezzo (euro): ");
scanf("%f",&testoA.prezzo);
//////////////////////////////////////
printf("\t\tInserimento attributi 2° libro..\n\n");
printf("Titolo: ");
gets(testoB.titolo);
printf("Autore: ");
gets(testoB.autore);
printf("Editore: ");
gets(testoB.editore);
printf("Anno di edizione: ");
scanf("%d", &testoB.anno_edizione);
printf("Codice ISBN: ");
scanf("%d", &testoB.ISBN);
printf("Prezzo (euro): ");
scanf("%f",&testoB.prezzo);
/////////////////////////////////////////
printf("\t\tInserimento attributi 3° libro..\n\n");
printf("Titolo: ");
gets(testoC.titolo);
printf("Autore: ");
gets(testoC.autore);
printf("Editore: ");
gets(testoC.editore);
printf("Anno di edizione: ");
scanf("%d", &testoC.anno_edizione);
printf("Codice ISBN: ");
scanf("%d", &testoC.ISBN);
printf("Prezzo (euro): ");
scanf("%f",&testoC.prezzo);
//////////////////////////////////////////
printf("\t\tInserimento attributi 4° libro..\n\n");
printf("Titolo: ");
gets(testoD.titolo);
printf("Autore: ");
gets(testoD.autore);
printf("Editore: ");
gets(testoD.editore);
printf("Anno di edizione: ");
scanf("%d", &testoD.anno_edizione);
printf("Codice ISBN: ");
scanf("%d", &testoD.ISBN);
printf("Prezzo (euro): ");
scanf("%f",&testoD.prezzo);
return 0;
}
/* DEFINIZIONI FUNZIONI */
Allegati: