| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
soso_2
Registrado: 20 Sep 2007 Mensajes: 10 Ubicación: bbb
| Publicado: 23/09/2007 7:16 am | | | Título: me marca un problema y no se que es en dev c++ |
| #include<stdio.h> #include<conio.h> #define g 000000000672 main() {
float f,m,g,n,r;el error dice:expected unqualified-id before numeric constant printf("calcular la fuerza gravitacional\n"); printf("dame la masa m:"); scanf("%f",&m); printf("dame la masa n:"); scanf("%f",&n); printf("dame la distancia r:"); scanf("%f",&r); f=g*(m+n)/r; printf("la fuerza gravitacional es:%f",f); getch(); }
|
| | Volver arriba | |  | DCelso

Registrado: 28 Abr 2004 Mensajes: 112
| Publicado: 23/09/2007 8:17 am | | | Título: |
| el problema es que defines "g" como constante con la macro #define y después mas abajo intentas crear una variable float con el mismo nombre "g". Solucion: eliminar "g" como variable float o bien sustitur "g" del define por "G".
Como normativa, normalmente todas las palabras que van a ser constantes con la macro #define deben de ir en mayúsculas, esto evita problemas de este tipo.
Saludos. |
| | Volver arriba | |  | cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 23/09/2007 8:20 am | | | Título: |
| Tienes repetido el identificador 'g' , y ademas no lo usas. Supongo que la macro g bien podria ser G se refiere a un valor con un exponente de n^-11, un numero demasiado grande, para evitar problemas tendrias que utilizar double. La funcion main debe retornar int. Prescinde totalmente de la cabecera conio.h, no la necesitas
| Código: | #include<stdio.h> #include<stdlib.h>
#define G .000000000672 int main() {
double f,m,n,r; printf("calcular la fuerza gravitacional\n");
printf("dame la masa m: "); scanf("%le",&m);
printf("dame la masa n: "); scanf("%le",&n);
printf("dame la distancia r: "); scanf("%le",&r);
f = G * (m + n) / r; printf("la fuerza gravitacional es: %E\n", f); system("pause");
return 0; } |
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
| | Volver arriba | |  | | polly
Registrado: 19 Jul 2007 Mensajes: 61
| Publicado: 23/09/2007 2:14 pm | | | Título: |
| este comentario no tiene que ver mucho con el tema , pero ... he visto a muchos principiantes ( ojo , yo tambien soy principiante) , que usan getch() y la libreria conio.h , yo me pregunto , el getch() ese solo sirve para darle un toque de estilo al programa y nada mas , creo q podrian programar sin dificultad sin utlizar getch() _________________ R.I.P Kurt Cobain ------------------------- |
| | Volver arriba | |  | cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 23/09/2007 2:31 pm | | | Título: |
| | polly escribió: | | este comentario no tiene que ver mucho con el tema , pero ... he visto a muchos principiantes ( ojo , yo tambien soy principiante) , que usan getch() y la libreria conio.h , yo me pregunto , el getch() ese solo sirve para darle un toque de estilo al programa y nada mas , creo q podrian programar sin dificultad sin utlizar getch() |
Normalmente esa funcion la utilizan para pausar el programa en una consola windows, nada que no se pueda hacer con funciones como getchar o system con la orden "pause", aunque esto ultimo depende del interprte de comandos hasta donde yo se todos los terminales tienen una orden "pause".
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |