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 - droken26

#11
Programación C/C++ / Acabar ejecucion pulsando 0
20 Febrero 2015, 16:38 PM
Estoy realizando un ejercicio el cual me piden que calcule numeros primos y una vez calculado vuelva a preguntar si quiere volver a calcular nuevamente otro numero. El programa se va ejecutando digamos en Bucle hasta que pulsemos 0

Ahi es donde tengo el problema no se donde poner esa condicion ni de que forma, asi de como indicarle nuevamente que haga la pregunta de si quiere volver a calcular un nuevo numero primo.

Os dejo el codigo.

Espero que alguien me ponga sobre la pista porque estoy "aburrido", ademas de estar empezando en este mundo.

Muchas gracias y un saludo

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   int n, c, divisores;
 
   do{
       printf("Introduzca un numero entero positivo para verificar si es o no primo:\n");
       scanf("%d",&n);
       
       
   }while (n<0);
   
   divisores = 0;
   
   for(c=2; c<=n/2; c++)
       
       if (n%c == 0)
           
           divisores++;
   if (divisores >= 1) printf ("%d no es primo\n", n);
   else printf ("%d es primo\n",n);
   
   if(n==0)
   printf("Fin del Programa\n");
   
   {
       
   return(0);
       }
}


Mod: Mensaje modificado, al publicar código usa etiquetas GeSHi
#12
Programación C/C++ / Re: Calculo factor
17 Febrero 2015, 23:26 PM
ok, mil gracias
Saludos
#13
Programación C/C++ / Re: Calculo factor
17 Febrero 2015, 22:43 PM
Pero donde lo inserto en la linea 30?


Gracias
#14
Programación C/C++ / Re: Calculo factor
17 Febrero 2015, 22:35 PM
Te pongo el ejemplo de calculo, solo faltaria ponerle la condicion de que si es 0 muestre error y nuevamente haga la pregunta de ingresar numero entero.

Código (cpp) [Seleccionar]
#include <stdio.h>

void main()
// Realizamos un menu al objeto que el usuario elija la operacion deseada
   
   {
int num;
   printf("Seleccione la operación que desee realizar \n \n");
   printf("1- Factorial de un numero \n");
   printf("2- xxxxxx \n");
   printf("3- xxxxxxx \n");
   
   scanf("%d",&num);
   switch(num)
   {
       case 1:{
 // Inicio Funcion
 
 unsigned long int N,      /* Número del que calcularemos el factorial */
                   fact=1; /* Factorial calculado */

 printf("\n Dame el numero para calcular su factorial: ");
 scanf("%lu", &N);

 if (N>=2)
    do {
       fact=fact*N;
       N--;
    } while (N>=2);

 printf("\nEl factorial es: %lu.\n", fact);
system("pause");
}
}
}


Mod: mensaje modificado, al publicar codigo, usa las etiquetas GeSHi
#15
Programación C/C++ / Calculo factor
17 Febrero 2015, 22:16 PM
Muy buenas a todos, estoy realizando un pequeño programa que calcule un numero factorial, el cual ya lo tengo planteado con la estructura do..while, pero quiero que  cuando me pida el numero a calcular le pongo 0, me salga un mensaje de error y me diga que debo ingresar de nuevo un numero distinto a 0 y vuelva a ejecutarse la sentencia.

Muchas gracias
Un saludo

#16
Ok, muchas gracias, solucionado

Saludos
#17
Gracias engel lex, he seguido tus indicaciones lo que he realizado es:

if ((c<=0) && (d<=0))
            printf("¡¡¡Error!!!, Introduzca un numero superior...\n");
            else if ((c>0) && (d>0))
            printf("El area del rectangulo es %f \n", (float) c*d);

Pero hay un fallo que no se como resolver, si ingresamos el primer numero y ponemos 0 y el segundo ponemos 5, no sale el aviso del error, es decir deberia haber una condicion de forma que si pones el 0 y despues e 5 tambien te salga el mensaje de error. De que forma podria solucionar el pequeño problema.

Gracias.
#18
Buenas noches, soy nuevo en la programación en C y estoy haciendo un ejercicio, se trata de calcular el area de un cuadrado, rectángulo, triángulo, etc.

Esto lo tengo controlado a través de un menu que da opción de elegir mediante un numero el area que desee calcular, el problema que tengo es que entre los valores introducidos no podrá ser 0 o valor negativo, en caso de introducir alguno de estos datos el programa mostrara un mensaje de error en pantalla y finalizara.

De que forma puedo poner estos argumentos?
Os dejo el código del programa.

Muchas Gracias

#include <stdio.h>


int a;
float cua, rec, tri, cir, rom;
float b,c,d,e,f,g,h,i;
float pi=3.141592;


int main()

{

   
   printf("Seleccione la opcion que desee calcular \n \n");
   printf("1.- CUADRADO: \n");
   printf("2.- RECTANGULO: \n");
   printf("3.- TRIANGULO: \n");
   printf("4.- CIRCULO: \n");
   printf("5.- ROMBO: \n");
   
   scanf("%d", &a);
   
   if(a==1){
       printf("Ingrese el lado del cuadrado: \n");
       scanf("%f", &b);
       cua=(float) b*b;
       printf("El area del cuadrado es: %f \n", cua);
   }

   else if (a==2){
       printf("Ingrese la base y la altura del rectangulo: \n");
       scanf("%f", &c);
       scanf("%f", &d);
       rec=(float) c*d;
       printf("El area del rectangulo es: %f \n", rec);
   }
   else if (a==3){
       printf("Ingrese la base y la altura del triangulo: \n");
       scanf("%f", &e);
       scanf("%f", &f);
       tri=(float) e*f/2.0;
       printf("El area del triangulo es: %f \n", tri);
   }
   else if(a==4){
       printf("Ingrese el radio del circulo: \n");
       scanf("%f", &g);
       cir=(float) pi*g*g;
       printf("El radio del circulo es: %f \n", cir);
   }
   else if(a==5){
       printf("Ingrese la Diagonal mayor y la Diagonal Menor;\n");
       scanf("%f", &h);
       scanf("%f", &i);
       rom=(float) h*i/2.0;
       printf("El area del rombo es: %f \n", rom);
   }
   
   return 0;

}


Mod: Cuando publiques codigo, usa las etiquetas GeSHi