double sqrt (double x)
double cbrt (double x) double pow (double base, double power) |
// ex4_7_3.cpp #include <iostream.h> #include <math.h> const double PI = 3.14159265358979323846264338327; char menu () { cout << "\n\nscegli un solido:\n" "(a) cubo\n" "(b) parallelepipedo\n" "(c) cono\n" "(d) cilindro\n" "(e) sfera\n" "(q) esce\n"; char c; do { cout << "\t? "; cin >> c; } while (c != 'a' && c != 'b' && c != 'c' && c != 'd' && c != 'e' && c != 'A' && c != 'B' && c != 'C' && c != 'D' && c != 'E' && c != 'q' && c != 'Q'); return c; } void cubo() { double volume; cout << "volume? "; cin >> volume; double spigolo = cbrt(volume); cout << "spigolo = " << spigolo; } void parallelepipedo() { double a, b, c; cout << "a? "; cin >> a; cout << "b? "; cin >> b; cout << "c? "; cin >> c; double diagonale = sqrt ( pow(a,2) + pow(b,2) + pow(c,2) ); cout << "diagonale = " << diagonale; } void cono() { double volume, altezza; cout << "volume? "; cin >> volume; cout << "altezza? "; cin >> altezza; double areaBase = 3 * volume / altezza; double raggioBase = sqrt( areaBase / PI); cout << "raggio di base = " << raggioBase; } void cilindro() { double volume, raggioBase; cout << "volume? "; cin >> volume; cout << "raggio di base? "; cin >> raggioBase; double areaBase = PI * pow(raggioBase, 2); double altezza = volume / areaBase; cout << "altezza = " << altezza; } void sfera() { double volume; cout << "volume? "; cin >> volume; double raggio = cbrt( volume / PI * 3 / 4); cout << "raggio = " << raggio; } void main () { bool continua = true; do { char comando = menu(); switch (comando) { case 'a': case 'A': cubo(); break; case 'b': case 'B': parallelepipedo(); break; case 'c': case 'C': cono(); break; case 'd': case 'D': cilindro(); break; case 'e': case 'E': sfera(); break; case 'q': case 'Q': continua = false; break; } } while (continua == true); }
Un altro esempio, il quale può essere facilmente utilizzato in semplici problemi di Fisica, ad esempio, sulle forze, è il seguente:
// ex4_7_6.cpp #include <iostream.h> #include <math.h> void main() { // m1, m2: moduli vettore 1 e 2 // theta : angolo compreso tra essi double m1, m2, theta; cout << "modulo vettore 1? "; cin >> m1; cout << "modulo vettore 2? "; cin >> m2; cout << "angolo compreso ? "; cin >> theta; // si utilizza la formula di Carnot double somma = sqrt ( pow(m1,2) + pow(m2,2) + 2 * m1 * m2 * cos(theta) ); double differenza = sqrt ( pow(m1,2) + pow(m2,2) - 2 * m1 * m2 * cos(theta) ); double prVettore = m1 * m2 * sin(theta); double prScalare = m1 * m2 * cos(theta); cout << "modulo vettore somma = " << somma << "\n"; cout << "modulo vettore differenza = " << differenza << "\n"; cout << "modulo prodotto vettore = " << prVettore << "\n"; cout << "prodotto scalare = " << prScalare << "\n"; }esempio di output: