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

Discussione: [C++]Dilemma Ciclo for

  1. #1

    [C++]Dilemma Ciclo for

    Salve a tutti, amici di HTML.it.

    E da più di un giorno che sto' perdendo la testa dietro a questo semplice cilco for:

    codice:
    for(GiornoF;(((GiornoF!=GiornoConv)&&(MeseF!=MeseConv)&&(AnnoF!=AnnoConv))||(GiornoF!=31));GiornoF++) 		  
     { 		      
           dist++;  		 
     }
    Nella fase di debugging ho notato che il ciclo continua fino a che la variabile GiornoF non arriva a 31, ignorando completamente le condizioni legate dall'AND..

    L'idea è quella di far terminare il ciclo quando le variabili GiornoF, MeseF e AnnoF raggiungono lo stesso valore delle variabili GiornoConv, MeseConv e AnnoConv OPPURE se GiornoF assume il valore 31 ma non capisco per quale strano motivo mi viene ignorata l'istruzione legata dall'And....Se qualcuno è ingrado di darmi una spiegazione valida, lo pregherei di rispondere a questo post....

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Questo codice non dovrebbe nemmeno compilare.
    Copia e incolla quello che stai usando veramente.
    E spiega cosa è GiornoF, MeseF e tutte queste cose che stai usando, perché ovviamente chi vede il codice non sa cosa siano.

  3. #3
    Beh...se saresti così gentile da spiegarmi per quale motivo non dovrebbe compilare..
    GiornoConv, MeseConv e AnnoConv sono valori acquisiti da un file che descrivono una data.
    GiornoF, MeseF e AnnoF contengono la data attuale.
    L'algoritmo nel suo complesso calcola la distanta che intercorre tra una data iniziale (quella giornaliera) e una finale (quella acquisita). Ovviamente ritengo inutile fare il copia incolla di tutto il codice perché il problema è incentrato su questo punto.

    Nota Bene:
    Ho usato il copia-incolla e il codice va perfettamente in esecuzione.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Who si riferisce sicuramente a

    for(GiornoF; ...

    ovvero alla prima parte del for subito dopo la parentesi aperta.

    In esecuzione (non in compilazione) potresti avere un errore.

    Che senso ha scrivere solamente

    GiornoF

    ?

    O non scrivi nulla e quindi solamente

    for(; ...

    o inizializzi GiornoF

    for(GiornoF=1; ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Grazie del tuo valido aiuto, oregon..
    Ho impostato il ciclo in questo modo:

    codice:
    for(;(((GiornoF!=GiornoConv)&&(MeseF!=MeseConv)&&(AnnoF!=AnnoConv))||(GiornoF!=31));GiornoF++) 		   { 		  
         dist++;  		   
    }
    Perché non avevo necessità di impostare la variabile ad un valore specifico.. ma ahimè, nulla da fare
    il ciclo continua ignorandomi le condizioni legate dall'AND, prendendo in considerazione solo (GiornoF!=31). help

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    A prescindere dal problema del ciclo, ci fai capire a cosa servirebbe questo ciclo?

    Se devi calcolare una differenza tra date, potresti fare delle semplici operazioni ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Del tipo?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Spiega meglio il problema delle due date ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Ecco tutto l'ambaradan.. ho evitato di scrivere la parte dove vengono impostate le variabili.
    Non giudicatemi se il codice non è proprio un granchè, ma sono ancora un principiante..

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non mi interessava il codice ma i dettagli del problema che cerchi di risolvere.

    Probabilmente tutto quel codice non serve.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.