Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [c]strutture

  1. #1

    [c]strutture

    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

  2. #2
    ho capito l'errore,
    non dovevo mettere int ma char e poi non %d ma %s, ma perchè?

  3. #3
    indovina....

  4. #4
    le strutture non c'entrano nulla

    codice:
    #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] --> 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.
    ...Terrible warlords, good warlords, and an english song

  5. #5
    rimetti pure ciao[4]

    non avevo letto bene :tongue:
    ...Terrible warlords, good warlords, and an english song

  6. #6
    il chaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrr rrrrrrrrrrrrrr

  7. #7
    Orig. inviato da junoreactor

    il chaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrr
    rrrrrrrrrrrrrrrrrrrrrrrr
    Non sei stato molto chiaro

    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.
    ...Terrible warlords, good warlords, and an english song

  8. #8
    Andava anche la sua prima soluzione jonny.......per l'appunto il char...

  9. #9
    ok,grazie
    mercuzio

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.