PDA

Visualizza la versione completa : [C++] Eseguire tre letture al posto di una


the-bit
19-04-2007, 16:56
Buon pomeriggio a tutti,
premettendo che sono alle prime armi col C++, Vi espongo brevemente il mio problema:
ho compilato, seguendo l'esempio di un libro, un semplice programmino che calcola la variazione di una somma rispetto al tasso d'interesse richiesto e rispetto all'anno immesso.
Il programma base era che l'utente immetteva il numero d'anni necessario a vedere raddoppiato la sua somma iniziale, ma la somma e il tasso erano già definiti.
Ora io, avendo sempre come base questo programma, ho cercato di modificarlo in modo tale che sia l'utente stesso a decidere somma, tasso d'inteesse e anno. Ahimè, il problema è che mentre nel programma base (quello da esempio) il while andava impostato in questo modo while (somma_iniziale < 2 * somma_iniziale) , ora non so in che modo impostare il while in modo tale che ripeti il ciclo tante volte quanto siano gli anni. Vorrei che mi deste una mano Voi, senza però fornirmi già il codice e quindi la soluzione già bella e pronta.
Vorrei avere una dritta su come ragionare all'interno del while.
Grazie in anticipo.

Xaratroom
19-04-2007, 17:26
Ciao amico Salentino ...
Vuoi quindi eseguire un ciclo un tot numero di volte ?

LeleFT
19-04-2007, 17:42
Ciao e benvenuto.
Ho modificato il titolo perchè non era conforme al regolamento.
Suggerisco di leggere il regolamento così da evitare questi interventi.


Ciao. :ciauz:

the-bit
19-04-2007, 18:04
Ancora Salve,
mi spiace essere ripetitivo, ma non ho ben capito in cosa non era conforme il messaggio da me scritto.

In risposta al compaesano Xaratroom: beh si, vorrei creare un ciclo specificando il numero di volte che deve eseguire l'operazione, ma come ho già detto vorrei solo una dritta perchè ci terrei ad arrivare da solo.
Grazie in anticipo ad ambedue i membri per le loro risposte e mi scuso se involontariamente ho mancato a qualche punto del regolamento del forum.

Xaratroom
19-04-2007, 18:11
Allora ti consiglio di cambiare costrutto...
Diciamo che un'enumerativo (anche detto for) fa la caso tuo...
Se devi utilizzare un while:
dichiari un contatore (che poi è una semplicissima variabile) e definisci una condizione che ti permette, grazie al contatore di iterare n volte...

the-bit
19-04-2007, 18:12
In risposta a Leleft : ho letto velocemente il regolamento di quest'area: immagino che ti riferivi al fatto di non utilizzare titoli troppo generici...pardon, allora. In caso contrario non saprei dove ho sbagliato.

Xaratroom
19-04-2007, 18:15
Si, si riferiva al titolo ...

the-bit
19-04-2007, 18:18
Ah, quacosa del tipo for (int i=0; i<anno; i++;) ? Sono sulla giusta strada? E se volessi utilizzare il while come dovrei fare?
Un altimo cosa caro compaesano, ho provato anche ad utilizzare la funzione valore_futuro(double somma, double interesse, int anno) (prima di int main(), ovviamente ), ma mi dice che le tre variabili non sono dichiarate; così le ho dichiarate subito dopo il "cout <<" di ogni richiesta, ma ancora nulla.
Forse ti ciederai "ma quante ne vuoi sapere?"; lo so, ma vorrei iimparare più+ strade per arrivare allo stesso risultato.
Grazie ancora.

Xaratroom
19-04-2007, 18:26
Per il for ci siamo :
for (int i=0; i<anno; i++)
Per quanto riguarda il while (sempre per tua richiesta) non ti dico come farlo ma modifico un po' questo bel ciclo for:
int i;
i = 0:
for (; i < anno)
{
<istruzioni>
i++;
}
...

Per la funzione nn ho capito bene in tuo problema ...
... posta, magari, il pezzo di codice interessato.

ti ricordo che una funzione che si rispetti si dichiara e definisce nel seguente modo:

<tipo> <identificatore funzione> ( [parametri] ); //prototipo funzione

<funzione main>
{
//qui non sono visibili i parametri della funzione per le regole di scope e lifetime
}

<tipo> <identificatore funzione> ( [parametri] ) //definizione funzione
{
//qui sono visibili gli eventuali paramentri
}

the-bit
19-04-2007, 18:49
1) for: ho provato ad eseguirlo, ma al momento del calcolo non mi esegue nulla: ti riporto di seguito un pezzo di codice:


for (int i=0; i<anno; i++)
{
somma = somma * (1 + tasso / 100);
anno++;
}
cout << "Dopo "<< anno <<" anni, la somma sara' "<< somma <<" \n";

Ovviamente ho impostato per bene le 3 variabili (tasso, anno, somma)

2) while: uguale a for, ma con la differenza che ho dichiarato int i = 0; subito dopo int main, ma pure in questo modo non mi esegue nulla;

3) funzione valore_futuro (breve codice):


double valore_futuro(double p);
{
double b = somma * pow(1 + p / 100, anno);
return b;
}

ho dichiarato le 3 variabili tra i 3cout e cin e poi ho chiuso in questo modo:


double balance = valore_futuro(tasso, somma, anno);
cout << "Dopo "<< anno <<", il valore sara' di "<< balance <<" \n";

Loading