Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [c++] concessionario

  1. #1

    [c++] concessionario

    ragazzi dovrei scrivere un programma che gestisce un autonoleggio attraverso la costruzione di un archivio. Le operazioni possibili dovranno essere:
    -Inserimento
    -Ricerca
    -Modifica
    -Visualizzazione
    Per ogni veicolo dovrà essere possibile visualizzare la targa, il tipo,i chilometri,la data di inizio di noleggio,la data di fine noleggio costo noleggio al giorno, giorni noleggio, costo noleggio.
    Ricerca e visualizzazioni particolari
    scadenza noleggio
    elenco veicolo per km percorsi
    fuori uso del veicolo al superamento di una certa soglia di km

    il mio unico problema almeno fino ad ora è la data, cioe immesse le 2 date come posso fare a calcolare quanti giorni distano tra loro??

  2. #2
    Premetto che sono alle prime armi, io risolverei questo problema con due variabili in cui immagazzinare i giorni trascorsi dall'inizio dell'anno fino alla prima data e i giorni trascorsi fino alla seconda, dopodichè effettuare una sottrazione e aggiungere il numero dei giorni trascorsi negli anni di differeanza tra le date.
    Ho scritto il codice che utilizzerei, ovviamente va perfezionato e adattato all'esigenza, inserendo i possibili errori nell'immissione dati, spero possa comunque esserti utile...
    codice:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
         int giorno,mese,anno,giorno1,mese1,anno1,addendo1=0,addendo2=0,risultato,i=0;
         cout<<"inserisci la prima data(giorno): ";
         cin>>giorno;
         cout<<"\ninserisci la prima data(mese): ";
         cin>>mese;
         cout<<"\ninserisci la prima data(anno): ";
         cin>>anno;
         cout<<"\ninserisci la seconda data(giorno): ";
         cin>>giorno1;
         cout<<"\ninserisci la seconda data(mese): ";
         cin>>mese1;
         cout<<"\ninserisci la seconda data(anno): ";
         cin>>anno1;
         i=0;
         while(i<mese){/*somma alla variabile della prima quantità di giorni i giorni trascorsi dall'inizio dell'anno, in base ai mesi*/
         switch(i){
         case 0:addendo1+=31;break;
         case 1:addendo1+=28;break;
         case 2:addendo1+=31;break;
         case 3:addendo1+=30;break;
         case 4:addendo1+=31;break;
         case 5:addendo1+=30;break;
         case 6:addendo1+=31;break;
         case 7:addendo1+=31;break;
         case 8:addendo1+=30;break;
         case 9:addendo1+=31;break;
         case 10:addendo1+=31;break;
         case 11:addendo1+=31;break;
         }
         i++;
         }
         addendo1+=giorno;
         i=0;
         while(i<mese1){
         switch(i){
         case 0:addendo2+=31;break;
         case 1:addendo2+=28;break;
         case 2:addendo2+=31;break;
         case 3:addendo2+=30;break;
         case 4:addendo2+=31;break;
         case 5:addendo2+=30;break;
         case 6:addendo2+=31;break;
         case 7:addendo2+=31;break;
         case 8:addendo2+=30;break;
         case 9:addendo2+=31;break;
         case 10:addendo2+=31;break;
         case 11:addendo2+=31;break;
         }
         i++;
         }
         addendo2+=giorno1;
         cout<<"la distanza tra le date e' di "<<(addendo2-addendo1)+((anno1-anno)*365)<<" giorni"<<endl; /*sottrae ai giorni dalla data di scadenza quelli dei giorni dalla data di inizio,poi aqggiunge gli anni trascorsi*/
        system("PAUSE");
        return 0;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Non ho controllato la soluzione di quit10 ma in ogni caso bastava ricercare un po' nel forum e si sarebbe trovata una soluzione, come ad esempio

    http://forum.html.it/forum/showthrea...eadid=1129965&

    e in particolare il codice di MItaly che ricorre alla struttura tm definita in time.h sulla quale qui

    http://opengroup.org/onlinepubs/0079...sh/time.h.html

    si trova qualche informazione.
    every day above ground is a good one

  4. #4
    Evidentemente hai ragione, anche io non cercato sul forum. Comunque nel mio codice ho usto le strutture più semplici possibili, senza usare librerie o istruzioni particolari (anche se il mio codice non calcola gli anni bisestili!).
    Inoltre, mi sembra di aver capito che,nella conversazione da te citata, si parli di una circostanza un po' diversa: si calcola addirittura la differenza dei giorni trascorsi dall'anno 0 (cosa utile per date molto distanti), cosa secondo me inutile in questa circostanza, dato che, trattandosi di un autonoleggio, le date non dovrebbero essere molto distanti, quindi il calcolo dell'anno bisestile non è necessario.

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.