Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - skatres

#11
Cita de: RyogiShiki en 20 Noviembre 2011, 20:18 PM
Lo que haces es un loop que se repite hasta que el dato ingresado sea el correcto:


scanf("%d", &lado_mayor);
while (lado_mayor < lado_menor) {
   printf("El lado mayor tiene que ser mayor que el menor");
   scanf("%d", &lado_mayor);
}


o


int error_flag = 0;

do {
 error_flag = 0;
 //pedir valor
 scanf("%d", &lado_mayor);
 if (lado_mayor < lado_menor) {
   erro_flag = 1;
   //mostrar algún error
 }
 
} while (error_flag);




Saludos

Gracias!!.No termino de comprender la primera opcion, podrías explicarme como debería de ir, porque amí me sale un bucle infinito, siento las molestias
#12
Hola a todos, en mi intento de seguir aprendiendo en esto de la programacion, me surgió esta duda, que no consigo encontrar por internet, la cual es la siguiente:

Dispongo de este programa:

/*Escribe un programa que pregunte al usuario los dos lados de un rectángulo y
presente por pantalla el cálculo del perímetro (suma de los lados) y el área (base por
altura).*/

# include <stdio.h>
# include <stdlib.h>

int main()
{ int lado_menor,lado_mayor,base,altura,perimetro,area;

      printf("\n Introduce el valor del lado menor:");
      scanf("%d",&lado_menor);
     
      printf("\n Introduce el valor del lado mayor:");
      scanf("%d",&lado_mayor);
     
                              if(lado_mayor<lado_menor)
                                                       printf("El lado mayor tiene que ser mayor que el menor");
                                                       
                                                       else
                                                       
     
      printf("\n Introduce el valor de la base:");
      scanf("%d",&base);
     
      printf("\n introduce el valor de la altura:");
      scanf("%d",&altura);
     
      perimetro=(lado_menor*2)+(lado_mayor*2);
      area=(base*altura);
     
      printf("\n El perimetro es:%d",perimetro);
   
      printf("\n El area es:%d",area);



system("Pause");
return 0;
   



Bien pues me gustaría saber como puedo retornar , en caso de que el valor del lado mayor sea menor, a la pregunta de introducir el lado mayor.
#13
Cita de: satu en 10 Noviembre 2011, 21:44 PM
Hola

El nuevo valor lo debes pedir cuando c es 0, no al contrario


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b,c,res;
    printf("Hola, ahora introduce una variable: ");
    scanf("%i" ,&a);
    printf("Introduce un segundo valor: ");
    scanf("%i" ,&b);
    printf("No es por ser pesado, pero introduce un tercer valor: ");
    scanf("%i" ,&c);

    if(c==0)
        {
        printf("No se puede dividir entre 0\n");
        do
            {
            printf("Introduce un valor distinto de 0: ");
            scanf("%i",&c);
            }
        while(c == 0);
        }

    res=(a+b)/c;
    printf("El resultado es %i\n", res);

    printf("Presione Enter para salir.....");
    while(getchar()!='\n');
    getchar();
    return 0;
}


Saludos

Perdon la tardanza, muchas gracias por responder!!!
#14
Gracias por los consejos publicados, sin embargo no entiendo como en las universidades , incitan al uso de funciones como <conio.h> o system("pause")
#15
Cita de: тαптяαпсє en 10 Noviembre 2011, 18:47 PM
Tienes un titulo muy raro, para el problema que presentas...

Primero, aprende lo que quieres hacer:

res=("(%i+%i)/%i",(a+b)/c);

Si no le pones parentesis, no te hace correctamente la operacion.

No necesitas conio.h (Aparte que NO SE DEBE usar..)

Y la parte que tu dices que no va, veamos..

pones que si c es igual a 0, muestre por pantalla un texto..

pero luego sigue ejecutandose toddo normalmente, lo que has de hacer, es meter la formula entre un condicional else

Saludos

Claro, ahora me sale, gracias!, ahora mi objetivo es que despues de que el programa te diga que no se puede dividir por 0, salga otra opcion para introducir otra vez el numero "c", llevo intentalo un buen rato pero no doi y con la solucion.

Este es el codigo resultante
#include <stdio.h>
#include <stdlib.h>

int main()
{    int a,b,c,res;
        printf("Hola, ahora introduce una variable:");
        scanf("%i" ,&a);
        printf("Introduce un segundo valor:");
        scanf("%i" ,&b);         
        printf("No es por ser pesado, pero introduce un tercer valor:");
        scanf("%i" ,&c);
                   
                 
                      if(c==0)
                      {
                              printf("No se puede dividir entre 0\n");
                              }       
                             
                              else//En teoria aqui el programa debería de preguntarme para introducir
                              {
                                   
                                   printf("Introduce un valor distinto de 0:");
                                   scanf("%i",&c);
                                 
                                   res=("(%i+%i)/%i",(a+b)/c);
                                           
                                   printf("El resultado es %i\n",res);
                               }
                               
                                 
                     
                     
                     
        system("pause");
        return res;
       
}
#16
Hola, pues en mi intento de seguir aprendiendo sobre este mundillo, sigo haciendo mis pequeños proyectos xD, bueno en este caso he querido hacer un programa en el que dando el usuario tres valores, se realice una operacion

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{    int a,b,c,res;
        printf("Hola, ahora introduce una variable:");
        scanf("%i" ,&a);
        printf("Introduce un segundo valor:");
        scanf("%i" ,&b);         
        printf("No es por ser pesado, pero introduce un tercer valor:");
        scanf("%i" ,&c);
                      if(c==0)
                      {
                              printf("No se puede dividir entre 0\n");// Aquí es donde nose como hacerlo
                             
                              }
                             
       
        res=("%i+%i/%i",(a+b)/c);         
        printf("El resultado es %i\n",res);
       
        system("pause");
        return 0;
       
}



Todo me sale correcto, salvo la parte en la que debería de salir el mensaje de que no se puede dividir por 0. Perdonen si la duda es muy simple o tonta.
#17
Cita de: тαптяαпсє en  8 Noviembre 2011, 20:40 PM
Así.


//Programa que me dé la suma de tres numeros
# include <stdio.h>

int main()
{
    int num1,num2,num3;
    printf("Ahora vamos a ver unas operaciones\n");


    printf("Introduce un numero:", num1,num2,num3);
    scanf("%i %i %i",&num1,&num2,&num3);
    printf("%i+%i+%i=%i",num1,num2,num3,num1+num2+num3);


    return 0;

}

Gracias, ya aprendí como



Cita de: rir3760 en  8 Noviembre 2011, 20:31 PM
Para empezar elimina el uso de <conio.h>, mas informacion en el tema Lo que no hay que hacer en C/C++. Nivel basico.

Para leer tres numeros debes utilizar:
printf("Introduce tres numeros separados por espacios:\n");
scanf("%i %i %i", &num1, &num2, &num3);


Un saludo

De acuerdo, muchas gracias. Gracias tambien por la pagina, le echado un vistazo, y madre mia la de cosas que recomienda no hacer y que el mismo profresor nos "obliga a hacer"(system(pause)) por ejemplo.

#18
Hola a todos, me presento, soy estudiante de 1º de Ingenieria industrial y ya hemos empezado con la programación, algo que me viene en grande xD, bueno pues me he puesto a intentar hacer un programilla pero no me sale , haber si podeis ayudarme, el programa en cuestion me queda esto:

//Programa que me dé la suma de tres numeros
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <stdlib.h>

int main()
{ int num1,num2,num3;
      printf("Ahora vamos a ver unas operaciones\n");
      system("Pause");
     
      printf("Introduce un numero:", num1,num2,num3);
      scanf("%i",&num1,&num2,&num3);
      printf("%i+%i+%i=%i",num1,num2,num3,num1+num2+num3);

   
   
   
    system("Pause");
    return 0;
   
}