elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 04:38  

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  ayuda urgente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda urgente  (Leído 745 veces)
MrC4RL4NG4S

Desconectado Desconectado

Mensajes: 13


Ver Perfil
ayuda urgente
« en: 22 Marzo 2010, 02:34 »

realice este codigo para una calculadora pero a la hora de querar introdicirle comandos como el gotoxy y otros para mejorar la parte visual no me los acepta, quien me puede ayudar con este problema y si me pueden realizar un aporte o mejora sobre el codigo de antemano muchas gracias.

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

main()

{
int opcion,opc;
int num,i;

printf("*********** Menu ***********\n");
printf("¦ 1.Suma                   ¦\n");
printf("¦ 2.Resta                  ¦\n");
printf("¦ 3.Multiplicacion         ¦\n");
printf("¦ 4.Division               ¦\n");
printf("¦ 5.Raiz cuadrada          ¦\n");
printf("¦ 6.Factorial de un numero ¦\n");
printf("¦ 7.Porcentaje             ¦\n");
printf("¦ 0.Salir                  ¦\n");
printf("****************************\n\n\n");

do
{

printf("Elige una opcion:  ");
scanf("%i",&opcion);

switch(opcion)
{

float a;      // Sumando1
float b;      // Sumando2
float c;      // Digito 1
float d;      // Digito 2
float e;      // Digito Mult1
float f;      // Digito Mult2
float g;      // Division* num1
float h;      // Division num2
float i;      // Raiz
float j;
float k;
float m;
float n;
float x;
float y;
float sum;    // resultado de la suma
float rest;   // resultado de la resta
float multi;  // resultado de la multiplicacion
float div;    // resultado de la division
float sqr;    // resultado de la raiz
float porc;   // porcentaje
float exp;
float raiz;

case 0:/*inicia el caso 0: salir*/
printf("\n\n");
break;/*cierra el caso 0*/

case 1:
printf("Introduce el primer sumando:");
scanf("%f",&a);
printf("Introduce el segundo sumando:  ");
scanf("%f",&b);

sum = (a + b);
printf("Resultado de la suma: %.2f\n\n",sum);
break;/*cierra el caso 1*/

case 2:
printf("Introduce el primer digito:  ");
scanf("%f",&c);
printf("Introduce el segundo digito:  ");
scanf("%f",&d);

rest = (c - d);
printf("Resultado de la resta: %.2f\n\n",rest);
break;/*cierra el caso 2*/

case 3:/*inicia el caso 3: multiplicacion*/
printf("Introduce el primer digito:  ");
scanf("%f",&e);
printf("Introduce el segundo digito:  ");
scanf("%f",&f);

multi = (e * f);
printf("Resultado de la multiplicacion: %.2f\n\n",multi);
break;/*cierra el caso 3*/

case 4:/*inicia el caso 4: divicion*/
printf("Introduce el primer digito:  ");
scanf("%f",&g);
printf("Introduce el segundo digito:  ");
scanf("%f",&h);

div = (g / h);
printf("Resultado de la division: %.2f\n\n",div);
break;/*cierra el caso 4*/

case 5:
if (i>=0)
{

printf("Introduce el numero al que quieres sacar raiz:  ");
scanf("%f",&i);
raiz=sqrt(i);
printf("Resultado de la Operacion: %.2f\n\n",raiz);
}
else
{
printf ("el numero introducido no es valido\n");
}
break;/*cierra el caso 5*/

case 6:
printf("inserta el numero:");
scanf("%i",&num);

for(i=1;i<num;i++)
{
multi=multi*i;
printf("Factorial %i\n\n",multi);
}
break;


case 8:
printf("Introduce el digito a sacar porcentaje:");
scanf("%f",&m);
printf("Introduce el digito que determina que porcentaje se sacara:  ");
scanf("%f",&n);
porc = (( m * n) / 100);
printf("Resultado de la operacion: %.2f\n\n",porc);
break;/*cierra el caso 8*/


default:/*inicia el caso de una variable erronea*/
{
printf(" \nOpcion Incorrecta\n\n\n\n");
break;/*cierra el caso de la variable erronea*/
}
}
printf("*****   By juancho  *****\n\n\n");

}while(opcion!=1);

}


En línea
.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: ayuda urgente
« Respuesta #1 en: 22 Marzo 2010, 03:21 »

Bueno lo primero que te recomiendo es... Que uses etiquetas GeSHi para que se entienda mas facilmente el code... segundo que las variables que inicializas dentro del switch las inicialices fuera de él y asi no se creen las variables cada vez que entres a él... tercero que, utilizes dos variables nada mas por ejemplo a y b, y pes como todas esas operaciones necesitan maximo 2 variables, las uses... segundo que veo mal es lo de las opciones del switch o los case's fijate por ejemplo en la opcion 7... y tambien que te fijes en la condicion del while que creo que no es la correcta.... y pes empieza por ahi  :xD.. Espero te haberte ayudado...


En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Didacso

Desconectado Desconectado

Mensajes: 193



Ver Perfil
Re: ayuda urgente
« Respuesta #2 en: 22 Marzo 2010, 21:13 »

Otra cosa que te serviría es agrupar lo que quieres hacer en funciones , por ejemplo crear las funciones
Código
int sumar (int param1, int param2);
int restar(int param1, int param2);
int dividir(int param1, int param2);
etc. etc.......
 
si te das cuenta , todas estas funciones reciben 2 parámetros , entonces te creas u método que los recoja , de ésa manera no repites código
Código
printf("Introduce el primer sumando:");
scanf("%f",&a);
printf("Introduce el segundo sumando:  ");
scanf("%f",&b);
 
si te das cuenta se repite mucho , de esa manera  necesitarías menos variables ,me explico ?
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
MrC4RL4NG4S

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: ayuda urgente
« Respuesta #3 en: 23 Marzo 2010, 03:24 »

muchas gracias ya estoy revisando el programa y reduciendo variables de nuevo muchas gracias...
En línea
willdoxero

Desconectado Desconectado

Mensajes: 16



Ver Perfil
Re: ayuda urgente
« Respuesta #4 en: 23 Marzo 2010, 20:31 »

realice este codigo para una calculadora pero a la hora de querar introdicirle comandos como el gotoxy y otros para mejorar la parte visual no me los acepta, quien me puede ayudar con este problema y si me pueden realizar un aporte o mejora sobre el codigo de antemano muchas gracias.
}

ola, espero aun poder ayudar, sobre el uso de " gotoxy " afuerza necesitas " conio.h "
de borland, o emularlo en el dev, con esta libreria podrás darle la presentacion
que necesitas a tu programa, desde direccionar la lectura de tus variables, hasta
dibujar una calculadora misma y muchas cosas más, sobre tu codigo, lo puedes hacer mucho más pequeño, si aun te interesa escribeme .

saludOS!!
En línea
b10s_0v3rr1d3

Desconectado Desconectado

Mensajes: 185

si puede hacerse debe hacerse


Ver Perfil WWW
Re: ayuda urgente
« Respuesta #5 en: 24 Marzo 2010, 01:23 »


el problema de la libreria 'conio.h' es que no es estandar, es un detalle (de los que tiene) que se tiene que tener en cuenta.....
En línea
willdoxero

Desconectado Desconectado

Mensajes: 16



Ver Perfil
Re: ayuda urgente
« Respuesta #6 en: 24 Marzo 2010, 01:38 »


el problema de la libreria 'conio.h' es que no es estandar, es un detalle (de los que tiene) que se tiene que tener en cuenta.....
Si eso es lo malo de conio.h pero creo yo, es la unica forma de darle la presentacion que requiere MrC4RL4NG4S ante lo citado, de otra forma tndria que imrimir en pantalla caracter por caracter usando el printf para dibujar la calculadora, y de la otra forma ps se ahorraria mucho trabajo, si kieren pidanlo y les muestro un ejemplo de calculadora usando conio.h

Slds!!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines