Título: [Solucionado] Problema con Calculadora Publicado por: Caster en 22 Diciembre 2011, 10:48 am Código: #include <stdio.h> Ej: La acabo de poner a funcionar y si en vez de introducir un numero introduzco una letra hace lo que le da la gana y escribe resultados muy raros, y después también, si elijo la opción incorrecta(se ejecuta el default) pero nose como hacer para que vuelva al incio. PD: He probado con "goto" pero funciona mal y me gustaría prescindir de él. Gracias Edito: He cambiado algunas cosillas del código Título: Re: Problema con Calculadora Publicado por: Sagrini en 22 Diciembre 2011, 15:21 pm Código
El código es muy mejorable, podrías modificarlo para que reconociese si los valores A y B son correctos, podrías cambiar scanf por otra función más segura... etc. Te paso la pelota. ¡Te toca! Un saludo. Sagrini Título: Re: Problema con Calculadora Publicado por: isseu en 22 Diciembre 2011, 15:38 pm ¿quieres hacer una calculadora de verdad?, busca sobre Notacion Polaca o Polaca inversa (http://es.wikipedia.org/wiki/Notaci%C3%B3n_polaca_inversa)
Título: Re: Problema con Calculadora Publicado por: Sagrini en 22 Diciembre 2011, 16:29 pm La notación polaca inversa no se usa mucho, por lo que un programa que funcione con la notación polaca inversa será ineficiente y poco útil.
Yo más bien sugeriría que modificase el programa para que reconociese las operaciones desde los argumentos de main (). Título: Re: Problema con Calculadora Publicado por: Caster en 22 Diciembre 2011, 17:17 pm Eso era lo que yo quería preguntar, ¿como haces para que reconozca A y B cuando son incorrectos?
Edito: Lo he cambiado, y he hecho este: Código Con este código, si cuando elijo la opción incorrecta, me escribe el texto y, automáticamente, se cierra. ¿Como podría hacerlo para que no se cerrase? ¿Lo que utilice para volver a empezar si se da la opción incorrecta también lo podré utilizar para crear un switch con opciones de salir y volver a empezar? Algo así: Código Saludos Título: Re: Problema con Calculadora Publicado por: Ferno en 23 Diciembre 2011, 00:30 am Cuando da la opción incorrecta se cierra porque tienes un return en el default. Con el return ya estás devolviendo un int y cerrando tu función, es decir, el main, y por ende, se cierra el programa. Debes quitar esa instrucción para que no se cierre.
Y si quieres que empiece de vuelta, puedes meter todo en un while y preguntar al usuario si quiere seguir o no, si la respuesta es si, vuelve al while (elige una condición adecuada) y si no, sales! Título: Re: Problema con Calculadora Publicado por: Caster en 23 Diciembre 2011, 09:23 am Aqui está:
Código Pero hay varios problemas, si en los numeros introduzco una letra me va directamente a "system("PAUSE");" y se cierra. Si en las opciones introduzco el numero incorrecto me dice que lo meti mal y me deja volver a empezar, pero si meto una letra me va directamente a system(PAUSE) para cerrarse. Título: Re: Problema con Calculadora Publicado por: Sagrini en 23 Diciembre 2011, 10:40 am http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
Citar Por el otro lado, para evitar esas pausas fastidiosas es necesario evitar las funciones que dejan basura por doquier (como scanf();) y utilizar funciones como la ya mencionada fgets(); Scanf no es muy recomendable, su uso no es muy seguro y el resultado no siempre correcto. Un saludo. Sagrini Título: Re: Problema con Calculadora Publicado por: Caster en 23 Diciembre 2011, 11:34 am Me podéis poner un ejemplo fácil con "fgets()", es que no lo entiendo.
¿Vale para números? Título: Re: Problema con Calculadora Publicado por: Sagrini en 23 Diciembre 2011, 12:23 pm http://foro.elhacker.net/programacion_cc/fgets_para_enteros-t348368.0.html;topicseen :¬¬ :¬¬ :¬¬
|