Oi galera... Sou novo aqui e já to com uma bronca... Fiz um código em C de uma calculadora, todos os procedimentos respondem normalmente, menos um... O sétimo, que calcula o resto. Acho que errei em alguma coisa, porque toda vez ele da 0 (zero). #include <stdio.h>
#include <math.h>
void soma (float a, float b){
float resp;
resp = a+b;
printf ("\n\aA soma de %.2f por %.2f é %.2f.\n",a,b,resp);
}
void subtracao (float a, float b){
float resp;
resp = a-b;
printf ("\n\aA subtracao de %.2f por %.2f é %.2f.\n",a,b,resp);
}
void multiplicacao (float a, float b){
float resp;
resp = a*b;
printf ("\n\aA multiplicacao de %.2f por %.2f é %.2f.\n",a,b,resp);
}
void divisao (float a, float b){
float resp;
resp = a/b;
printf ("\n\aA divisao de %.2f por %.2f é %.2f.\n",a,b,resp);
}
void quadrado (float a){
float resp;
resp = pow(a,2);
printf ("\n\aO quadrado de %.2f é %.2f.\n",a,resp);
}
void cubo (float a){
float resp;
resp = pow(a,3);
printf ("\n\aO cubo de %.2f é %.2f.\n",a,resp);
}
[b]void resto (int a, int b){
int resp;
resp = (a%b);
printf ("\n\aO resto da divisão de %.2f por %.2f é %.2f.",a,b,resp);
}[/b]
void main(){
float num1, num2;
int val;
printf ("\n ======PROGRAMA CALCULADORA BASICA======\n");
do{
do{
printf ("\nDigite o numero correspondente a operacao que deseja realizar:\n\n1=> Soma\n2=> Subtracao\n3=> Multiplicacao\n4=> Divisao\n5=> Quadrado\n6=> Cubo\n7=> Resto\nDigite:\a ");
scanf ("%i",&val);
fflush (stdin);
if (val<1 || val>7){
printf ("\nVALOR INVALIDO!!!\a\a\a \nDIGITE UM VALOR VALIDO: ");
scanf ("%i",&val);
fflush (stdin);
}
}while (val<1 || val>7);
if (val==1){
printf ("\nDigite o primeiro numero:\a ");
scanf ("%f",&num1);
fflush (stdin);
printf ("\nDigite o segundo numero:\a ");
scanf ("%f",&num2);
fflush (stdin);
soma (num1,num2);
}
else if (val==2){
printf ("\nDigite o primeiro numero:\a ");
scanf ("%f",&num1);
fflush (stdin);
printf ("\nDigite o segundo numero: \a");
scanf ("%f",&num2);
fflush (stdin);
subtracao (num1,num2);
}
else if (val==3){
printf ("\nDigite o primeiro numero: \a");
scanf ("%f",&num1);
fflush (stdin);
printf ("\nDigite o segundo numero: \a");
scanf ("%f",&num2);
fflush (stdin);
multiplicacao (num1,num2);
}
else if (val==4){
printf ("\nDigite o primeiro numero:\a ");
scanf ("%f",&num1);
fflush (stdin);
printf ("\nDigite o segundo numero:\a ");
scanf ("%f",&num2);
fflush (stdin);
divisao (num1,num2);
}
else if (val==5){
printf ("\nDigite o primeiro numero: \a");
scanf ("%f",&num1);
fflush (stdin);
quadrado (num1);
}
else if (val==6){
printf ("\nDigite o primeiro numero: \a");
scanf ("%f",&num1);
fflush (stdin);
cubo (num1);
}
[b]else if (val==7){
printf ("\nDigite o valor do primeiro numero: \a");
scanf ("%f",&num1);
fflush (stdin);
printf ("\nDigite o valor do segundo numero: \a");
scanf ("%f",&num2);
fflush (stdin);
resto (num1,num2);
}[/b]
do{
printf ("\n Deseja executar o programa novamente...\n[1]-SIM\n[2]-não\nDigite: ");
scanf ("%i",&val);
fflush (stdin);
if (val<1 || val>2){
printf ("\nVALOR INVALIDO!!! \nDIGITE UM VALOR VALIDO:\a\a\a ");
scanf ("%i",&val);
fflush (stdin);
}
}while (val<1 || val>2);
}while (val==1);
} Vlw...