11
Estrutura de Dados / Aula 4 - Modularização de Códigos
« Online: Março 17, 2019, 08:43:14 pm »Citar
Faça uma calculadora com soma, divisão, multiplicação e subtração. Permita ao usuário calcular quantas vezes ele quiser até que ele digite uma opção para sair no menu do seu programa.
Código: C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | #include <iostream>#include <locale.h>#include <strings.h>#include <sstream> //usado na validação de números using std::cout;using std::cin;using std::stof;using std::string;using std::stringstream; float somar (float a, float b);float subtrair (float a, float b);float dividir (float a, float b);float multiplicar (float a, float b); int main (){ setlocale (LC_ALL,""); char opcao=' '; string temp=""; float num1=0, num2=0; cout << "Este programa realiza operações matémáticas simples\n"; cout << "Com dois números reais.\n"; while (true){ cout << "\nEscolha uma operação:\n\n"; cout << "1 - Somar\n"; cout << "2 - Subtrair\n"; cout << "3 - Dividir\n"; cout << "4 - Multiplicar\n"; cout << "s - Sair do programa\n"; cin >> opcao; if (opcao=='s') { cout << "Finalizado pelo usuário."; break; }; cout << "Digite 'm' para voltar ao menu\n"; cout << "Use vírgula como separador decimal.\n"; while (true){ while (true){ cout << "Digite o primeiro número real: "; cin >> temp; if (temp=="m") break; //saio do primeiro stringstream myStream(temp); if (myStream >>num1) break; //sucesso na conversão else cout << "\nNúmero inválido. Tente de novo." << '\n'; }; if (temp=="m") break; //saio do segundo while while (true){ cout << "Digite o segundo número real: "; cin >> temp; if (temp=="m") break; stringstream myStream(temp); if (myStream >>num2) break; //sucesso na conversão else cout << "\nNúmero inválido. Tente de novo." << '\n'; }; if (temp=="m") break; if (opcao=='1') somar(num1, num2); if (opcao=='2') subtrair(num1, num2); if (opcao=='3') dividir(num1, num2); if (opcao=='4') multiplicar(num1, num2); }; }; return 0;} float somar (float a, float b){ cout << "O resultado da soma de " << a << " e " << b << " é: " << a+b <<"\n\n"; };float subtrair (float a, float b){ cout << "O resultado da subtração de " << a << " e " << b << " é: " << a-b <<"\n\n"; };float dividir (float a, float b){ if (b==0) cout << "Não é possível dividir por zero. \n"; else cout << "O resultado da divisão de " << a << " e " << b << " é: " << a/b <<"\n\n"; };float multiplicar (float a, float b){ cout << "O resultado da multiplicação de " << a << " e " << b << " é: " << a*b <<"\n\n";}; |