Página 20 de 25

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

Publicado: 01 Feb 2011, 09:20
por m0skit0
JeF-G escribió:El primero:

Código: Seleccionar todo

if (numero == 10)
{
   printf ("Felicitaciones por selecionar el cien!\n");
}

Pues no. ¿Y el 101? ¿102? ¿103? :roll:

JeF-G escribió:El segundo:

Código: Seleccionar todo

  if (operacion > 4)
  {
     printf ("Debes elegir el numero de una operacion melon.\n");
  }

Melón tú :lol: ¿Y si meto -2? :twisted:

Código: Seleccionar todo

      //Resuelve operaciones
      suma = num1 + num2;
      resta = num1 - num2;
      producto = num1 * num2;
      division = num1 / num2;

¿Para qué haces 4 operaciones cuando sólo se te está solicitando una?

Venga, a por ello :oki:

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

Publicado: 02 Feb 2011, 02:02
por JeFNDZ
m0skit0 escribió:Pues no. ¿Y el 101? ¿102? ¿103? :roll:

¿Te refieres a añadir otra decena?
Aqui esta con otra decena:
Spoiler:

Código: Seleccionar todo

#include "stdio.h"

int main (int argc, char* argv[])
{
    int numero;
   
    //Solicita el numero
    printf ("Introduce un numero del 0 al 100:\n");
    scanf ("%d", &numero);
   
    numero = numero / 10;
   

    switch (numero)
    {
           
           case 0:
                printf ("Esta en la primera decena.\n");
                break;
           
           case 1:
                printf ("Esta en la segunda decena.\n");
                break;
           
           case 2:
                printf ("Esta en la tercera decena.\n");
                break;
           
           case 3:
                printf ("Esta en la cuarta decena.\n");
                break;
           
           case 4:
                printf ("Esta en la quinta decena.\n");
                break;
           
           case 5:
                printf ("Esta en la sexata decena.\n");
                break;
           
           case 6:
                printf ("Esta en la septima decena.\n");
                break;
           
           case 7:
                printf ("Esta en la octava decena.\n");
                break;
           
           case 8:
                printf ("Esta en la novena decena.\n");
                break;
           
           case 9:
                printf ("Esta en la decima decena.\n");
                break;
           
           case 10:
                printf ("Esta en la decimoprimera decena.\n");
                break;
           
           default:
                printf ("Tiene que ser entre 0 y 100 Melon.\n");
    }
   
    return 0;
}

En el segundo espero aver corregido todo:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
  float num1 , num2;
  int operacion;
 
  printf ("Escriba el numero de la operacion que desea hacer:\n1 Suma\n2 Resta\n3 Multiplicacion\n4 Division\n");
  printf ("Numero: ");
  scanf ("%d", &operacion);
 
  if (operacion > 4)
  {
      printf ("Debes elegir el numero de una operacion melon.\n");
  }
 
  else if (operacion < 1)
  {
      printf ("No puede ser negativo (debe ser entre +1 y +4).\n");
  }
 
  else
  {   
      //Solicita el primer numero
      printf ("Introduzca el primer numero:\n");
      scanf ("%f", &num1);
 
      //Solicita el segundo numero
      printf ("Introduzca el segundo numero:\n");
      scanf ("%f", &num2);
     
 
      switch (operacion)
      {
             case 1:
                  printf("La suma de los numeros es: %f\n", num1 + num2);
                  break;
           
             case 2:
                  printf ("La resta de los numeros es: %f\n", num1 - num2);
                  break;
             
             case 3:
                  printf ("La multiplicacion de los numeros es: %f\n", num1 * num2);
                  break;
             
             case 4:
                  printf ("La division de los numeros es: %f\n", num1 / num2);
                  break;                       
      }           
  }
 
  return 0;
}

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

Publicado: 02 Feb 2011, 09:02
por m0skit0
JeF-G escribió:¿Te refieres a añadir otra decena?

No, me refiero a que si meto 105, tu programa me dice: Felicitaciones por selecionar el cien!. Esto está mal. Nadie ha dicho de poner otra decena, sino que soluciones ese comportamiento erróneo. No inventes requisitos ;)

JeF-G escribió:En el segundo espero aver corregido todo:

"haber" :roll:

Código: Seleccionar todo

  if (operacion > 4)
  {
      printf ("Debes elegir el numero de una operacion melon.\n");
  }
 
  else if (operacion < 1)
  {
      printf ("No puede ser negativo (debe ser entre +1 y +4).\n");
  }

Se puede dar por válido, pero realmente Debes elegir el numero de una operacion melon te vale para cambas condiciones, no hace falta una explícitamente para negativos. Pon ambas condiciones en el mismo if con el mismo mensaje.

En cuanto al switch, está bien, no hay pegas. Ahora intenta hacerlo parecido a como lo tenías antes

Código: Seleccionar todo

//Resuelve operaciones
suma = num1 + num2;
resta = num1 - num2;
producto = num1 * num2;
division = num1 / num2;

pero sólo haciendo la operación que se pida.

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

Publicado: 02 Feb 2011, 18:55
por JeFNDZ
Aquí estan los dos ejercicios de nuevo :D .

El primero:
Spoiler:

Código: Seleccionar todo

#include "stdio.h"

int main (int argc, char* argv[])
{
    int numero;
   
    //Solicita el numero
    printf ("Introduce un numero del 0 al 100:\n");
    scanf ("%d", &numero);
   
   
   
if (numero == 100)
   {
    printf ("Es el cienesimo...\n");
   }
   
   else
   {
        numero = numero / 10;
           
        switch (numero)
        {
               
               case 0:
                    printf ("Esta en la primera decena.\n");
                    break;
               
               case 1:
                    printf ("Esta en la segunda decena.\n");
                    break;
               
               case 2:
                    printf ("Esta en la tercera decena.\n");
                    break;
               
               case 3:
                    printf ("Esta en la cuarta decena.\n");
                    break;
               
               case 4:
                    printf ("Esta en la quinta decena.\n");
                    break;
               
               case 5:
                    printf ("Esta en la sexata decena.\n");
                    break;
               
               case 6:
                    printf ("Esta en la septima decena.\n");
                    break;
               
               case 7:
                    printf ("Esta en la octava decena.\n");
                    break;
               
               case 8:
                    printf ("Esta en la novena decena.\n");
                    break;
               
               case 9:
                    printf ("Esta en la decima decena.\n");
                    break;
               
               default:
                    printf ("Tiene que ser entre 0 y 100 Melon.\n");
        }
   }
    return 0;
}

El segundo:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
  float num1 , num2;
  int operacion;
  float suma , resta , producto , division;
 
  //Solicita el numero para la opercion
  printf ("Escriba el numero de la operacion que desea hacer:\n1 Suma\n2 Resta\n3 Multiplicacion\n4 Division\n");
  printf ("Numero: ");
  scanf ("%d", &operacion);
 
  if (operacion < 1 || operacion > 4)
  {
      printf ("Debes elegir el numero de una operacion melon.\n");
  }
 
  else
  {   
      //Solicita el primer numero
      printf ("Introduzca el primer numero:\n");
      scanf ("%f", &num1);
 
      //Solicita el segundo numero
      printf ("Introduzca el segundo numero:\n");
      scanf ("%f", &num2);
     
 
      switch (operacion)
      {
             case 1:
                  suma = num1 + num2;
                  printf("La suma de los numeros es: %f\n", suma);
                  break;
           
             case 2:
                  resta = num1 - num2;
                  printf ("La resta de los numeros es: %f\n", resta);
                  break;
             
             case 3:
                  producto = num1 * num2;
                  printf ("La multiplicacion de los numeros es: %f\n", producto);
                  break;
             
             case 4:
                  division = num1 / num2;
                  printf ("La division de los numeros es: %f\n", division);
                  break;                       
      }           
  }
 
  return 0;
}

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

Publicado: 02 Feb 2011, 19:24
por m0skit0
Están muy bien, pero te sigo dando la vara :lol:

JeF-G escribió:float suma , resta , producto , division;

¿4 variables cuando sólo vas a usar una? ;)

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

Publicado: 02 Feb 2011, 20:30
por JeFNDZ
Ya esta:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
  float num1 , num2 , numOper;
  int operacion;
 
  //Solicita el numero para la opercion
  printf ("Escriba el numero de la operacion que desea hacer:\n1 Suma\n2 Resta\n3 Multiplicacion\n4 Division\n");
  printf ("Numero: ");
  scanf ("%d", &operacion);
 
  if (operacion < 1 || operacion > 4)
  {
      printf ("Debes elegir el numero de una operacion melon.\n");
  }
 
  else
  {   
      //Solicita el primer numero
      printf ("Introduzca el primer numero:\n");
      scanf ("%f", &num1);
 
      //Solicita el segundo numero
      printf ("Introduzca el segundo numero:\n");
      scanf ("%f", &num2);
     
 
      switch (operacion)
      {
             case 1:
                  numOper = num1 + num2;
                  printf("La suma de los numeros es: %f\n", numOper);
                  break;
           
             case 2:
                  numOper = num1 - num2;
                  printf ("La resta de los numeros es: %f\n", numOper);
                  break;
             
             case 3:
                  numOper = num1 * num2;
                  printf ("La multiplicacion de los numeros es: %f\n", numOper);
                  break;
             
             case 4:
                  numOper = num1 / num2;
                  printf ("La division de los numeros es: %f\n", numOper);
                  break;                       
      }           
  }
 
  return 0;
}

PD: Talvez tome un receso en C para avanzar un capitulo en C++.

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

Publicado: 02 Feb 2011, 20:34
por m0skit0
OK :oki:

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

Publicado: 05 Feb 2011, 13:43
por cripii5
Me encanta leer estos post porque me refresco la memoria en cuanto a C++, pero no ando capaz de crear nada, espero volver a los estudios pronto. Primero pones al libreria, luego declaras las variables.... no se porque recuerdo esas cosas y quiero volver a estudiar :cry:

-- Doble Post --

buah, mensaje viejo en este hilo :lol: no pense en aquel entonces que iba a llegar aca con ganas de aprender :lol:

Mi problema es que cuando pongo case con varios numeros, mi tira error, aun con el ejemplo de moskito, me señala la linea con el case que contiene varios numeros, en el caso del ejemplo de moskito seria case 4, 5: y pone
In function "main":
syntax error before "," token
[Build Error] [main.o] Error 1

Tratare de adivinar que me dira moskito.... "No uses Windows" :lol:

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

Publicado: 18 May 2011, 17:53
por m0skit0
Pon el cacho del código que corresponde con dicha parte.

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

Publicado: 18 May 2011, 18:01
por cripii5
Es que, ya dije que me pasa aun con tu ejemplo:

Código: Seleccionar todo

        case 4, 5:
            printf("El cuatro o el cinco!\n");
            break;

C:\Dev-Cpp\main.c In function `main':
25 C:\Dev-Cpp\main.c syntax error before ',' token
C:\Dev-Cpp\Makefile.win [Build Error] [main.o] Error 1

Si a vos te corre tu ejemplo en Linux, entonces el problema es algo fuera de C