Visualizzazione dei risultati da 1 a 7 su 7

Discussione: cercasi correzioni!!

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    15

    cercasi correzioni!!

    ragaaaaaa...ho urgente bisogno di correzioni!!
    devo consegnare il programma a breve e..help help..
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define RIGHE 5
    #define N     15
    
    //definizione di un nuovo tipo
    typedef struct {
       char titolo[N];
       char autore[N];
       int prezzo;
    } Tabella;
    
    //dichiarazione di variabili globali
    Tabella tabella[RIGHE];
    int record_inseriti;
    
    //prototipi delle funzioni
    void visualizzazione_record();
    void ordinamento_bubble_sort_crescente();
    void ord_sel_min (Tabella array[],int n);
    void inserimento_nuovo_record();
    
    
    int main()
    {
       //dichiarazione di variabili locali per il main
       enum {   
             inserimento,
             ordinamento_descrescente,
             visualizzazione,
             uscita
           } operazione;
       
       
       do {
          //pulisce lo schermo
          system("cls");
         
          printf("Che operazione vuoi eseguire? ");
          printf("\n\t 1. Inserisci nuovo disco");
          printf("\n\t 2. Restituisci disco con prezzo minore");
          printf("\n\t 3. Visualizza tutti dischi");
          printf("\n\t 4. Esci\n\t ");
         
          scanf("%d", &operazione);
          //scarta il carattere di a capo
          getchar();
         
          switch(--operazione) {
             case inserimento:
                inserimento_nuovo_record();
                break;
             case ordinamento_descrescente:
                ord_sel_min ();
                printf("\nIl vettore e' stato ordinato secondo oridinamento decrescente dei dischi");
                break;
             case visualizzazione:
                visualizzazione_record();
                break;
             case uscita:
                break;
             default:
                printf("\nHai effettuato una scelta non valida");
          }
         
          if(operazione != uscita) {
             printf("\n\nPremi INVIO per continuare.");
             getchar();
          }
    
       } while(operazione != uscita);
       
       printf("\nPremi INVIO per uscire.");
       getchar();
       return 0;
    }
    
    
    //definizione della funzione di visualizzazione dei record
    void visualizzazione_record()
    {
       int i;
       
       if(!record_inseriti) {
          printf("\nNon sono presenti record all'interno della tabella.");
          return;
       }
       
       printf("\n%-15s %-15s %6s", "Titolo", "Autore", "Prezzo");
       for(i = 0; i < record_inseriti; i++) {
          printf("\n%-15s %-15s %6d", tabella[i].titolo, tabella[i].autore, tabella[i].prezzo);
       }
    }
    
    
    //definizione della funzione di ordinamento attraverso algoritmo del selection sort
    void ord_sel_min (Tabella array[],int n)
    {
         int i, indice_min;
         double min_array;
         for(i=0;i<n-1;i++)
         {
             min_val_ind(&array[i].prezzo, n-i, &min_array, &indice_min);
             scambiare_c(&array[i].prezzo, &array[indice_min+i].prezzo);
         }
    }
    void min_val_ind (Tabella a[], int n, double *min_array, int *i_min)
    {
         int i;
         *min_array = a[0].prezzo;
         *i_min = 0;
         for (i=1;i<n;i++)
         if( *min_array > a[i].prezzo)
          {
                 *min_array = a[i].prezzo;
                 *i_min =i;
          }
    }
    
    void scambiare_c(char*c1,char *c2)
    {
       char temp;
       temp=*c1;
       *c1 =*c2;
       *c2 =temp;
    }
    
    //definizione della funzione di inserimento di un nuovo record
    void inserimento_nuovo_record()
    {
       if(record_inseriti == RIGHE) {
          printf("Hai inserito il numero massimo di dischi all'interno della tabella.");
          return;
       }
       
       printf("\nInserisci il titolo del disco: ");
       gets(tabella[record_inseriti].titolo);
       printf("Inserisci il nome dell'autore: ");
       gets(tabella[record_inseriti].autore);
       printf("Inserisci il prezzo: ");
       scanf("%d", &tabella[record_inseriti].prezzo);
       getchar();
       printf("\nIl disco e' stato inserito con successo.");
       
       
       record_inseriti++;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Sì ... ma a parte il titolo, la mancanza del linguaggio, il fatto che non c'è urgenza che tiene, il regolamento ... insomma ma cosa bisogna correggere?

    Non penserai che uno copia tutto il programma e si mette a "fare le pulci" ?

    Perchè non "aiuti chi ti aiuta" e indichi cosa dovrebbe fare il programma, cosa non va, se hai errori, di compilazione, di esecuzione ... o chissà cosa ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    15
    hai ragione,scusa ma non inca..
    ho problemi in questo punto..
    codice:
    void ord_sel_min (Tabella array[],int n)
    {
         int i, indice_min;
         double min_array;
         for(i=0;i<n-1;i++)
         {
             min_val_ind(&array[i].prezzo, n-i, &min_array, &indice_min);
             scambiare_c(&array[i].prezzo, &array[indice_min+i].prezzo);
         }
    }
    void min_val_ind (Tabella a[], int n, double *min_array, int *i_min)
    {
         int i;
         *min_array = a[0].prezzo;
         *i_min = 0;
         for (i=1;i<n;i++)
         if( *min_array > a[i].prezzo)
          {
                 *min_array = a[i].prezzo;
                 *i_min =i;
          }
    }
    
    void scambiare_c(char*c1,char *c2)
    {
       char temp;
       temp=*c1;
       *c1 =*c2;
       *c2 =temp;
    }
    e ora t indico anche quali sono..
    codice:
    error C2198: 'ord_sel_min' : too few actual parameters
    E:\(103) : warning C4013: 'min_val_ind' undefined; assuming extern returning int
    E:\(104) : warning C4013: 'scambiare_c' undefined; assuming extern returning int
    E:\(108) : error C2371: 'min_val_ind' : redefinition; different basic types
    E:\(121) : error C2371: 'scambiare_c' : redefinition; different basic types

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da ritita
    hai ragione,scusa ma non inca..
    Assolutamente ... ma dato che ti è stato chiuso un thread per gli stessi motivi, non vorrei che ti chiudessero anche questo ... lo dico per te ...

    ho problemi in questo punto..
    Beh ... se ci sono degli errori in compilazione, devi indicarli, altrimenti nessuno ti risponde provando tutto il codice ...

    Il primo errore ti indica che hai chiamato quella funzione senza i parametri previsti e lo hai fatto in

    ord_sel_min ();

    Gli altri errori sono causati dal fatto che non hai inserito i "prototipi" per quelle due funzioni (min_val_ind e scambiare_c)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    15
    io ho provato a modificare, ma mi da' comunque errori..mi aiuteresti??perche dopo devo pure continuarlo..per piacere..
    codice:
    void ord_sel_min (Tabella array[],int n)
    {
         int i, indice_min;
         double min_array;
         for(i=0;i<n-1;i++)
         {
             min_val_ind(&array[i].prezzo, n-i, &min_array, &indice_min);
             scambiare_c(&array[i], &array[indice_min+i]);
         }
    }
    void min_val_ind (Tabella a[], int n, double *min_array, int *i_min)
    {
         int i;
         *min_array = a[0].prezzo;
         *i_min = 0;
         for (i=1;i<n;i++)
         if( *min_array > a[i].prezzo)
          {
                 *min_array = a[i].prezzo;
                 *i_min =i;
          }
    }
    
    void scambiare_c(char *c1,char *c2)
    {
    	char temp;
    	temp=*c1;
    	*c1 =*c2;
    	*c2 =temp;
    }
    e mi da' questi errori
    codice:
    warning C4133: 'function' : incompatible types - from 'int *' to 'struct Tabella *'
    warning C4133: 'function' : incompatible types - from 'struct Tabella *' to 'char *'
    warning C4133: 'function' : incompatible types - from 'struct Tabella *' to 'char *'

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da ritita
    e mi da' questi errori
    codice:
    warning C4133: 'function' : incompatible types - from 'int *' to 'struct Tabella *'
    warning C4133: 'function' : incompatible types - from 'struct Tabella *' to 'char *'
    warning C4133: 'function' : incompatible types - from 'struct Tabella *' to 'char *'
    Ma cosa hai modificato ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Come ho già scritto nella precedente discussione chiusa, c'è un Regolamento da leggere e rispettare.

    Inoltre, non è possibile chiedere sul forum di prendere un sorgente infinito, di compilarlo e di trovare gli errori, oppure di andare a spulciarlo tutto alla ricerca dei singoli problemi che possono esserci.

    Invito l'autore della discussione a documentarsi maggiormente sull'uso del linguaggio, almeno nelle sue caratteristiche e costrutti fondamentali, e porre delle domande circostanziate, senza abusare del forum rendendolo il luogo in cui si delega a terzi la compilazione del proprio sorgente e la sua correzione di singoli errori, slegati tra loro, fino al completamento di un compito che, in fondo, è stato assegnato per la risoluzione a chi deve fare l'esercizio.

    Questo è un luogo per condividere conoscenze, non per ottenere assistenza tecnica diretta e lo svolgimento online conto terzi dei propri esercizi d'esame.

    Spero che la questione sia finalmente chiara ora.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.