Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    1

    [C] Inserire in lista valori letti da tastiera e stamparli

    Salve, ho una traccia che mi dice di inserire da tastiera un numero(tra 1 e 9), convertirlo in stringa, e inserirlo poi in una lista e stampare.

    codice:
    #include<stdio.h>
    #include<string.h>
    #include<malloc.h>
    
    
    struct Nodo {
        char *str;
        struct Nodo *link;
    };
    
    
    struct Nodo *Lista=0;
    
    
    void Inserisci(char *);
    void Stampa();
    char * Converti(int );
    
    
    int main(){
    
    
        int num;
        char *buffer;
    
    
        printf("inserisci numero: ");
        scanf("%d", &num);
        if(num>0 && num<10){
            buffer=Converti(num);
            Inserisci(buffer);
            Stampa();
        }
        else
            printf("Errore");
    
    
    return 0;
    }
    
    
    void Inserisci(char *buf){
    
    
        struct Nodo *p=(struct Nodo *)malloc(sizeof(struct Nodo));
        p->str=(char *)malloc((strlen(buf)+1)*sizeof(char));
        strcpy(p->str, buf);
        p->link=Lista;
        Lista=p;
    }
    
    
    char *Converti(int n) {
    
    
        char *buf;
    
    
            if(n==1)
                strcpy(buf, "Uno");
            else if(n==2)
                strcpy(buf, "Due");
            else if(n==3)
                strcpy(buf, "Tre");
            else if(n==4)
                strcpy(buf, "Quattro");
            else if(n==5)
                strcpy(buf, "Cinque");
            else if(n==6)
                strcpy(buf, "Sei");
            else if(n==7)
                strcpy(buf, "Sette");
            else if(n==8)
                strcpy(buf, "Otto");
            else
                strcpy(buf, "Nove");
    
    
        return (buf);
    }
    
    
    void Stampa(){
    
    
        struct Nodo *cur=Lista;
    
    
        while(cur){
                printf("\n");
                printf("%s", cur->str);
                cur=cur->link;
        }
    
    
    }
    Quali sono gli errori nel codice? Perché non va
    Ultima modifica di LeleFT; 13-09-2016 a 13:26 Motivo: Aggiunti i tag CODE

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.