View Full Version : [C++]Calcolo velocita luce
Ciao a tutti sono un totale neofita in programmazionequesto è +o- quello che vorrei fare:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int Vel_Luce = 300000;
int Sec = 0;
printf("Calcolo quanti Km percorre la luce entro i 60 sec\n");
cout <<"Digita per quanti secondi vuoi saperlo -> \n";
cin >> Sec;
cout << Vel_luce*sec;
fflush(stdin);getchar();
}
Se compilo mi dice :17 C:\Programmi\Dev-Cpp\SenzaTitolo4.cpp `Vel_luce' undeclared (first use this function):cry: Perchèèèè
Vel_luce e' minuscono, ma e' stato dichiarato con la elle maiuscola Vel_Luce.
E' vero il c++ è case sensitive.Ti ringrazio tanto .... 2 ore che impazzivo:muro:
E' vero il c++ è case sensitive.Ti ringrazio tanto .... 2 ore che impazzivo:muro:
usa un editor ti potrebbe dare una mano ad individuare simili errori
wizard1993
09-02-2008, 21:59
forse sarò io che ci capisco poco, ma li c'è un errore logico grosso come una casa a mio avviso, sbaglio o l'int arriva +32768 come valore massimo?
variabilepippo
09-02-2008, 22:11
sbaglio o l'int arriva +32768 come valore massimo?
The int types (http://home.att.net/~jackklein/c/inttypes.html#int):
An int was originally intended to be the "natural" word size of the processor. Many modern processors can handle different word sizes with equal ease.
It is int which causes the greatest confusion. Some people are certain that an int has 16 bits and sizeof(int) is 2. Others are equally sure that an int has 32 bits and sizeof(int) is 4.
Who is right? On any given compiler, one or the other could be right. On some compilers, both would be wrong. I know of one compiler for a 24 bit DSP where an int has 24 bits.
NOTE: The required ranges for signed and unsigned int are identical to those for signed and unsigned short. On compilers for 8 and 16 bit processors (including Intel x86 processors executing in 16 bit mode, such as under MS-DOS), an int is usually 16 bits and has exactly the same representation as a short. On compilers for 32 bit and larger processors (including Intel x86 processors executing in 32 bit mode, such as Win32 or Linux) an int is usually 32 bits long and has exactly the same representation as a long.
Non so ma se in caso con cosa dovrei dichiarare quei 300000??:confused:
wizard1993
09-02-2008, 22:15
Non so ma se in caso con cosa dovrei dichiarare quei 300000??:confused:
double, se non mi sbaglio va bene
The int types (http://home.att.net/~jackklein/c/inttypes.html#int):
il mio inglese di prima superiore non mi permette di masticare agiatamente questo coso, tradotto apparte che alcuni compilatori allocano 16 bit, altri 32, qual'è il sunto?
variabilepippo
09-02-2008, 22:21
Non so ma se in caso con cosa dovrei dichiarare quei 300000??
int
qual'è il sunto?
La dimensione dipende dal compilatore. MinGW (il compilatore alla base di Dev-C++) usa 4 byte, o 32 bit se preferisci, per rappresentare un int.
variabilepippo
09-02-2008, 22:22
Non so ma se in caso con cosa dovrei dichiarare quei 300000??
int
qual'è il sunto?
La dimensione dipende dal compilatore. MinGW (il compilatore alla base di Dev-C++) usa 4 byte, o 32 bit se preferisci, per rappresentare un int.
In caso di dubbi:
#include <iostream>
int main(void){
std::cout << sizeof(int);
}
int
La dimensione dipende dal compilatore. MinGW (il compilatore alla base di Dev-C++) usa 4 byte, o 32 bit se preferisci, per rappresentare un int.
In caso di dubbi:
#include <iostream>
int main(void){
std::cout << sizeof(int);
}
Io non so nemmeno leggerlo quel pezzo di codice!!:stordita: :p
wizard1993
09-02-2008, 22:29
La dimensione dipende dal compilatore. MinGW (il compilatore alla base di Dev-C++) usa 4 byte, o 32 bit se preferisci, per rappresentare un int.
capito perfettaemente, conosco l'operatore unario sizeof, grazie infinite
variabilepippo
09-02-2008, 22:31
Io non so nemmeno leggerlo quel pezzo di codice!!
Sei messo maluccio... :stordita:
wizard1993
09-02-2008, 22:32
Sei messo maluccio... :stordita:
anche se sono un profano mi posso permettere di quotare...
Sei messo maluccio... :stordita:
Ti credo ho iniziato 10 giorni fa e da 9 mi fa male la capa!!:D :D
Però da quanto ho capito hai un controllo totale dell idea che vorresti realizzare!Pregiato...
wizard1993
09-02-2008, 22:37
Ti credo ho iniziato 10 giorni fa e da 9 mi fa male la capa!!:D :D
lo svantaggio di cominciare con il c++...
Però da quanto ho capito hai un controllo totale dell idea che vorresti realizzare!Pregiato...
il c++ ti da la possiblità di manovrare più liberamente la memoria del sistema di altri linguaggi, ma a tuo rischio e pericolo
Comunque lunedi o martedi mi arrivano i 2 volumi "C++ fondamenti e tecniche di programmazione" consigliato sempre qui sul forum.Studiare con i manuali elettronici a me non aiuta tanto.Spero d'imparare...:rolleyes:
wizard1993
09-02-2008, 22:55
Comunque lunedi o martedi mi arrivano i 2 volumi "C++ fondamenti e tecniche di programmazione" consigliato sempre qui sul forum.Studiare con i manuali elettronici a me non aiuta tanto.Spero d'imparare...:rolleyes:
se sono i deitel ti garantisco che sono ottimi
Ecco qui:http://cgi.ebay.it/ws/eBayISAPI.dll?ViewItem&rd=1&item=320214575186&ssPageName=STRK:MEWA:IT&ih=011
perciò ho fatto un affare!:D
^TiGeRShArK^
10-02-2008, 03:00
Non so ma se in caso con cosa dovrei dichiarare quei 300000??:confused:
Ma usa ruby o python e risolvi il problema in 3 secondi netti..:mbe:
altro che c++ e le sue inutili complicazioni :asd:
astorcas
10-02-2008, 09:33
Non so ma se in caso con cosa dovrei dichiarare quei 300000??:confused:
Capisco che tu sia agli inizi però quando programmi puoi avere diversi problemi ma non di certo quello di una dichiarazione di una costante!
Chi ti obbliga a scrivere 300000? Puoi benissimo dichiarare
int vel_luce = 3 e poi all'output ci piazzi 5 zeri d'avanti.
forse sarò io che ci capisco poco, ma li c'è un errore logico grosso come una casa a mio avviso, sbaglio o l'int arriva +32768 come valore massimo?
L'int è solitamente di dimensione pari alla dimensione dei registri general purpose del processore.
L'int arriva a 32767 solo se il tuo processore è a 16 bit o lo fai girare a 16 bit...vedi DOS.
Ed un altro topic nella collezione da quotare a quelli che impara prima il C tanto e' facile :)
Usa float o double per questi calcoli.
wizard1993
10-02-2008, 10:19
L'int è solitamente di dimensione pari alla dimensione dei registri general purpose del processore.
L'int arriva a 32767 solo se il tuo processore è a 16 bit o lo fai girare a 16 bit...vedi DOS.
perfetta delucidazione
Non so ma se in caso con cosa dovrei dichiarare quei 300000??
int
Ma usa ruby o python e risolvi il problema in 3 secondi netti..:mbe:
altro che c++ e le sue inutili complicazioni :asd:
Capisco che tu sia agli inizi però quando programmi puoi avere diversi problemi ma non di certo quello di una dichiarazione di una costante!
Chi ti obbliga a scrivere 300000? Puoi benissimo dichiarare
int vel_luce = 3 e poi all'output ci piazzi 5 zeri d'avanti.
certo che siete forti :rotfl:
Usa float o double per questi calcoli.
e poi c'è pure il sussiegoso.oso :O
:D :D :D
variabilepippo
10-02-2008, 15:19
int Vel_Luce = 300000;
int Sec = 0;
printf("Calcolo quanti Km percorre la luce entro i 60 sec\n");
cout <<"Digita per quanti secondi vuoi saperlo -> \n";
cin >> Sec;
cout << Vel_luce*sec;
+
Usa float o double per questi calcoli.
=
Qual è il vantaggio?
Qual è il vantaggio?
ma ce l'hai la terza media ? :D :rotfl:
(se sei più piccolo sei quasi giusti-ficato)
ma ce l'hai la terza media ? :D :rotfl:
:rolleyes:
Non esagerare...
variabilepippo
10-02-2008, 16:56
ma ce l'hai la terza media ?
No, la prenderò l'anno prossimo... Nel frattempo mi spieghi perché l'utente, alle prime armi, che deve eseguire quel conticino UNA sola volta e non in un tight loop, inoltre non è interessato alle frazioni di secondo dovrebbe usare un tipo floating point al posto di un intero?
Grazie.
certo che siete forti :rotfl:
Anche tu, non ti ho ancora visto scrivere un post interessante :)
ma se vi ho indicato le porte del Paradiso ! :O
:sborone:
http://www.cristiancontini.it/images/orione01.jpg http://www.glyphweb.com/esky/_images/photos/betelgeuse.gif
variabilepippo
10-02-2008, 19:17
ma se vi ho indicato le porte del Paradiso !
Sei in grado di formulare una frase di senso compiuto? Mi spieghi il significato del tuo "ma ce l'hai la terza media?", magari argomentando...? Grazie...
1a riga sempre e comunque:
Implicit Real*8 (A-H, L-Z), Integer*4 (I-K)
poi volendo: :sborone:
COMPLEX
Statement: Specifies the COMPLEX data type.
Syntax
COMPLEX
COMPLEX([KIND=]n)
COMPLEX*s
DOUBLE COMPLEX
n
Is kind 4 or 8.
s
Is 8 or 16.COMPLEX(4) is specified as COMPLEX*8. COMPLEX(8) is specified as COMPLEX*16.
cdimauro
11-02-2008, 08:45
1a riga sempre e comunque:
Implicit Real*8 (A-H, L-Z), Integer*4 (I-K)
poi volendo: :sborone:
COMPLEX
Statement: Specifies the COMPLEX data type.
Syntax
COMPLEX
COMPLEX([KIND=]n)
COMPLEX*s
DOUBLE COMPLEX
n
Is kind 4 or 8.
s
Is 8 or 16.COMPLEX(4) is specified as COMPLEX*8. COMPLEX(8) is specified as COMPLEX*16.
Azz. E' proprio vero che Fortran90 e VB hanno praticamente la stessa sintassi. :asd:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.