Salve a tutti non so se il titolo può andare bene perchè non so spiegare brevemente il problema che ho.
Ho scritto un programma che mi dovrebbe permettere di inserire i dati di automobili.
codice:
 #include<stdio.h>
#include<malloc.h>
struct automobile{
       char marca[20];
       char modello[20];
       int vendute[20];
       } a;
int *p,i;
struct automobile dettagli[20];
char risp;
       
main()
{
      for(i=0;i<30;i++){
                         printf("Vuoi inserire elementi nella lista? (s/n): ");
                         scanf("%c",&risp);
                         getchar();
                         if(risp=='s' || risp=='S'){
                                      printf("\nDettagli automobile: \n\n");
                                      printf("Marca : ");
                                      scanf("%s",dettagli[i].marca[i]);
                                      printf("Modello: ");
                                      scanf("%s",dettagli[i].modello[i]);
                                      printf("Unita' vendute: ");
                                      scanf("%d",&dettagli[i].vendute[i]);
                                      }
                         }
                         
      system("PAUSE");
}
Il primo inserimento va tutto bene metto s e mi fa inserire i dettagli dell'auto. al secondo inserimento quando mi chiede vuoi inserire elementi nella lista se metto s me lo richiede s rimetto s la stessa cosa e così via. Solo se quando mi chiede la seconda volta vuoi inserire....ammacco invio me lo richiede ma questa volta mettendo s mi fa inserire i dati...sapete qual'è il problema?? Un'altra cosa è giusto dichiarare il vettore automobile come ho fatto io dato che deve contenere dati diversi?? grazie per 'aiuto