Domanda:
programma in C.... dove è l'errore?
Manuel
2008-10-05 10:02:37 UTC
Ciao,
devo sviluppare un programma in C, il testo del problema è questo: Dato in ingresso un valore, calcolare e stampare il suo inverso.

io l'ho fatto così:
/* Dato in ingresso un valore, calcolare e stampare il suo inverso*/

#include

int main()

{

//Dichiarazioni variabili

int n, r;

//Operazioni

cout <<"Immetti il valore 1"" <
cin >> 1;

cout <<"Immetti il valore di N" <
cin >> n;

r = 1 / n;

cout <<"Il risultato dell'operazione è: "<
return 0;

}


dove è l'errore?? premetto che sono alle prime armi.....
Sei risposte:
anonymous
2008-10-05 10:54:36 UTC
Il programma è in C++ e non in C!

Ecco il programma funzionante:



#include



using namespace std;



int main()

{



double n;

double r;



cout << "Immetti il numero N: " << "\n";



cin >> n;



r = 1 / n;



cout << "L'inverso di " << n << " e': " << r << "\n";



return 0;

}



Ciao
Tizio 008
2008-10-05 21:11:04 UTC
da un punto di vista funzionale

cin >> 1;

se fosse sintatticamente corretto (e non lo è), sarebbe molto inutile.

il valore 1 è una costante, quindi... un numero fisso che srivi direttamente. non è una variabile, come n.



poiché il recipro di un numero è molto probabilmente un numero non intero (... certamente non è intero... :))

r e n devono essere minimo float
Jocker87
2008-10-05 17:17:59 UTC
Prova così:

#include

using namespace std;

int n;

float r;

/*cout <<"Immetti il valore 1"" <
cin >> 1;*/ puoi anche non metterli

cout <<"Immetti il valore di N" <
cin >> n;

r = 1 / n;

cout <<"Il risultato dell'operazione è: "<
return 0;

}



Ciao
daniels1182
2008-10-05 17:15:23 UTC
Premesso che è da alcuni anni che non programmo in c:

se dichiari r come intero il risultato ti verrà sempre 0 oppure 1, quindi dichiara le variabili come float. Poi non capisco perchè leggi il valore 1 in input visto che è costante e credo che l'operazione cin>>1; sia errata. Fai cosi':



float n, r;

cout<<"Immetti N"<
cin>>n;

r=1/n;

cout<< "1/" << n << "=" << r << "\n";
Enry
2008-10-05 17:11:34 UTC
beh hai dichiarato r come intero ma non è un numero intero. prova a dichiarare r come float
BluNotte
2008-10-05 17:12:36 UTC
Che senso ha chiedere all'utente di immettere il valore 1?! Lo sai già che uno vale uno. Tra l'altro, nella riga di dopo, chiedi al pc di assegnare il valore alla variabile 1, il che è impossibile, giacché 1 non è una variabile, ma na costante.



Inoltre, premetto che non uso la iostream.h, ma suppongo che, piuttosto che cin >> n dovresti scrivere cin >> &n



Tra l'altro, a seconda di come agisce il compilatore, potrebbero esserci un paio di cast error:

-> cin >> n : cin ottiene una stringa, non un numero int. Sei sicuro che la conversione sia automatica?

-> cout <


Inoltre, come evidenziato dalla risposta sopra, la variabile non dovrebbe essere int, ma float.


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...