[Curso] Introducción a la programación en C (VI)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por m0skit0 »

Emm... obviamente no :mrgreen: Tienes que compilarlo para Windows. Eso lo puedes hacer desde Linux indicando como target win32 o bien desde el mismo Windows. Ya se encarga el compilador de ponerle la extensión .EXE (que es lo que identifica -cutremente- a los ejecutables en Windows, a falta de permisos).
Imagen

Avatar de Usuario
Dark Pallacus
ViP Hordes
ViP Hordes
Mensajes: 1509
Registrado: 03 Sep 2009, 00:35
PSN ID: Pallacus
Ubicación: Barcelona
Contactar:

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por Dark Pallacus »

Si y juntamente con que Windows oculta la extensión de los archivos, es una puerta abierta a los virus torpes.

Todos hemos recibido el típico, " fotochula.jpg.exe ".
PS3 - PSP 2000

Avatar de Usuario
flood
Enteradillo
Enteradillo
Mensajes: 53
Registrado: 10 Ene 2011, 01:41

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por flood »

Dejo solo el primer ejercicio y me retiro a dormir...

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{
   int num1, num2;
   
   printf("Introduce un numero secreto entre 1 y 10: ");//Entre 1 y 10 para que sea mas facil adivinarlo.
   scanf("%d", &num1);
 
   printf("\nEscribe el numero entre 1 y 10 que creas es el correcto: ");
   scanf("%d", &num2);
 
   if(num1 == num2)
     {
      printf("\nLos dos numeros son iguales.\n");
     }

   else
       {
        printf("Fallaste los numeros no son iguales.\n");
       }

   return 0;
}

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por arisma »

flood escribió:Dejo solo el primer ejercicio y me retiro a dormir...

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{
   int num1, num2;
   
   printf("Introduce un numero secreto entre 1 y 10: ");//Entre 1 y 10 para que sea mas facil adivinarlo.
   scanf("%d", &num1);
 
   printf("\nEscribe el numero entre 1 y 10 que creas es el correcto: ");
   scanf("%d", &num2);
 
   if(num1 == num2)
     {
      printf("\nLos dos numeros son iguales.\n");
     }

   else
       {
        printf("Fallaste los numeros no son iguales.\n");
       }

   return 0;
}


Sólo comentarte que no es necesario abrir llaves en este caso, salvo que lo estés haciendo por tema de claridad de codigo.

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por m0skit0 »

Es mucho mejor usar las llaves siempre, aunque se puedan omitir.

Saludos
Imagen

Avatar de Usuario
flood
Enteradillo
Enteradillo
Mensajes: 53
Registrado: 10 Ene 2011, 01:41

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por flood »

Sólo comentarte que no es necesario abrir llaves en este caso, salvo que lo estés haciendo por tema de claridad de codigo.


Gracias por la observación arisma, pero como m0skit0 prefiero ponerlas aunque sea solo una linea, me sirve para no perder la costumbre y que sea un poco mas legible.

Los ejercicios restantes:
Spoiler:
Ejercicio 2.

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{
   int num1, num2;

   printf("Introduce el primer numero: ");
   scanf("%d", &num1);

   printf("\nIntroduce el segundo numero: ");
   scanf("%d", &num2);

   if(num1 > num2)
     {
      printf("\n%d es mas grande que %d.\n", num1, num2);
     }

   else if(num1 < num2)
          {
           printf("\n%d es mas grande que %d.\n", num2, num1);
          }
   else
       {
        printf("\nLos dos numeros son iguales.\n");
       }
 
   return 0;
}


Ejercicio 3.

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{

   int num1, num2;

   printf("Introduce un numero: ");
   scanf("%d", &num1);

   printf("\nIntroduce otro numero: ");
   scanf("%d", &num2);

   if(num1*num1 > num2*num2)
    {
     printf("\nEl cuadrado de %d es %d y es mas grande que el cuadrado de %d que es %d.\n", num1, num1*num1, num2, num2*num2);
    }

   if(num1*num1 < num2*num2)
    {
     printf("\nEl cuadrado de %d es %d y es mas grande que el cuadrado de %d que es %d.\n", num2, num2*num2, num1, num1*num1);
    }

   return 0;
}


Ejercicio 4.

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{

   int num;

   printf("Escribe un numero: ");
   scanf("%d", &num);

   if(num == 1)
    {
     printf("\nEl numero es 1.\n");
    }

   else if(num % 2 == 0)
    {
     printf("\nEl numero es par.\n");
    }

   else
    {
     printf("\nEl numero es impar.\n");
    }

   return 0;
}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por m0skit0 »

Tú código sale un poco descolocado, ¿se debe a algo en concreto o es simplemente porque usas Windows :lol: ?

flood escribió:Ejercicio 2.

:oki:

flood escribió:Ejercicio 3.

Varias cosas:

  • No necesitas calcular los cuadrados, y menos calcular cada cuadrado 2 veces
  • Si se cumple un if no hace falta que se ejecute el otro
  • ¿Qué pasa si son iguales?

flood escribió:Ejercicio 4.

¿Por qué una condición específica para el 1? El 1 es impar.
Imagen

Avatar de Usuario
flood
Enteradillo
Enteradillo
Mensajes: 53
Registrado: 10 Ene 2011, 01:41

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por flood »

No entendí que quisiste decir con descolgado :tongue: , se me paso poner el else y que pasaba si son iguales, debo de poner mas atención al lo que ago :lol:, lo de no necesitan calcular los cuadrados como que a esa parte no le entendí muy bien.
Ejercicio 3

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{

   int num1, num2;
   double cuad1, cuad2;

   printf("Introduce un numero: ");
   scanf("%d", &num1);

   printf("\nIntroduce otro numero: ");
   scanf("%d", &num2);

   cuad1 = num1*num1;
   cuad2= num2*num2;

   if(num1==num2)
     {
      printf("El cuadrado de ambos numeros son iguales: %G", cuad1);
     }

   else if(num1 > num2)
     {
      printf("\nEl cuadrado de %d es %G y es mas grande que el cuadrado de %d que es %G.\n", num1, cuad1, num2, cuad2);
     }

   else
     {
      printf("\nEl cuadrado de %d es %G y es mas grande que el cuadrado de %d que es %G.\n", num2, cuad2, num1, cuad1);
     }

   return 0;
}



Ejercicio 4

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{

   int num;

   printf("Escribe un numero: ");
   scanf("%d", &num);

   if(num % 2 == 0)
    {
     printf("\nEl numero es par.\n");
    }

   else
    {
     printf("\nEl numero es impar.\n");
    }

   return 0;
}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por m0skit0 »

flood escribió:No entendí que quisiste decir con descolgado :tongue:

Nadie dijo eso. Dije "descolocado", a ver si prestamos atención a lo que leemos. Me refiero a cómo formateas tu código. Por ejemplo, el ejercicio 3 debería ser así:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{

   int num1, num2;
   double cuad1, cuad2;

   printf("Introduce un numero: ");
   scanf("%d", &num1);

   printf("\nIntroduce otro numero: ");
   scanf("%d", &num2);

   cuad1 = num1*num1;
   cuad2= num2*num2;

   if(num1==num2)
   {
      printf("El cuadrado de ambos numeros son iguales: %G", cuad1);
   }

   else if(num1 > num2)
   {
      printf("\nEl cuadrado de %d es %G y es mas grande que el cuadrado de %d que es %G.\n", num1, cuad1, num2, cuad2);
   }

   else
   {
      printf("\nEl cuadrado de %d es %G y es mas grande que el cuadrado de %d que es %G.\n", num2, cuad2, num1, cuad1);
   }

   return 0;
}

Las llaves van al mismo nivel que el bloque que delimitan. El formateo es con tabulaciones, no con espacios.

flood escribió:lo de no necesitan calcular los cuadrados como que a esa parte no le entendí muy bien

Pues que si num1>num2 entonces num1*num1>num2*num2. Por tanto no necesitas calcular num1*num1 ni num2*num2 para poder decir cuál es más grande.

Saludos
Imagen

JeFNDZ
Habitual
Habitual
Mensajes: 378
Registrado: 11 Sep 2009, 06:44

Re: [Curso] Introducción a la programación en C (VI)

Mensaje por JeFNDZ »

Aquí esta el primero:
Spoiler:

Código: Seleccionar todo

#include "stdio.h"

int main(int argc, char* argv[])
{

   int numSecreto , numIntroducido;

   printf ("<Adivina el numero Secreto>\n***********************\n\");
   printf ("\n");

   //para pedir y almacenar los numeros
   printf ("El primer jugador escriba el numero Secreto: <Con rango del 0 al 9> \n");
   scanf ("%d", &numSecreto);

   printf ("El segundo jugador Trate de adivinar el numero -Escriba cualquier numero de 0 al 9\n");
   scanf ("%d", &numIntroducido);

   
  //muestra el resultado
   if (numIntroducido > numSecreto)
      printf ("Te has pasado...\n");

   if (numIntroducido == numSecreto)
      printf ("Haz dado en el clavo! !Adivinaste el numero!\n");

   if (numIntroducido < numSecreto)
      printf ("Te haz quedado corto\n");

   //Linea en blanco
   printf ("\n");

   return 0;
}

El segundo:
Spoiler:

Código: Seleccionar todo

#include "stdio.h"

int main (int argc, char* argv[])
{
   int numero1 , numero2;

   printf("\n");

   //Pide y almacena los dos numeros
   printf ("Intrduzca el primer numero a comparar: \n");
   scanf ("%d", &numero1);

   printf ("Introduzca el segundo numero: \n");
   scanf ("%d", &numero2);

   //para mostrar el mayor o si son iguales
   if ( numero1 == numero2 )
      printf ("Los numeros son iguales.\n");

   if ( numero1 > numero2 )
      printf ("El primer numero es mayor que el segundo.\n");


   if ( numero2 > numero1 )
      printf("El segundo numero es mayor que el primero.\n");

   //linea en blanco
   printf ("\n");

return 0;
}


El tercero:
Spoiler:

Código: Seleccionar todo

#include "stdio.h"

int main (int argc, char* argv[])
{

  float num1 , num1pot;
  float num2 , num2pot;

   printf ("\n");
   printf ("Comparacion de potencias...\n******************************\n");

   //pide y almacena los numeros
   printf ("Por favor introduzca el primer numero: \n");
   scanf ("%f", &num1);

   printf ("Introduzaca el segundo numero: \n");
   scanf ("%f", &num2); 

   //Calcula las potencias
   num1pot = num1 * num1;
   num2pot = num2 * num2;

   //Muestra las potencias
   printf ("La potencia del primer numero es %f y la del segundo es %f.\n", num1pot , num2pot);

   //si son iguales
   if (num1pot == num2pot)
      printf ("Las potencias son iguales.\n");

   //Para saber cual es mayor
   if (num1pot > num2pot)
      printf ("La potencia de %f es mayor a la de %f.\n", num1 , num2);

   if (num2pot > num1pot)
      printf ("La potencia de %f es mayor que la de %f.\n", num2 , num1 );

   //Linea en blanco
   printf ("\n");

return 0;
}



Y el cuarto:
Spoiler:

Código: Seleccionar todo

#include "stdio.h" 

int main (int argc, char *argv[])
{

  int numero , numero1;
 

   //pide el numero
   printf ("\n");
   printf ("Por favor introduzca un numero para comprobar si es par: ");

   //almacena el numero del usuario
   scanf ("%d", &numero);

   numero1 = numero % 2;

   if (numero1 == 0)
      printf("Enhorabuena el numero es par...\n");

   else
      printf ("El numero no es par...\n");
      printf ("\n");

return 0;
}


Responder