Hola! errores no hay, pero algunos te criticarian por usar system() ya que no es una funcion portable...
Cosas para mejorar:
si a las funciones impreciones() y resultado(), los llamas en todos los case ¿no es mejor escribirlas una sola ves? (es como sacar un denominador comun :P)
El switch tiene un default donde se entra si la condicion no coincida con ninguno de los case, ahi podrias poner los printf de los if
Te dejo el codigo un poco mejorado:
Código C:
Ver original/*Calculadora Básica también decimales*/
#include<stdio.h>
#include<stdlib.h>
#define VAR 3
float ope[VAR];
void suma(void);
void resta(void);
void multiplicacion(void);
void divicion(void);
void impreciones(void);
void resultado(void);
void suma(void) {
ope[0]=ope[1]+ope[2];
return;
}
void resta(void) {
ope[0]=ope[1]-ope[2];
return;
}
void multiplicacion(void) {
ope[0]=ope[1]*ope[2];
return;
}
void divicion(void) {
ope[0]=ope[1]/ope[2];
return;
}
void impreciones(void) {
printf("Cual es tu primer valor: "); printf("Cual es tu segundo valor: "); return;
}
void resultado(void) {
printf("Tu resultado es: %.2f\n\n\a",ope
[0]); return;
}
int main (void) {
int op;
int flag; /* este flag va indicar si se ingreso una opcion correcta */
do {
flag=1; /* suponemos q la opcion es correcta, flag toma el valor 1 */
printf(".:CALCULADORA BASICA:.\n\n"); impresiones();
printf("1=Suma\n2=Resta\n3=Multiplicacion\n4=Divicion\n5=Salir\n\nElige una opcion: "); switch(op) {
case 1:
suma();
break;
case 2:
resta();
break;
case 3:
multiplicacion();
break;
case 4:
divicion();
break;
case 5:
printf("FIN DEL PROGRAMA\n\n"); break;
default:
printf("Opcion no valida...\n"); flag=0; /* se ingreso una opcion incorrecta */
break;
}
if(flag==1) /* solo imprime el resultado si se ingreso una opcion valida */
resultado();
} while(op!=5);
return 0;
}
Ojo! que haya mejorado tu codigo no significa que este mal el tuyo, de echo esta perfecto; solo queria mostrart como mejorarlo un poco
Otra cosa que podrias hacer es ingresar directamente los caracteres "+ - * /". Y poner eso en los case del switch, ejemplo:
Código C:
Ver originalprintf("Ingrese la operacion\n"); switch(op) {
case '+':
..........
break;
case '-':
.........
break;
case '*':
..........
break;
case '/':
.........
break;
}
Fijate el uso de las comillas simples
Saludos