Me estoi leyendo una guia y aparece un ejercicio de variables, introduzco un codigo y se me cierra en seguida porque es si he puesto el "system("PAUSE");" esto no tendria que pausar.
#include <stdio.h>
#include <stdlib.h>
main()
{
int primerNumero = 1212;
int segundoNumero = 1213;
int suma = primerNumero + segundoNumero;
prinft("Su suma es %d", suma);
system("PAUSE");
return 0;
}
Usa las etiquetas GeSHi para postear código!!
Por otra parte, no estás programando bien. Si tienes un return 0; al final del main, quiere decir que dicha función retorna un entero, y no lo veo en la definición. Lo mismo con sus respectivos parámetros. La definición estándar del main es:
int main (int argc, char* argv[])
Además, en la línea donde intentas imprimir, escribes prinft, cuando en realidad, es printf.
Este código no tendría que compilar siquiera.
Ok grax ya corregi y me funciona, pero no me critiques tanto que soi un nooob :-[
Oye tengo unas dudas:
Lo del main es obligado ponerlo asi?
Lo de return me viene por defecto me aconsejas quitarlo?
El return 0 lo que hace es cerrar el programa, dejalo, está bien así.
Pero si no te lo critiqué che! Son sugerencias y te estoy ayudando. Si te molesta que te muestren los errores que uno comete, nunca vas a aprender...
Haya paz...
EDITO: Te dejo este código, hace lo mismo que el que has escrito tu, pero te lo enseño para que veas como ahorrarte lineas y que te sea más fácil.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int primerNumero = 1212, segundoNumero = 1213, suma = primerNumero + segundoNumero;
printf("Su numero es %d\n", suma);
system("PAUSE");
return 0;
}
Saludos
Cita de: luistrea en 27 Diciembre 2011, 21:05 PM
Lo del main es obligado ponerlo asi?
Depende pero en práctica no.
Lo aconsejable es ponerlo como te lo comenté, ya que es la declaración estándar y jamás tendrás problemas de esa forma.
Hay gente que pone por ejemplo:
int main (void)
Pero yo prefiero lo más cercano al estándar posible en estos casos.
PD: Vengo en son de paz, que no se tome como que levanté el tono la última vez, nada que ver!
Declara el main() como te dijo Ferno y como el código que te acabo de dejar yo, es más facil así.
Un saludo
Ya que estamos "para aprender", voy a criticar yo también jajaja (@Ferno es brooooma...)
Ahora, os corrijgo a todos:
#include <stdio.h>
int main ()
{
int num1 = 1212, num2 = 1213;
printf ("%d+%d=%d\n", num1, num2, num1+num2);
return 0;
}
1. No tenéis por que incluir "stdlib.h" cuando no se está usando en el programa.
2. "main ()", "void main ()", "int main (void)" no son correctos (el último sería aceptable, pero no suele usarse).
3. "int main (int argc, char *argv [])". Es lo más correcto, pero lo que hay entre paréntesis puede suprimirse si no es usado en el programa.
4. Nombres de variables muy largos entorpecen la programación, y no es agradable tratar con nombres muy largos.
5. No es necesario declarar una variable para almacenar un valor que sólo será usado una vez. Es ridículo.
6. "return" a secas es correcto sólo cuando la función el la que está se ha declarado con un "void", lo cual no está bien en el caso de "main ()".
7. "system ("PAUSE")" es horrible, nunca debe usarse. En caso de que uséis un entorno de programación gráfico usad "getchar ()"o similares, pero nunca uséis "system ()" si no es estrictamente necesario. Por algo siempre se recomienda programar desde una terminal a no ser que la salida sea gráfica (trabajar desde terminal es muchísimo más cómodo, directo, práctico y rápido).
8. Pedir paz en un foro público es ridículo. Por favor. Si quieren decir tonterías, ¡adelante!
9. Esa ortografía...
Sin rencor ;)
Punto 1: Ok
Punto 2: Yo no fui
Punto 3: Ok
Punto 4: Yo puse esos nombres porque son los que puso él
Punto 5: Ok
Punto 6: Lo sabía, pero no explicarlo
Punto 7: Ya se que llamar al sistema para hacer una pausa es horrible, pero para códigos así de simples vale igual
Punto 8: Hijos de **** todos !!!!!
Saludos
Cita de: Sagrini en 27 Diciembre 2011, 23:28 PM
(...) Ahora, os corrigo a todos: (...)
@Sagrini: Me causa gracia que critiques la ortografía de otros usuarios, cuando la tuya no es perfecta, pues se escribe "corrijo", no "corrigo".
Esto no es foro libre, el tío ha hecho una duda acerca de un tema técnico, no ha pedido que le critiquen la ortografía o que se desvíen del tema, así que... mantengamos el orden y a hacer off-topic en otro lado. Para algo tienen Foro Libre (http://foro.elhacker.net/foro_libre-b22.0/).
Mmm, cierto... como he dicho todos estamos para aprender jajaja Ya he modificado, eso me pasa por las prisas :-[
Aclaro: Por si alguien lo ha entendido mal, el responder por puntos lo he hecho para responder bien y ordenadamente sin ánimo de enfadarme con nadie.
Saludos
Me podeis explicar lo de "system ("PAUSE")", porque es una tonteria si no lo pongo el programa no se pausa y no lo puedo ver. :huh:
Es una llamada al sistema para hacer una pausa, pero no lo uses, usa getchar();
Cita de: luistrea en 28 Diciembre 2011, 13:16 PM
Me podeis explicar lo de "system ("PAUSE")", porque es una tonteria si no lo pongo el programa no se pausa y no lo puedo ver. :huh:
Hola
Pasa que system("pause"); solo sirve para Windows, si programas en otro SO no funciona, por eso recomendamos usar el estándar: getchar();
Saludos
Gracias a todos por todo ;D
De nada, para eso estamos ;)