[ create a new paste ] login | about

Link: http://codepad.org/3liZYYLe    [ raw code | fork ]

axell13 - C++, pasted on Nov 29:
#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);
}


Create a new paste based on this one


Comments: