Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: [C]Struct città

  1. #1

    [C]Struct città

    Ciao,
    devo fare un programma che: inserite 50 città con il rispettivo codice, nome, provincia, temperatura e pioggia, dica all'utente quale ha la temperatura più alta e quale quella più bassa. Di queste 2 città bisogna anche dire quanti millimetri di pioggia sono venuti.

    Sono agli inizi del codice ma, questo mi da problemi; in particolare H:\Informatica\C\Pioggia.c stray '\224' in program (righe colorate di rosso)

    codice:
    #include<stdio.h>
    typedef struct
    {
            char codice;
            char nome;
            char provincia;
            float temperatura;
            float pioggia;
    }t_città;
        
    //Main
    
    void ncity(t_città[];int);      
        
    int main()
    {
        t_città city[50]; 
        int i;
        for (i=0; i<50; i++)
            ncity(city,i);
        
            
    
        system("pause");
        return 0;
    }
    //Implementazione della funzione per l'inserimento dati
    void ncity(t_città city[], int n) 
    {
         printf("\nInserisci il codice della citta\': ");
         scanf("%s", &city[n].codice);
         printf("\nInserisci il nome della citta\': ");
         scanf("%s", &city[n].nome);
         printf("\nInserisci la provincia della citta\': ");
         scanf("%s", &city[n].provincia);
         printf("\nInserisci la temperatura della citta\': ");
         scanf("%f", &city[n].temperatura);
         printf("\nInserisci i millimetri di pioggia della citta\': ");
         scanf("%f", &city[n].pioggia);
    }
    Quindi sostanzialmente i problemi sono nella funzione ma non capisco perché?

    P.S. Scusate le mie incertezze a riguardo, ma sono al primo esercizio sulle struct
    Your time is limited, so don't waste it living someone else's life. Stay hungry, stay foolish. (Steve Jobs)

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Comincia a ragionare sulla differenza fra char e char *
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Vedo anche che nel prototipo hai scritto

    void ncity(t_città[];int);

    Ti pare che sia corretto il primo ; ?

    E che usi un semplice

    char

    per memorizzare un intero nome di città ...

    Quindi hai difficoltà a gestire le stringhe non le struct ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Ok,
    ho modificato il codice facendo diventare i char in char[]
    codice:
    #include<stdio.h>
    typedef struct
    {
            char codice[10];
            char nome[10];
            char provincia[3];
            float temperatura;
            float pioggia;
    }t_città;
      
    //Main
    
    void ncity(t_città[],int);    
        
    int main()
    {
        t_città city[50];
        int i;
        for (i=0; i<50; i++)
            ncity(city,i);
        
            
    
        system("pause");
        return 0;
    }
    //Implementazione della funzione per l'inserimento dati
    void ncity(t_città city[], int n)
    {
         printf("\nInserisci il codice della citta\': ");
         scanf("%s", &city[n].codice);
         printf("\nInserisci il nome della citta\': ");
         scanf("%s", &city[n].nome);
         printf("\nInserisci la provincia della citta\': ");
         scanf("%s", &city[n].provincia);
         printf("\nInserisci la temperatura della citta\': ");
         scanf("%f", &city[n].temperatura);
         printf("\nInserisci i millimetri di pioggia della citta\': ");
         scanf("%f", &city[n].pioggia);
    }
    Ma, i problemi rimangono
    Your time is limited, so don't waste it living someone else's life. Stay hungry, stay foolish. (Steve Jobs)

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da 21Edoardo96

    Ma, i problemi rimangono
    Magari se dici quali problemi evitiamo di dover domandare ogni volta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Palese, ci sono alcuni & non necessari nelle scanf...
    Devi comprendere la differenza fra char e char *, come ti ho detto sopra...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #7
    L'unico errore che mi da il compilatore è:
    H:\Informatica\C\Pioggia.c stray '\224' (che non so cosa voglia dire)
    Your time is limited, so don't waste it living someone else's life. Stay hungry, stay foolish. (Steve Jobs)

  8. #8
    Quindi io non riesco neanche ad eseguirlo
    Your time is limited, so don't waste it living someone else's life. Stay hungry, stay foolish. (Steve Jobs)

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da 21Edoardo96
    L'unico errore che mi da il compilatore è:
    H:\Informatica\C\Pioggia.c stray '\224' (che non so cosa voglia dire)
    Come ti dicevo, per non far perdere tempo a tutti devi indicare gli errori ...

    Per quello ti basta non usare

    t_città

    ma

    t_citta

    eliminando tutte le à (accentate) dai nomi delle variabili/array
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Ok,
    adesso non da errori, quindi posso andare avanti nello scrivere il codice.
    Grazie
    Your time is limited, so don't waste it living someone else's life. Stay hungry, stay foolish. (Steve Jobs)

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.