- 96
- 12
- CPU
- i7-8750H 2.2GHz
- HDD
- Local C Disk: 512 gb; Local D Disk: 1 tb
- RAM
- 16 gb
- GPU
- GTX 1050 TI 4 gb
- OS
- Windows 10 home
Ciao a tutti,
ho scritto un programmino che chiede all'utente di inserire un numero reale e, dopo averlo letto, chiede nuovamente di indovinare la radice quadrata di quel numero. Se l'utente indovina il programma mostra la stringa "Bravo!" altrimenti chiede all'utente se vuole riprovare. Il programma però non funziona non appena digito un valore con la virgola, infatti con varie prove (compreso il procedimento inverso con la potenza) il programma afferma che il valore non è la radice quadrata del numero cercato. Provando ad esempio il valore 25.3268614564 la cui radice quadrata vale 5.03258, il compilatore non fornisce la soluzione corretta.
ho scritto un programmino che chiede all'utente di inserire un numero reale e, dopo averlo letto, chiede nuovamente di indovinare la radice quadrata di quel numero. Se l'utente indovina il programma mostra la stringa "Bravo!" altrimenti chiede all'utente se vuole riprovare. Il programma però non funziona non appena digito un valore con la virgola, infatti con varie prove (compreso il procedimento inverso con la potenza) il programma afferma che il valore non è la radice quadrata del numero cercato. Provando ad esempio il valore 25.3268614564 la cui radice quadrata vale 5.03258, il compilatore non fornisce la soluzione corretta.
Codice:
// enunciati di inclusione
#include<iostream>
#include<string>
// enunciato using namespace
using namespace std;
int main()
{
// dichiarazioni di variabili
double num;
double res;
int ans;
// enunciati eseguibili
cout << "Inserisci un valore intero: ";
cin >> num;
do
{
cout << "Determina la radice quadrata! ";
cin >> res;
if (num == res * res)
cout << "Bravo!" << endl;
else
{
cout << "Hai sbagliato. Vuoi riprovare?\n 1 - si\n 2 - no\n";
cin >> ans;
}
} while (ans == 1);
// enunciato return
return 0;
}