elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Calculadora basica
« en: 27 Abril 2014, 19:15 pm »

 :laugh:hola lo que pasa es que me dejaron una calculadora basica en c#, de suma,resta division, multiplicacion, division y potencia, para suma,resta,potencia el resultado debe ser en enteros, para multiplicacion en float y division en double hice el codigo pero la multipliccion y division me toma las entradas como enteras elimina el decimal ejemplo 1.5 *2= 2 como puedo solucionarlo aqi el codigo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//Programa de Operaciones
namespace Operaciones
{
    class Program
    {
        //metodos para devolver el valor
        static int Suma(int a1, int a2)
        {
            return a1 + a2;
        }

        static int Resta(int a1, int a2)
        {
            return a1 - a2;
        }

        static float Multiplicacion(float a3, float a4)
        {
            return a3 * a4;
        }

        static double Division(double a1, double a2)
        {
            if (a2 != 0)
            {// Si a2 es distinto de 0...
                return a1 / a2;
            }
            return 0;
        }

        static int Potencia(int a1, int a2)
        {
            int pot = a1;

            for (int i = 1; i < a2; i++)
            {
                pot *= a1;
            }

            return pot;
        }

        // PRINCIPAL DEL PROGRAMA...
        static void Main(string[] args)
        {

            int s1, s2;
            int r1, r2;
            float m1, m2;
            double d1, d2;
            int p1, p2;
            int opcion;

            Console.Write("1º) Suma" + "\n" + "2º) Resta" + "\n" + "3º) Multiplicación" + "\n" + "4º) División" + "\n" + "5º) Potencia " + "\n");
            Console.Write("Seleccione una opción: \n");
            opcion = Convert.ToInt16(Console.Read());
            opcion -= 0x30;
            switch (opcion)
            {

                case 1:
                    Console.WriteLine("Escriba el primer entero: ");
                    Console.ReadLine();
                    s1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero:\n");
                    Console.ReadLine();
                    s2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La suma es: {0}", Suma(s1, s2));
                    break;

                case 2:
                    Console.WriteLine("Escriba el primer entero:");
                    Console.ReadLine();
                    r1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero: ");
                    Console.ReadLine();
                    r2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La resta es:{0}", Resta(r1, r2));
                    break;

                case 3:
                    Console.WriteLine("Escriba el primer numero:");
                    Console.ReadLine();
                    m1 = (Convert.ToSingle(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo numero: ");
                    Console.ReadLine();
                    m2 = (Convert.ToSingle(Console.Read())) - 0x30;
                    Console.WriteLine("La multiplicacion es:{0}", Multiplicacion(m1, m2));
                    break;

                case 4:
                    Console.WriteLine("Escriba el primer numero:");
                    Console.ReadLine();
                    d1 = (Convert.ToDouble(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo numero: ");
                    Console.ReadLine();
                    d2 = (Convert.ToDouble(Console.Read())) - 0x30;
                    Console.WriteLine("La division es:{0}", Division(d1, d2));
                    break;

                case 5:
                    Console.WriteLine("Escriba el primer entero:");
                    Console.ReadLine();
                    p1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero: ");
                    Console.ReadLine();
                    p2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La potencia es:{0}", Potencia(p1, p2));
                    break;

            }
            Console.ReadKey();
        }
    }
}

de antemano gracias  ;D


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Calculadora basica
« Respuesta #1 en: 27 Abril 2014, 20:05 pm »

C# no es lo mismo que C o C++. Es un lenguaje completamente diferente.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Calculadora basica
« Respuesta #2 en: 28 Abril 2014, 09:28 am »

Código
  1. m1 = (Convert.ToSingle(Console.Read())) - 0x30;

por qué restas 0x30??? eso se hace si tienes un carácter que representa un número y quieres obtener el valor numérico correspondiente: '9' - 0x30 = 9.

Pero eso con números de varios dígitos no sirve, tendrías que aplicarlo dígito a dígito.

Además, para terminar, las funciones de Convert.ToAlgo ya están realizando la conversión de un string a un tipo numérico concreto... luego ese 0x30 carece aún más de sentido.

Y para terminar, como digo amchacon, este es un foro de C y C++... el de .Net es otro.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calculadora básica by swik
Scripting
.:Swik:. 1 3,063 Último mensaje 20 Abril 2010, 02:49 am
por BloodyDark
Ayuda con calculadora básica en C
Programación C/C++
wazausky 2 2,509 Último mensaje 12 Marzo 2013, 03:03 am
por rir3760
mi primer programa en asm calculadora muy basica :3
ASM
daryo 1 5,031 Último mensaje 26 Junio 2014, 05:01 am
por Vaagish
hacer es una calculadora básica con un menú interactivo
Programación C/C++
MaximuZ 1 1,830 Último mensaje 24 Mayo 2017, 18:41 pm
por engel lex
Calculadora Basica Html y Php « 1 2 »
PHP
Mwo 11 16,786 Último mensaje 3 Julio 2017, 02:31 am
por Mwo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines