Foros del Web » Programación para mayores de 30 ;) » C/C++ »

super calculadora ayuda porfa

Estas en el tema de super calculadora ayuda porfa en el foro de C/C++ en Foros del Web. Hola a todos, primero q nada soy una novata en esto de c++ pero entiendo su poco. En la carera q yo estudio ahora, nos ...
  #1 (permalink)  
Antiguo 06/07/2009, 17:30
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
super calculadora ayuda porfa

Hola a todos,


primero q nada soy una novata en esto de c++ pero entiendo su poco.
En la carera q yo estudio ahora, nos dieron el taller para crear una super calculadora:

1. Revisar si un número A es divisible por B
2. Revisar si un número ingresado es primo o no
3. Encontrar el Mínimo Común Múltiplo de 2 números
4. Encontrar el Máximo Común Divisor de 2 números
5. Dado un número encontrar todos sus divisores
6. Calcular el factorial de un número
7. Dado un número revisar si es cuadrado de algún otro numero entero
8. Imprimir todos los numero primos existentes entre 1 y un número ingresado.
9. Convertir un número de decimal a binario
10. Salir

todo esto hay q hacerlo con un menu...y despues en un main llamar las funciones..
y ahora tengo el problema de que no se como empezar..con la creacion del meu, como se escribe y se hace esto?
Me pueden dar una ayudita con esto..

PD> no es la idea que hagan la calculadora, pero simplemente q me expliquen como hacerlo...y den un empujoncito de por donde y como empezar...

Toda ayuda es super bienvenida..
  #2 (permalink)  
Antiguo 07/07/2009, 03:35
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Creooo que esto lo eh visto donde ya me acorde... inacap, si posteas algo de informacion como un correo de contacto para poder ayudarte, salu2
Cita:
Iniciado por francis997 Ver Mensaje
Hola a todos,


primero q nada soy una novata en esto de c++ pero entiendo su poco.
En la carera q yo estudio ahora, nos dieron el taller para crear una super calculadora:

1. Revisar si un número A es divisible por B
2. Revisar si un número ingresado es primo o no
3. Encontrar el Mínimo Común Múltiplo de 2 números
4. Encontrar el Máximo Común Divisor de 2 números
5. Dado un número encontrar todos sus divisores
6. Calcular el factorial de un número
7. Dado un número revisar si es cuadrado de algún otro numero entero
8. Imprimir todos los numero primos existentes entre 1 y un número ingresado.
9. Convertir un número de decimal a binario
10. Salir

todo esto hay q hacerlo con un menu...y despues en un main llamar las funciones..
y ahora tengo el problema de que no se como empezar..con la creacion del meu, como se escribe y se hace esto?
Me pueden dar una ayudita con esto..

PD> no es la idea que hagan la calculadora, pero simplemente q me expliquen como hacerlo...y den un empujoncito de por donde y como empezar...

Toda ayuda es super bienvenida..
  #3 (permalink)  
Antiguo 07/07/2009, 09:41
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Este es un ejemplo de menu:

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. char* msg(int o);
  4.  
  5. int main()
  6. {
  7.     int opt;
  8.     do{
  9.         //Si utilizas conio2
  10.         //Aqui iria clrsc() para limpiar la pantalla
  11.         std::cout<<"1)Opcion 1"<<std::endl;
  12.         std::cout<<"2)Opcion 2"<<std::endl;
  13.         std::cout<<"3)Salir"<<std::endl;
  14.         std::cin>>opt;
  15.         std::cout<<msg(opt)<<std::endl;
  16.     }while(opt!=3);
  17.     system("PAUSE");
  18.     return 0;
  19. }
  20.  
  21. char* msg(int o)
  22. {
  23.     //Puedes usar switch tambien
  24.     if(o==1)
  25.     {
  26.         char* m="Estas en la opcion 1";
  27.         return m;
  28.     }
  29.     if(o==2)
  30.     {
  31.         char* m="Estas en la opcion 1";
  32.         return m;
  33.     }
  34.     if(o==3)
  35.     {
  36.         char* m="Adios";
  37.         return m;
  38.     }
  39. }
  #4 (permalink)  
Antiguo 07/07/2009, 14:39
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

bueno...la verdad que ahi esta el problema...en el menu posteado, que no entiendo nada...
y es verdad el taller hay q hacerlo para inacap..el ramo de programacion.
Y para añadir un poco de info, nos han explicado breve el void... pero no entiendo mucho..
porfavor ayudaaa
  #5 (permalink)  
Antiguo 07/07/2009, 14:59
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Comencemos:

1- Se mostrará el menú hasta que el usuario ingrese un 3.
---Se despliega el menú mientras opt sea distinto de 3
2-Cuando se elige una opción en este caso 1 y 2 se llama a la función msg la cual puede ser cualquier otra, que inclusive puede mostrar otro menú.
3-En la función msg se evalúa la opción introducida y a partir de ello se devolverá una cadena o mensaje.

Cualquier duda pregunta. ;)
  #6 (permalink)  
Antiguo 07/07/2009, 19:14
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

para crear el menu entonces tendria que ser algo asi?


Código:
int main()

printf("Eliga la operacion que quiere realizar")
printf("1=Revisar si un número A es divisible por B")
printf("2=Revisar si un número ingresado es primo o no")
etc...etc..
hasta llegar a la opcion  10= salir. 
scanf("%d",&op)
pero ahora mi pregunta es, que en este caso la variable que se usa para ingresar la opcion es op, pero este donde lo tengo definir???
  #7 (permalink)  
Antiguo 08/07/2009, 07:43
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Hola francis... Efectivamente estas trabajando en lenguaje C, de ahora en más trataré de ayudarte en este lenguaje.

Bien, a diferencia del mío, el tuyo es correcto, mi unica duda es que si el menú se tiene que mostrar indefinidamente hasta que el usuario desee salir(en tal caso deberías usar la estructura de control do-while)

Tu variable op tiene que ser de tipo int, y puedes declararla localmente en main, o globalmente, antes del main.
  #8 (permalink)  
Antiguo 08/07/2009, 15:41
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Saludos lo puedes hacer usando el famoso do while me explico,
variables
int opcion;

do{
printf("menu");
printf("1-opcion 1");
printf("2-opcion 2");
printf("0-salir");
""
"" hasta terminar tus opciones
printf
printf("Elige una opcion:");
scanf("%d",&opcion);

if(opcion == 1)
intruciones

if(opcion == 2)
intruciones

}while(opcion!=numero que uses en el menu salir preferente "0");


o usas lo mismo si no te gustan los if puedes usar el famoso switch "Case" los casos
es lo mismo pero adiferencia de los if usas el switch( lees la variable "opcion")
y implementas los casos

switch(opcion)
{
/*Variables Caso 1*/
float a;/*Numero1*/
float b;/*Divisor*/
float div;/*resultado de la division*/


case 1:
printf("Introduce el primer Numero:");
scanf("%f",&a);
printf("Introduce el segundo Numero (Divisor):");
scanf("%f",&b);
if(a>b){
div = (a / b);
printf("Resultado es: %.0f\n\n",div);
}else{
printf("No puede ser divisible\n\n");
}
break;/*cierra el caso 1*/
y despues el case 2: y hazi susesivamente ahy esta el primer ejercicio de tu programa si necesitas mas ayuda no dudes en enviar un pm o postear salu2
  #9 (permalink)  
Antiguo 08/07/2009, 15:52
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

SlipknotLiquid, pusiste lo mismo que yo unicamente en c.

Una cosa, cuando se utiliza switch no se acostumbra a crear una estructura para resolver el problema sino directamente se llama a una función. Por otra parte cuando haces switch en case 'x' luego de los 2 puntos debes colocar tus llaves de bloque.
Otra cosa, en los switch tampoco se acostumbra a declarar variables.

un saludo!
  #10 (permalink)  
Antiguo 08/07/2009, 19:47
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Hola, aqui estoy denuevo,

bueno ahora estoy haciendo el codigo para la segunda opcion de la calculadora, osea para ver si es un numero primo.
Pero me manda varios errores al compilar, q no logro sacarles, algien me puede ayudar a encontrarlos.
Aqui estan los errores q me manda:

Código:
C:\Users\Administrador\Desktop\taller\opcion2.cpp: In function `int nprimo(int, int, int, int, int)':
C:\Users\Administrador\Desktop\taller\opcion2.cpp:6: error: invalid operands of types `const char[4]' and `int' to binary `operator&'
C:\Users\Administrador\Desktop\taller\opcion2.cpp:10: error: expected identifier before '(' token
C:\Users\Administrador\Desktop\taller\opcion2.cpp:10: error: expected `;' before '(' token

Execution terminated
Código:
int nprimo (int n, int div, int aux, int m, int p){
    
    printf("Ingrese un numero  ");
    scanf("%d,"&n);
    div=2;
    m=n/2;
    
    while (div<=m)&& (p=1) {
          while (aux>0){
                aux=n;
                aux=aux-div;
                }
                
                if(aux=0){
                          p=0;
                          }else{
                                div=div+1;
                                }
                                
    }
     if (p=1){
              printf("El numero ingresado es un numero primo");
              }else{
                    printf("EL numero ingresado no es un numero primo");
                    
                    }
                    }
  #11 (permalink)  
Antiguo 09/07/2009, 07:42
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Hay una cosa que no entiendo,¿Por qué pasas parámetros y luego le asignas un valor? Creo que no estás entendiendo el concepto de lo que es una función.
  #12 (permalink)  
Antiguo 09/07/2009, 08:04
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

En estos momentos debo salir. Te dejo una función que utilizo generalmente para detectar primos.

Código C:
Ver original
  1. bool buscaprimo( int num)
  2. {
  3.     int PD=2;
  4.     while((PD<=num/2)&& (num&#37;PD!=0)){PD++;}
  5.     if((PD>num/2)&&(num!=1)){return 1;}
  6.     else{return 0;}
  7. }

Luego un ejemplo para utilizarla
Código C:
Ver original
  1. int minumero;
  2. scanf("%d",&minumero);
  3. if(buscaprimo(minumero)){printf("El numero es primo");}
  4. else{printf("El numero es compuesto");}

Recuerda que debes declarar el prototipo de función al comienzo de tu programa.
  #13 (permalink)  
Antiguo 09/07/2009, 13:08
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Cita:
Iniciado por FTech Ver Mensaje
Hay una cosa que no entiendo,¿Por qué pasas parámetros y luego le asignas un valor? Creo que no estás entendiendo el concepto de lo que es una función.
le asigne un valor por q me estaba dando un error el codigo..y pense que el error estaba por ahi, entonces le di un valor para ver si era por ahi el error, por que me daba un error por una variable.
  #14 (permalink)  
Antiguo 09/07/2009, 13:21
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: super calculadora ayuda porfa

Cita:
Iniciado por francis997 Ver Mensaje
le asigne un valor por q me estaba dando un error el codigo..y pense que el error estaba por ahi, entonces le di un valor para ver si era por ahi el error, por que me daba un error por una variable.
Te digo la verdad, no entiendo como te expresas. Igualmente te recomiendo que leas este link. Luego trata de interpretar como trabaja mi función.

Intenta ser un poco más clara en lo que tratas de explicar así otros usuarios no quedan vacilantes en el tema.

Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:04.