Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-10-2003, 23:43   #1
OrizoN
Junior Member
 
Iscritto dal: Oct 2003
Città: Palermo
Messaggi: 9
problema con semplice prog c:

Salve a tutti,
colgo l'occasione per presentarmi, sono un nuovo utente di questo forum, fattomi conoscere da alcuni miei amici. Ho iniziato da pochissimo a studiare programmazzione da auto-didatta, e la mia scelta è ricaduta sul linguaggio c. Ho realizzato questo semplicissimo programmino per elevare a y un numero scelto x. Ma c'e qualche errore in quanto non mi visualizza il valore corretto (penso che l'errore sia legato al tipo di variabile che ho usato ma non ne sono sicuro). Ecco il codice:

Codice:
 #include <stdio.h>
#include <math.h>
main()
{
 double x, y, z;
 printf("Inserisci numero che vuoi elevare a potenza\n");
 scanf("%d", &x);
 printf("A quanto vuoi elevare %d ?\n", x);
 scanf("%d", &y);
 z = pow (x, y);
 printf("%d", z);
 printf("Premi un tasto per continuare...");
 getchar();
 return 0;
}
Ciao
OrizoN è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 00:05   #2
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
L'errore credo sia nel %d che e' x i valori interi e non per i double...credo ci andrebbe %e
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 00:07   #3
OrizoN
Junior Member
 
Iscritto dal: Oct 2003
Città: Palermo
Messaggi: 9
Quote:
Originariamente inviato da Cimmo
L'errore credo sia nel %d che e' x i valori interi e non per i double...credo ci andrebbe %e
Sostituendo %d con %e da valori errati
__________________
"Per ogni sistema formale di regole ed assiomi è possibile arrivare a proposizioni indecidibili, usando gli assiomi dello stesso sistema formale"
Kurt Godel
OrizoN è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 00:10   #4
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da OrizoN
Sostituendo %d con %e da valori errati
hai sostituito sia nei scanf che nei printf? Che errore ti da'? Sii piu' preciso!
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 00:58   #5
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Il codice può essere migliorato. Mi attengo a quello che hai scritto tu:


#include <stdio.h>
#include <math.h>
main()
{
int x, y, z;
printf("Inserisci numero che vuoi elevare a potenza\n");
scanf("%d", &x);
printf("A quanto vuoi elevare?\n", x);
scanf("%d", &y);
z = pow (double x, double y);
printf("%d", z);
printf("\nPremi un tasto per continuare...");
getchar();
return 0;
}


Hai ragione a pensare di non aver utilizzato correttamente le variabili. In questo caso, le tue variabili sono degli interi(%d) per cui, se le dichiari double, mentre cerchi ad esempio di elevare 2^2, non potrà restituirti il valore corretto.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 01:03   #6
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da maxithron
Hai ragione a pensare di non aver utilizzato correttamente le variabili. In questo caso, le tue variabili sono degli interi(%d) per cui, se le dichiari double, mentre cerchi ad esempio di elevare 2^2, non potrà restituirti il valore corretto.
Ma la pow funzia anche con i double, perche' non dovrebbe andare bene mettendo %e e tenendo i double?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 01:07   #7
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Infatti ma devi scrivere così:

#include <stdio.h>
#include <math.h>
main()
{
double x, y, z;
printf("Inserisci numero che vuoi elevare a potenza\n");
scanf("%e", &x);
printf("A quanto vuoi elevare?\n", x);
scanf("%e", &y);
z = pow (double x, double y);
printf("%e", z);
printf("\nPremi un tasto per continuare...");
getchar();
return 0;
}
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo

Ultima modifica di maxithron : 13-10-2003 alle 01:10.
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 01:14   #8
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Se invece compili da Linux, devi aggiungere al comando di compilazione l'opzione -lm
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 01:24   #9
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
A proposito Orizon....Benvenuto!
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 10:22   #10
Gibbus
Senior Member
 
L'Avatar di Gibbus
 
Iscritto dal: Nov 2001
Messaggi: 1205
Oh! Finalmente qualcuno che dà il benvenuto a chi scrive per la prima volta.... Ho visto, anche in altre sezioni del forum, che questa pratica è tutt'altro che seguita .

Per OrizoN...anche se ormai ti hanno già aiutato a risolvere.

se dichiari delle variabili di tipo double:
double x, y, z;

quando vuoi registrarvi dei valori utilizzando scanf, devi usare l'opzione %lf (percento elle effe): è come se il dato fosse long (la elle) e float (la effe), cioè un double (in genere 8 byte --> 64 bit, mentre il semplice float occupa 4 byte --> 32 bit).

quindi, subito dopo la printf, il tuo scanf sarà così:

scanf("%lf", &x);

Idem per la le altre variabili.
Gibbus è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 19:26   #11
Gogeta ss4
Senior Member
 
L'Avatar di Gogeta ss4
 
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
Se le variabili sono double non puoi acquisire con %d.
Al massimo, sostituisci Double con Float e al posto di %d metti %f
Gogeta ss4 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2003, 22:11   #12
OrizoN
Junior Member
 
Iscritto dal: Oct 2003
Città: Palermo
Messaggi: 9
Grazie dell'aiuto!
__________________
"Per ogni sistema formale di regole ed assiomi è possibile arrivare a proposizioni indecidibili, usando gli assiomi dello stesso sistema formale"
Kurt Godel
OrizoN è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
iPhone Duo, schermi danneggiati e cernie...
PHP2Shell, 650 siti della PA con PHP pot...
Deumidificatore a compressore da 12 litr...
Il futuro di Mass Effect dopo la chiusur...
Google Pixel 11 a 849€ su Amazon: Tensor...
Kioxia vale oro: dopo 8 anni gli azionis...
Musk mette sul piatto 40 miliardi per le...
Apple Watch in offerta su Amazon: Ultra ...
Lavapavimenti senza fili in offerta su A...
Pieghevoli da record in Europa per Samsu...
Corsair RM1200e: arriva l'alimentatore d...
Apple porta l'IA su iWork: debutta l'Int...
Codec AV2: YouTube fissa al 2027 il pass...
Modder sbloccano i Tensor Core delle GeF...
AI, per la maggior parte delle aziende U...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v