codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdio.h> #include <Windows.h> #include <string> #include <iostream> using namespace std; int main(){ double ns[3] = {0, 0, 0}; string strs[2] = {"+", "s"}; while(strs[1] == "s" || strs[1] == "S"){ printf("O Ultimo Resultado Foi = %g", ns[2]); //Se No Seu Visual Studio Aparecer Que ("printf" is ambiguous), É Normal, Está Dizendo Isso Porque Eu Deveria Tar Usando "cout" Mas Roda De Boa :D printf("\n\nOperacoes Disponiveis (+, -, *, /)"); printf("\n\nExemplos: (4 + 3) (4- 3) (4 * 3.3) (4/ 2.3)"); printf("\n\nSeparada Por Espacos Digite A Operacao: "); cin >> ns[0] >> strs[0] >> ns[1]; //Entrada Para As Variaveis ns[0] strs[0] ns[1] if (strs[0] == "+"){ ns[2] = ns[0] + ns[1]; } else if (strs[0] == "-"){ ns[2] = ns[0] - ns[1]; } else if (strs[0] == "*"){ ns[2] = ns[0] * ns[1]; } else if (strs[0] == "/"){ ns[2] = ns[0] / ns[1]; } else if (strs[0] != "+" || strs[0] != "-" || strs[0] != "*" || strs[0] != "/"){ //Detecta Se O Conteúdo Da strs[0], É Valido Para Operações cout << "\nOperador Nao Definido (" << strs[0] << ")\n\n"; //Se For Inválido, Mostro Que N Foi Definido Um Operador Válido, Mais A Baixo Vc Vai Inteder Pq N Usei O cout Invez Do printf system("pause"); //Dou Um Pause, Aguardando O Pressionamento De Uma Tecla return 0; //E Fecho O Programa } printf("\n%g", ns[0]); //Se Você Percebeu Eu Fiz Dois Printf E Um cout cout << " " << strs[0] << " "; //Pq Não Da Pra Colocar String No Printf Usando Uma Variavel Do Tipo string printf("%g = %g\n", ns[1], ns[2]); //Pq String Não É Um Tipo De Variável Normal No C++ Você Tem Que Importar Uma Bibliotca Para Usar Elas //A Não Ser Que Você Esteja Fazendo Um Programa Com Interface Gráfica Ai Lá A String É Declarada Assim System::String^ hue = "BR"; Ou Se Você Estiver Usando O namespace System, Você Só Coloca String^ hue = "BR"; //E O Tipo char Dava Problema Quando O Usuário Não Digitava Um Operador Normal Exemplo (//22) //Ele Guardou Na Variavel O Valor "/" Pq É O Primeiro Elemento De (//22) Ai A Variavel Passa Pelo If Como FALSE E Faz Os Calculos Mas No Final O Programa Da Erro //Agora Por Exemplo Se O Usuário Digitasse O Operador Como (a) No Exemplo (3 a 2) Ai Passa No If Como TRUE Afinal "a" É Diferente De / + - ou * Então Mostra O Operador E Fecha O Programa //Se Eu Colocasse printf(" %s ",strs[0]) Daria Um Erro, O printf É Da Linguagem C E No C Não Existe String Lá Uma "string" É Um Array De char, Exemplo: char hue[2] = "BR"; //Ai Eu Imendei Um printf Com O cout, cout É A Função De Saída Verdadeira Do C++ (c out) //Mesmo printf Sendo Do C, Eu Prefiro O Printf Pq //As Coisas Ficam Bem Mais Organizadas, Legiveis E Intendiveis //O Correto Para Mostrar O Resultado Seria cout << "\n" << ns[0] << " " << strs[0] << " " << ns[1] << " = " << ns[2] //Agora Olha A Diferença Com O printf("\n%g %c %g = %g", ns[0], strs[0], ns[1], ns[2]); //Da Pra Entender Bem Melhor, Como As Coisas Vão Sair Na Tela =D //Mas Eu Poderia Usar Assim printf("%g %s %g = %g\n", ns[0], strs[0].c_str(), ns[1], ns[2]); //c_str() É Uma Função Para Converter string em char printf("\nDeseja Continuar (s-n) ? "); cin >> strs[1]; system("cls"); } printf("Aplicacao Encerrada :(\n\n"); //Saiu Do While Sleep(1500); }
Private
[
?
]
Run code
Submit