Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    c++ Problema di inizializzazione di una variabile

    codice:
    #include <iostream> #include 
    <iomanip> using namespace std;
    double x; 
    double y; 
    double z; 
    double k;   
    
    int main() {     
        cout << fixed; 
        while (x >= 0 )	
         {   k = (k + z) / 2;
      	  cout << "Enter  the miles used: \n";
     	  cin >> x;
     	  cout << "Enter the gallons used: \n";
     	  cin >> y;
     	  z = x / y;
     	  cout << "The MPG is : " << z << endl;
     	  k = z;
              k = (k+z)/2;
     	  cout << "Total MPG is : " << k << endl;
              cout << endl;
          }
          	 return 0; 
    }


    allora il mio problema è che ogni volte che ripeto il ciclo dovrei ottenere che k sia uguale alla media della x di prima + quella di dopo cioè k = (z + z1)/2 il problema è che ogni volta ke il ciclo si ripete la z di prima si perde cioè k diviene uguale alla nuova z e basta ...e nn sono riuscito a trovare un modo affinche questo nn accada ...qualcuno può aiutarmi??


    se vi serve vi scrivo la traccia ..cioè cosa dovrebbe fare il programma!!

  2. #2
    si scrivi cosa deve fare il programma

  3. #3
    Originariamente inviato da kerbero1984
    si scrivi cosa deve fare il programma


    lo scopo del programma è calcolare e visualizzare il rapporto miglia/gallone di carburante relativo a ogni pieno e quello relativo al totale del percorso!!..

    le x sono le miglia ; le y i galloni ; z e il loro rapporto relativo e k il rapporto totale! spero sia chiaro sennò proverò a spiegarmi meglio!!

  4. #4
    solo una cosa...che vuol dire questo?

    codice:
    while (x >= 0 )
    se vuoi fare un ciclo infinito devi fare:

    codice:
    while(1)
    {
    (...)
    }
    se vuoi che il programma termini quando l'utente immette 0 allora:

    codice:
    do
    {
    
    } while(x);
    Alla batteria dai retta ballA

  5. #5
    Originariamente inviato da gianvituzzi
    solo una cosa...che vuol dire questo?

    codice:
    while (x >= 0 )
    se vuoi fare un ciclo infinito devi fare:

    codice:
    while(1)
    {
    (...)
    }
    se vuoi che il programma termini quando l'utente immette 0 allora:

    codice:
    do
    {
    
    } while(x);



    nn voglio fare un ciclo infinito... ma voglio far fermare il ciclo inserendo un numero negativo.. x questo x >= 0... l'unico problema che ho è con quella k che risulta ogni volta uguale a z e nn alla media delle z

  6. #6
    scusa un'altra cosa...perchè stai usando:

    codice:
    #include <iomanip>
    e cosa dovrebbe stampare:

    codice:
    cout << fixed
    Alla batteria dai retta ballA

  7. #7
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Originariamente inviato da gianvituzzi
    scusa un'altra cosa...perchè stai usando:

    codice:
    #include <iomanip>
    e cosa dovrebbe stampare:

    codice:
    cout << fixed
    questo serve solo per far stampare il valore double con la forma della virgola fissa ..cioè visualizza il punto quando stampa.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502

    Re: c++ Problema di inizializzazione di una variabile

    Originariamente inviato da Q.Pagliuca
    codice:
    #include <iostream> #include 
    <iomanip> using namespace std;
    double x; 
    double y; 
    double z; 
    double k;   
    
    int main() {     
        cout << fixed; 
        while (x >= 0 )	
         {   k = (k + z) / 2;
      	  cout << "Enter  the miles used: \n";
     	  cin >> x;
     	  cout << "Enter the gallons used: \n";
     	  cin >> y;
     	  z = x / y;
     	  cout << "The MPG is : " << z << endl;
     	  k = z;
              k = (k+z)/2;
     	  cout << "Total MPG is : " << k << endl;
              cout << endl;
          }
          	 return 0; 
    }


    allora il mio problema è che ogni volte che ripeto il ciclo dovrei ottenere che k sia uguale alla media della x di prima + quella di dopo cioè k = (z + z1)/2 il problema è che ogni volta ke il ciclo si ripete la z di prima si perde cioè k diviene uguale alla nuova z e basta ...e nn sono riuscito a trovare un modo affinche questo nn accada ...qualcuno può aiutarmi??


    se vi serve vi scrivo la traccia ..cioè cosa dovrebbe fare il programma!!
    Scusa, tu assegni a k il valore di z.
    La riga dopo fai k=(z+z)/2 ossia k=z.

    Dopo il while fai k=(z+z)/2 ossia k=z.
    Quindi a k assegni sempre il valore z, o sbaglio?
    al volante son nervoso

  10. #10

    Re: Re: c++ Problema di inizializzazione di una variabile

    Originariamente inviato da Rubox
    Scusa, tu assegni a k il valore di z.
    La riga dopo fai k=(z+z)/2 ossia k=z.

    Dopo il while fai k=(z+z)/2 ossia k=z.
    Quindi a k assegni sempre il valore z, o sbaglio?
    no praticamente c'è un errore cioè ho messo due volte k = (k+z)/2 a quello dopo il while non lo prende come comando ..mentre quello sotto si pero appunto lo prende considerando k = z e nn mantiene il valore z precedente ..praticamente io dovrei fare in modo di inizializzare k a z cioè solo inizialmente deve essere uguale a z ..ma ho provato in tutti i modi mi prende il k=z solo nella posizione in cui l'ho messo ora ..però poi ogni volta che rifà il ciclo mi riprende quel comando ...quindi di volta in volta k è uguale al nuovo z e nn alla media degli z che è quello che serve a me :S

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.