Programma in C++ per calcolare la cilindrata

di Anonimizzato17746 il
10 risposte
Buonasera, sono agli inizio della programmazione e scrivo per avere chiarimenti su un programmino che calcola la cilindrata unitaria di un veicolo con motore a scoppio; il codice che ho scritto è questo:
int a, c, cilindrata;
std::cout<<"inseire l' alesaggio ";
std::cin>>a;
std::cout<<"inserire la corsa ";
std::cin>>c;
cilindrata = (a/2)^2*3.1416*)c;
std::cout<<"la cilindrata e' "<<cilindrata;

dove a sta per alesaggio e c per corsa.
la formula per calcolare la cilindrata è la seguente: Cilindrata = (alesaggio/2)2*3.1416*corsa
quando compilo il programma il compilatore mi dice:

12 30 C:\Users\Sasiba\Desktop\c++\Cilindrata\main.cpp [Error] expected primary-
expression before ')' token

dove 12 è la linea e 30 la colonna. Cosa sbaglio?
grazie in anticipo,
Samuele.

10 Risposte

  • Ciao, non uso c++ ma l'errore è sicuramente dovuto alle parentesi ed al segno mancante nella riga in cui fai i conti:

    cilindrata=((a/2)^2)*3.1416*c;

    Così dovrebbe andare
  • Ho messo la formula che mi hai scritto, però dà risultati totalmente sbagliati.
    Ecco un' immagine di tutto il codice
    Cattura1.PNG
    Cattura1.PNG

  • Salve
    Avete sbagliato entrambi, con l'operatore '^' non si calcola la potenza ma lo xor, quindi è ovvio che è errato.
    Per calcolare la potenza utilizza la funzione pow() di math.h.
  • Si vede che è un po' che non uso c++ e le potenze in generale...
  • Quindi come devo scrivere la formula?
  • Quindi devi usare la funzione pow

  • Cattura.PNG
    Cattura.PNG

    ora cosa sbaglio?
  • Scrivi 2.0 e non 2

  • Cattura.PNG
    Cattura.PNG

    ho fatto come dicevi e mi dice che è sbagliato...
  • Hai ancora errori perché non conosci le basi del C...

    Non devi dichiarare una variabile pow e la variabile cilindrata deve essere double non int
Devi accedere o registrarti per scrivere nel forum
10 risposte