Ciao,
per favore posta il codice negli appositi tag CODE.
Comunque, sperando di aver capito il testo, ho velocemente scritto questo pezzo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct cliente_t
{
char nome[20];
struct cliente_t *prossimo;
} cliente;
cliente* nuovo_cliente(char *nome)
{
cliente *nuovo = (cliente *) malloc(sizeof(cliente));
strcpy(nuovo->nome, nome);
nuovo->prossimo = NULL;
return nuovo;
}
cliente* ins_in_testa(cliente *lista, cliente *nuovo)
{
if(lista == NULL)
return nuovo;
nuovo->prossimo = lista;
return nuovo;
}
cliente* ins_in_coda(cliente *lista, cliente *nuovo)
{
if(lista == NULL)
return nuovo;
cliente *aux = lista;
while(aux != NULL)
aux = aux->prossimo;
aux->prossimo = nuovo;
return lista;
}
void stampa (cliente *f)
{
printf("\nLA CODA:\n");
while (f != NULL)
{
printf ("%s\n", f->nome);
f = f->prossimo;
};
printf("\n");
}
int main ( int argc , char * argv[])
{
cliente *lista = NULL;
char comando;
char istruzione[20];
printf("Inserire comando + nome: ");
scanf("%s", istruzione);
comando = istruzione[0];
if ( comando == 'i')
{
/* inserimento in coda alla lista */
int i=1;
char nome[20];
while(istruzione[i] != '\0')
{
nome[i-1] = istruzione[i];
i++;
}
nome[i-1] = '\0';
printf("Inserisco il cliente %s\n", nome);
cliente *nuovo_cl = nuovo_cliente(nome);
lista = ins_in_coda(lista, nuovo_cl);
stampa(lista);
}
/* QUI PROVA TU */
return 0;
}
Digitando, ad esempio, "iMario" il programma inserisce in coda un cliente di nome "Mario". Era questo quello che volevi? Ora prova a completare.