Calculadora básica en C

Iniciado por Metadato, Julio 09, 2013, 04:07:33 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 09, 2013, 04:07:33 PM Ultima modificación: Septiembre 09, 2015, 06:01:49 AM por rollth


Hola a todos, pues recien me he introducido en este mundillo del C / C++ y quisiera compartir mi primer trabajillo, y que ustedes me digan posibles fallos que tenga o cosas que pueda mejorar, gracias!!!

Código: c

#include <stdio.h>

int main(){
   printf("####################################\n");
   printf("## Calculadora basica by Metadato ##\n");
   printf("####################################\n");

   char operaciones;
   printf("Suma (S), Resta (R), Multiplicacion (M), Division (D): ");
   scanf("%c",&operaciones);

   switch(operaciones){
    case 'S' :
    int sa,sb;
    printf("Define 2 numeros que quieras sumar:\n");
    scanf("%d %d",&sa,&sb);
    printf("%d + %d = %d",sa,sb,sa+sb);
    break;
    case 'R' :
    int ra,rb;
    printf("Define 2 numeros que quieras restar:\n");
    scanf("%d %d",&ra,&rb);
    printf("%d - %d = %d",ra,rb,ra-rb);
    break;
    case 'M' :
    int ma,mb;
    printf("Define 2 numeros que quieras multiplicar:\n");
    scanf("%d %d",&ma,&mb);
    printf("%d * %d = %d",ma,mb,ma*mb);
    break;
    case 'D' :
    int da,db;
    printf("Define 2 numeros que quieras dividir:\n");
    scanf("%d %d",&da,&db);
    printf("%d / %d = %d",da,db,da/db);
    break;

    default : puts("Error!! Quizas hayas escrito la letra en minuscula...");
   }
    return 0;
}


PD: Se podría cambiar las variables enteras por las de tipo flotante para los decimales.

Saludos!!  8)

Declara dos variables para todas las operaciones y no hagas esto:

Código: C
int sa,sb;
int ra,rb;
int ma,mb;
int da,db;


Y tabula un poco el código para que se pueda leer mejor.

un saludo.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Declara dos variables para todas las operaciones y no hagas esto:

Código: C
int sa,sb;
int ra,rb;
int ma,mb;
int da,db;


Y tabula un poco el código para que se pueda leer mejor.

un saludo.

Grácias. ¿Qué tal así?

Código: c

#include <stdio.h>

int main(){
   printf("####################################\n");
   printf("## Calculadora basica by Metadato ##\n");
   printf("####################################\n");

   char operaciones;
   printf("Suma (S), Resta (R), Multiplicacion (M), Division (D): ");
   scanf("%c",&operaciones);

   switch(operaciones){
    float a,b;

    case 'S' :
    printf("Define 2 numeros que quieras sumar:\n");
    scanf("%f %f",&a,&b);
    printf("%.2f + %.2f = %.2f",a,b,a+b);
    break;

    case 'R' :
    printf("Define 2 numeros que quieras restar:\n");
    scanf("%f %f",&a,&b);
    printf("%.2f - %.2f = %.2f",a,b,a-b);
    break;

    case 'M' :
    printf("Define 2 numeros que quieras multiplicar:\n");
    scanf("%f %f",&a,&b);
    printf("%.2f * %.2f = %.2f",a,b,a*b);
    break;

    case 'D' :
    printf("Define 2 numeros que quieras dividir:\n");
    scanf("%f %f",&a,&b);
    printf("%.2f / %.2f = %.2f",a,b,a/b);
    break;

    default : puts("Error!! Quizas hayas escrito la letra en minuscula...");
   }

    return 0;
}


Saludos compañero!!


Te dejo el código un poco más corto:

Código: c

#include <stdio.h>

int main(){
   printf("####################################\n");
   printf("## Calculadora basica by Metadato ##\n");
   printf("####################################\n");

   char operaciones;
   float a,b;
   printf("Suma (S), Resta (R), Multiplicacion (M), Division (D): ");
   scanf("%c",&operaciones);
   
   printf("Ingresa los operandos:\n");
   scanf("%f %f",&a,&b);

   switch(operaciones){

    case 'S' :
    printf("%.2f + %.2f = %.2f",a,b,a+b);
    break;

    case 'R' :
    printf("%.2f - %.2f = %.2f",a,b,a-b);
    break;

    case 'M' :
    printf("%.2f * %.2f = %.2f",a,b,a*b);
    break;

    case 'D' :
    printf("%.2f / %.2f = %.2f",a,b,a/b);
    break;

    default : puts("Error!! Quizas hayas escrito la letra en minuscula...");
   }

    return 0;
}


Sa1uDoS