PDA

Visualizza la versione completa : [c]strutture


Mercuzio
01-03-2003, 13:23
ho questo sorgente:

#include <stdio.h>

struct pers
{
char nome[20];
char cognome[20];
int tel[11];
}ciao[5];

int i;
int main()
{
for(i=0;i<3;i++)
{
puts("ins nome");
scanf("%s",&ciao[i].nome);
puts("ins cognome");
scanf("%s",&ciao[i].cognome);
puts("ins num tel");
scanf("%d",&ciao[i].tel);
}

for(i=0;i<3;i++)
{
printf("il sig.%s %s ha num di tel: %d\n",ciao[i].nome,ciao[i].cognome,ciao[i].tel);
}

return 0;
}

il punto che l'output che mi da non segna il num di telefono bens l'allocazione in memoria, perch?
grazie
mercuzio

Mercuzio
01-03-2003, 13:26
ho capito l'errore,
non dovevo mettere int ma char e poi non %d ma %s, ma perch?

Andrea Simonassi
01-03-2003, 15:46
indovina....

Johnny_Depp
01-03-2003, 16:18
le strutture non c'entrano nulla ;)


#include <stdio.h>

void main()
{

int array_int[11];
int variabile_int;

printf("ins array_int: ");
scanf("%s",array_int);
printf("ins variabile_int: ");
scanf("%d",&variabile_int);

printf("array_int = %s\n", array_int);
printf("variabile_int = %d\n", variabile_int);

}
N.B. ciao[5] :confused: --> metti semplicemente istanza_ciao

e poi --> istanza_ciao.nome

scanf() <-- se inserisci nomi composti: LUCIANO MARIA legge solo luciano --> utilizza
fgets(istanza_ciao.nome, 20, stdin);

------------------------------------------
quando inserisci del codice, utilizza i TAG:

[c o d e]

codice indentato

[/c o d e] <-- senza gli spazi fra una un carattere e l'altro

in questo modo molto pi CHIARO capire dove sono gli errori
e riceverai sicuramente pi risposte.

Johnny_Depp
01-03-2003, 16:27
:D rimetti pure ciao[4] :D

non avevo letto bene :tongue:

junoreactor
01-03-2003, 16:35
il chaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrr rrrrrrrrrrrrrr:dh: :dh: :dh: :dh: :dh: :dh:

Johnny_Depp
01-03-2003, 16:42
Orig. inviato da junoreactor

il chaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrr
rrrrrrrrrrrrrrrrrrrrrrrr :dh:
Non sei stato molto chiaro :p

CMQ se ti riferisci a fgets()....

la funzione fgets() non accetta stringhe di interi

infatti:

1)per inserire il numero telefonico utilizzi scanf()

2) utilizzare fgets() e cambiare tel in CHAR.

junoreactor
01-03-2003, 16:46
Andava anche la sua prima soluzione jonny.......per l'appunto il char...

Mercuzio
02-03-2003, 20:21
ok,grazie
mercuzio

Loading