Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87

    [c] tabelle millesimali

    salve a tutti!
    ho provato a compilare un programma per redigere le tabelle millesimali dei condomini.
    questo è il mio sorgente:
    codice:
    #include<stdio.h>
    #define Nmax 100  //numero max di unità immobiliari
    
    struct t
    {
     char nome[20];
     double val;
     double mil;
     };
     
     /* prototipi delle funzioni definite dall'utente */
     double valori(struct t*, int);
     double mille(struct t*, int);
     void stampa(struct t*, double, double, int);
     
     /* programma principale */
     int main()
     {
      int scelta, i, k_max;
      double m_tot, v_tot, v_max;
      struct t u_imm[Nmax];
      
    do {
       printf("            MENU' CREAZIONE TABELLA GENERALE");
       printf("\n\n\n\n        1 - Ceazione tabella generale");
       printf("\n\n            2 - Stampa tabella generale");
       printf("\n\n            3 - USCITA");
       printf("\n\n        scegliere l'operazione da effettuare");
       scanf("%d", &scelta);
       switch(scelta) {
                      case 1: printf("\n Numero unita' immobiliari: ");
                               scanf("%d", &k_max);
                               v_tot = valori(u_imm, k_max);
                               m_tot = mille(u_imm, k_max);
                               break;
                      case 2: stampa(u_imm, v_tot, m_tot, k_max);
                              break;
                      case 3: break;   /*fine del programma */
                      }
               }while(scelta !=3);
       }
       
    /* la funzione valori calcola i valori virtuali delle singole unità immobiliari e il valore virtuale totale */
       double valori(struct t *v, int i_max)
       {
        int i, continua, k;
        double area, coef1, coef2, coef3, val_tot;
        val_tot = 0;
          for(i=0; i<i_max; i++)
          { k = 1;
            v[i].val = 0;
            printf("\n   Unita' Immobiliare: ");
            scanf("%s", v[i].nome);
            do {
                printf("\n\n Locale n.ro %d: Superficie: ",k);
                scanf("%lf", &area);
                printf("\n\n Coeficiente di destinazione: ");
                scanf("%lf", &coef1);
                printf("\n\n Coeficiente di prospetto: ");
                scanf("%lf", &coef2);
                area = area * coef1 * coef2;
                v[i].val = v[i].val + area;
                printf("\n\n\n\n     Continua = 1: ");
                scanf("%d", &continua);
                k++;
                } while(continua == 1);
                printf("\n\n\n coefficiente di piano: ");
                scanf("%lf", &coef3);
                val_tot = val_tot + v[i].val;
            }
          return (val_tot);
          }
    
    /* la funzione mille calcola i millesimi di ogni unità immobiliare */
    double mille(struct t *m, double val_tot, double mil_tot, int i_max)
    { 
      int i;
      mil_tot = 0;
      for(i=0; i<i_max; i++) {
         m[i].mil = 1000 * m[i].val / val_tot;
         mil_tot = mil_tot + m[i].mil;
         }
      return(mil_tot);
    }
    
    void stampa(struct t *m, double val_tot, double mil_tot, int i_max)
    {
     int i;
     fprintf(stdout, "\n   STAMPA TABELLA GENERALE \n\n\n");
     for (i=0; i<i_max; i++){
     fprintf(stdout, "\nU.Immobiliare: %s - Valore: %lg - Millesimi: %lg", m[i].nome, m[i].val, m[i].mil);
     }
     fprintf(stdout, "\nVal.tot: %lg - Mill.tot: %lg", val_tot, mil_tot);
     }
    mi da errore "link error", s elo compilate vedrete. eppur eè strano mi sembra di non aver sbagliato nulla

  2. #2

    Re: [c] tabelle millesimali

    Originariamente inviato da mica81
    ...

    double mille(struct t*, int);

    ...

    double mille(struct t *m, double val_tot, double mil_tot, int i_max)
    ...
    metti a posto questa signature...

    SO: Debian Sarge kernel 2.6.11
    Lang: Java, C++, C

  3. #3
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    si ci avevo fatto caso...però non vedo l'errore!

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.