Visualizzazione dei risultati da 1 a 5 su 5

Discussione: puntatori...grrr...

  1. #1

    puntatori...grrr...

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    struct listelem { char dato; 
                      struct listelem *prossimo;
    };
    typedef struct listelem elemlist;
    typedef elemlist *listadielem;
    typedef listadielem *puntapunt;
    void inizializza (puntapunt); 
    void insert(puntapunt,char);
    void stampa(listadielem); 
    main(){
    	elemlist *lista; 
    	char car='?';
    	inizializza(&lista); 
    	while (car !='.'){
    		printf("\n inserisci un carattere, punto per terminare\n"); 
    		scanf("%c",&car);
    		insert(&lista,car);
    	} 
    	stampa(lista);
    	return 0;
    }
    
    void inizializza(puntapunt list){
    	*list=NULL;
    }
    void insert (puntapunt punt, char valore){
    	elemlist *newpunt;
    	newpunt=(listadielem)malloc(sizeof(elemlist));
    	newpunt->dato=valore;
    	newpunt->prossimo=*punt;
    	*punt=newpunt;
    }
    void stampa(listadielem primo){
    	elemlist *attuale; attuale= primo;
    	if (attuale==NULL) printf("Lista vuota\n\n");
    	else  { printf("La lista e' \n\n");
    	while (attuale !=NULL){
    		 printf("%c-->",attuale->dato);
    		 attuale=attuale->prossimo;
    	}
    	}
    }
    1)scrive due volte inserisci un carattere...perchè?
    2)non ci ho capito niente Potete gentilissimissimamente spiegarmi come funziona?

  2. #2
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Prova a sostituire il ciclo while con un do....while, il controllo lo fai dopo aver letto, poi alla fine, prima di uscire dal do...while inserisci questa istruzione
    codice:
    fflush(stdin);

  3. #3
    no ho capito...bastava inserire scanf("\n%c"..ecc) perchè sennò leggeva anke l'invio come un tasto....
    cmq nn ci ho ancora capito niente del programma...nessuno mi può aiutare a capire passo passo come funzia? :master:

  4. #4
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Riguarda l'inserimento di dati in una lista!!!
    Prima viene defintito il tipo lista, poi il puntatore alla lista, c'è la funzione per l'inserimento, la stampa e l'inizializzazione....

  5. #5
    ti prego aiutami a capire meglio come funziona.....fai finta che sono un bambino di 10 anni
    qualunque cosa mi leggo sui puntatori ci sono scritte sempre le stesse cose...se capisco bene questo esempio dovrei capire un po' meglio...ma da solo ogni volta che lo studio mi confondo le idee

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.