Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: luistrea en 27 Diciembre 2011, 17:23 pm



Título: Duda con variables
Publicado por: luistrea en 27 Diciembre 2011, 17:23 pm
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;
}


Título: Re: Duda con variables
Publicado por: Ferno en 27 Diciembre 2011, 17:36 pm
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:

Código
  1. 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.


Título: Re: Duda con variables
Publicado por: luistrea en 27 Diciembre 2011, 21:05 pm
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?


Título: Re: Duda con variables
Publicado por: Caster en 27 Diciembre 2011, 21:09 pm
El return 0 lo que hace es cerrar el programa, dejalo, está bien así.


Título: Re: Duda con variables
Publicado por: Ferno en 27 Diciembre 2011, 21:43 pm
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...


Título: Re: Duda con variables
Publicado por: Caster en 27 Diciembre 2011, 21:55 pm
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.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.  int primerNumero = 1212, segundoNumero = 1213, suma = primerNumero + segundoNumero;
  7.  printf("Su numero es %d\n", suma);
  8.  system("PAUSE");
  9.  return 0;
  10. }
  11.  

Saludos


Título: Re: Duda con variables
Publicado por: Ferno en 27 Diciembre 2011, 22:02 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:

Código
  1. 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!


Título: Re: Duda con variables
Publicado por: Caster en 27 Diciembre 2011, 22:07 pm
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


Título: Re: Duda con variables
Publicado por: Sagrini en 27 Diciembre 2011, 23:28 pm
Ya que estamos "para aprender", voy a criticar yo también jajaja (@Ferno es brooooma...)
Ahora, os corrijgo a todos:
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5. int num1 = 1212, num2 = 1213;
  6. printf ("%d+%d=%d\n", num1, num2, num1+num2);
  7. return 0;
  8. }
  9.  
  10.  
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 ;)


Título: Re: Duda con variables
Publicado por: Caster en 27 Diciembre 2011, 23:39 pm
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


Título: Re: Duda con variables
Publicado por: Unbr0ken en 28 Diciembre 2011, 06:10 am
(...) 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/).


Título: Re: Duda con variables
Publicado por: Sagrini en 28 Diciembre 2011, 12:42 pm
Mmm, cierto... como he dicho todos estamos para aprender jajaja Ya he modificado, eso me pasa por las prisas :-[


Título: Re: Duda con variables
Publicado por: Caster en 28 Diciembre 2011, 12:43 pm
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


Título: Re: Duda con variables
Publicado por: 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:


Título: Re: Duda con variables
Publicado por: Caster en 28 Diciembre 2011, 13:29 pm
Es una llamada al sistema para hacer una pausa, pero no lo uses, usa getchar();


Título: Re: Duda con variables
Publicado por: satu en 28 Diciembre 2011, 13:32 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


Título: Re: Duda con variables
Publicado por: luistrea en 28 Diciembre 2011, 18:17 pm
Gracias a todos por todo  ;D


Título: Re: Duda con variables
Publicado por: Caster en 28 Diciembre 2011, 19:23 pm
De nada, para eso estamos  ;)