|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 5102
|
Aiutino x C
salve, ho un problemino con un programma...in pratica nn riesco a stampare a video la lista con stringhe; riesco a metterle nella lista ma poi nn me le stampa. Se metto %s nella printf mi da errore, se metto %c mi stampa solo un carattere...se qualcuno sa come fare
grazie
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
allora:
1) posta il codice che non sono ancora capace di entrare nella tua mente 2) errori tipici sono non ficcare /0 cioè il terminatore di fine stringa ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 5102
|
Eccolo qua:
#include <stdio.h> #include <malloc.h> #define ELE 5 typedef struct elemento { int info; struct elemento *next; } ele; ele *crea_lista(ele *, char); void stampa_lista(ele *); main() { int i; char nome; ele *inizio = NULL; for(i=0; i<ELE; i++) { printf("\n\tInserire l'elemento della lista: "); scanf("%s", &nome); inizio = crea_lista(inizio, nome); } printf("\n\tLista: \n"); stampa_lista(inizio); fflush(stdin); getchar(); } ele *crea_lista(ele *inizio, char nome) { ele *p, *aux; p = (ele *)malloc(sizeof(ele)); p->info = nome; p->next = NULL; if(!inizio) return p; else { aux = inizio; while(aux->next) aux = aux->next; aux->next = p; return inizio; } } void stampa_lista(ele *inizio) { while(inizio) { printf("%s ", inizio->info); inizio = inizio->next; } } |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
non mi son messo a vedere esattamente il codice ho visto che
1) scanf ("%s", nome) -> nome è un char non è una stringa -> %c 2) scorrendo il codice non vedo /0 -> che avevo detto nel primo post? edit: ho visto il codice ... cancella il tutto e rifallo ti faccio il codice domani .. adesso non ho time.~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso Ultima modifica di Fenomeno85 : 11-01-2006 alle 20:55. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Codice:
char *string, car;
int i=0, dim = BASE;
string = (char*)malloc (BASE);
do{
scanf ("%c",&string[i]);
if (string[i]=='\n') string[i] = '\0';
i++;
if (i==dim-1){
string = (char*)realloc(string,dim*2);
dim = dim *2;
}
}while (string[i-1] != '\0');
printf ("\n\n%s",string);
return 0;
Se vuoi la lista allora cambia un attimo e puoi utilizzare parte del codice che ho visto che fatta giusta ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 5102
|
mmm...nn si può mettere un puntatore *stringa xckè nn lo accetta in
inizio = crea_lista(inizio, stringa); magari se puoi modificarlo tu il mio codice così vedo comè
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
allora se crei la lista NON puoi usare printf ... ma devi visualizzare elemento per elemento.
guarda qui che ho messo come si fanno le liste e c'è un inserimento in coda. Non ho la forza mentale di mettermi a scrivere codice http://www.fenomeno85.altervista.org/pag.php?pag=c1.php ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:13.










grazie

ti faccio il codice domani .. adesso non ho time.








