Altri esercizi semplici(per voi) c++ :D

di il
3 risposte

Altri esercizi semplici(per voi) c++ :D

Ecco altri esercizi su cui mi ero bloccato l'altro giorno:

18. Consider the following statements:
int total_pennies = static_cast<int>(100 * total + 0.5);
int total_tax_pennies = static_cast<int>(100 * total * tax_rate + 0.5);
Introduce a function to reduce code duplication.
Questo non capisco proprio cosa mi chiede


19. Consider this code that prints a page number on the left or right side of a page:

if (page % 2 == 0) { cout << page << endl; }
else { cout << setw(80) << page << endl; }
Introduce a function with return type bool to make the condition in the if
statement easier to under stand.


20)Consider the following function that computes compound interest for an
account with an initial bal ance of $10,000 and an interest rate of 5 percent:
double balance(int years) { return 10000 * pow(1.05, years); }
How can you make this function more reusable?
di questo ho fatto una bozza ma mi da errore

#include <cstdlib>
#include <iostream>
#include <cmath>
#include <iomanip>
/*Consider the following function that computes compound interest for an
account with an initial bal ance of $10,000 and an interest rate of 5 percent:
double balance(int years) { return 10000 * pow(1.05, years); }
How can you make this function more reusable?   (5x1000)/100
*/

using namespace std;
double balance(int years, int rate) 
{ 
double interest = (years*rate)/100;
return interest;
}
int main()
{
    
    double x,y,result;
    cout << "Inserisci la crifa iniziale: ";
    cin >> x;
    cout << endl << "Inserisci il tasso di interesse in percentuale (es: 5 significa 5%): ";
    cin >> y;
    result = double balance(x, y); //QUI MI DA ERRORE 
    cout << endl << "Il tasso di interesse e' di : " << result << "annui." << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

3 Risposte

  • Re: Altri esercizi semplici(per voi) c++ :D

    Non sapete aiutarmi? Non mi è proprio chiara questa cosa dei bool
  • Re: Altri esercizi semplici(per voi) c++ :D

    Ciao stai commettendo un errore di casting.
    Hai dichiarato x e y come double, mentre nella funzione passi dei parametri int.
    Prova così:
    
    #include <iostream>
    
    /*Consider the following function that computes compound interest for an
    account with an initial bal ance of $10,000 and an interest rate of 5 percent:
    double balance(int years) { return 10000 * pow(1.05, years); }
    How can you make this function more reusable?   (5x1000)/100
    */
    
    using namespace std;
    double balance(double years, double rate) // <----- i parametri erano interi, mentre tu gli passavi 2 double
    {
    double interest = (years*rate)/100;
    return interest;
    }
    int main()
    {
       
        double x,y,result;
        cout << "Inserisci la crifa iniziale: ";
        cin >> x;
        cout << endl << "Inserisci il tasso di interesse in percentuale (es: 5 significa 5%): ";
        cin >> y;
        result = balance(x, y); //QUI MI DA ERRORE
        cout << endl << "Il tasso di interesse e' di : " << result << "annui." << endl;
       
        system("PAUSE");
        return 0;
    }
    Un'altra cosa non caricare tutti quegli header ti è sufficiente #include<iostream>, togli gli altri.
    Non ho capito dove avresti i bool...
  • Re: Altri esercizi semplici(per voi) c++ :D

    Ok ora funziona grazie! (scusa il ritardo)
    Guardate qui sapete spiegarmi cosa fa questo codice?
    #include <iostream>
    #include <sstream>
    
    
    using namespace std;
    
    
    int main()
    {    
       const int PRIMO   = 1;
       const int SECONDO = 1<<1;
       const int TERZO   = 1<<2;
       const int QUARTO  = 1<<3;
       const int QUINTO  = 1<<4;
       const int SESTO   = 1<<5;
       const int SETTIMO = 1<<6;
       const int OTTAVO  = 1<<7;
    
       int unNumero = 127;    // Questo valore è l'input
    
       int bit1,
           bit2,
       	   bit3,
       	   bit4,
       	   bit5,
       	   bit6,
       	   bit7,
       	   bit8;  // variabili int che conterranno 1 o 0
    
       // "estraggo" i bit da "unNumero"
       bit1 = (unNumero & PRIMO); 
       bit2 = (unNumero & SECONDO)/2;
       bit3 = (unNumero & TERZO)/4;
       bit4 = (unNumero & QUARTO)/8;
       bit5 = (unNumero & QUINTO)/16;
       bit6 = (unNumero & SESTO)/32;
       bit7 = (unNumero & SETTIMO)/64;
       bit8 = (unNumero & OTTAVO)/128;
    
            //con le successive istruzioni stampo i bit estratti
    
        cout << "Gli 8 bit meno significativi del numero " 
             << unNumero << " sono : ";
    
        cout << bit8 << bit7 << bit6 << bit5 
             << bit4 << bit3 << bit2 << bit1 << endl;
         
         
       system("PAUSE");    // ns. comodo!
      // return 0;
    } // End main()
    
    non capisco queste assegnazionid el tipo
    const int TERZO = 1<<2;
    non avevi mai visto i << usati così
Devi accedere o registrarti per scrivere nel forum
3 risposte