Problema uso scanf il liste

di il
3 risposte

Problema uso scanf il liste

Ciao a tutti, ho un problema nell'inserimento di interi in una lista. Dopo l'inserimento dell'intero salta il nodo successivo e passa all'altro.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int idCliente;
int *idClintePt = &idCliente;

typedef struct rec *lpointer;
typedef struct {
    int *idClintePt;
    char ragioneSociale[50];
    char indirizzo[50];
    int cap;
    char localita[50];
    char provincia[3];
    char codiceFiscale[16];
    char partitaIva[11];
    char stato[1];
    char email[100];
    char telefono[20];
    lpointer next;
}clienti;
lpointer entryp=NULL;

int main()
{
      FILE *fp;
      clienti bufclient;
      fp=fopen("Albergo.dat","a");	/*2*/

      if(fp==NULL)
        printf("il file non può essere aperto");

      else{
        printf("\nInserimento di un cliente");
        fflush(stdin);
        printf("\nID Cliente : ");
        scanf("%d", &bufclient.idClintePt);
        printf("\nRagione sociale : ");
        gets(bufclient.ragioneSociale);
        printf("\nIndirizzo : ");
        gets(bufclient.indirizzo);
        printf("\nC.A.P. : ");
        scanf("%d",&bufclient.cap);
        printf("\nLocalita : ");
        gets(bufclient.localita);
        printf("\nProvincia : ");
        gets(bufclient.provincia);
        printf("\nCodice Fiscale : ");
        gets(bufclient.codiceFiscale);
        printf("\nPartita Iva : ");
        gets(bufclient.partitaIva);
        printf("\nStato : ");
        gets(bufclient.stato);
        printf("\nE-mail : ");
        gets(bufclient.email);
        printf("\nTelefono : ");
        gets(bufclient.telefono);

        fwrite(&bufclient,sizeof(clienti),1,fp);	/*3*/

        fclose(fp);
    }
    return 0;
}

3 Risposte

  • Re: Problema uso scanf il liste

    Cioè? Che vuol dire "salta il nodo ..." ? Cosa è un nodo per te? In pratica?
  • Re: Problema uso scanf il liste

    Dopo l'inserimento del l'ID cliente scrive Ragione Sociale, senza farmela inserire, per poi saltare direttamente a Indirizzo che mi fa inserire normalmente. Lo stesso si ripete con CAP, salta l'inserimento di Località e va a Provincia.
  • Re: Problema uso scanf il liste

    E quale sarebbe il "nodo"? Quelli sono elementi della struttura ... solo per capirci ...

    Intanto non capisco perché l' ID è un puntatore e non un semplice intero (questo è un errore ...).

    Per il resto, devi usare fflush(stdin) dopo le scanf.
Devi accedere o registrarti per scrivere nel forum
3 risposte