• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

zecapistolas

Calculadora C++ com string's

7 mensagens neste tópico

Este é o meu primeiro tópico neste forum, e kero desde já agradecer a kem o tem mantido ON... :cheesygrin:  ;)

Bom, a dúvida (ou desafio, depende do ponto de vista)  :hmm: é: Desenvolver uma Calculadora que aceita uma string e apartir daí descobrir o 1º Número, o Operador(+ - * /) e o 2º Número.... Passo a exemplificar:

>5 + 6

11

>+9 * -7

-63

O programa termina com a mensagem OFF, e s por acaso o utilizador introduzir algum caracter diferente de + - * / diz Operador Desconhecido....  :ipool:

Aguardam-se soluções....  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixa-me ver se eu percebi: estas-nos a lançar um repto para que nós resolvamos aquilo que tu tens de fazer?

Acho que não entraste pelo melhor pé... ;) Seja como for coloca as tuas questões concretas de forma concisa sobre aquilo que tens dúvidas.

PS: Bem-vindo ao fórum.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixa-me ver se eu percebi: estas-nos a lançar um repto para que nós resolvamos aquilo que tu tens de fazer?

Acho que não entraste pelo melhor pé... ;) Seja como for coloca as tuas questões concretas de forma concisa sobre aquilo que tens dúvidas.

PS: Bem-vindo ao fórum.

:nono: Não é bem isso... eu tenho várias duvidas sobre este determinado programa, k tenho k fazer (isso é verdade)... Mas só tou a pedir ajuda, ñ k o façam!!.... Bom, então definindo as minhas primeiras duvidas:

1. Como é k divido a string d modo a poder obter o numero1, operador e numero2... e dai encaminha-los para as suas variáveis respcetivas?!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se já fizeste algum código, mete-o aí. E não te esqueças de usar a ferramenta Geshi.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui está, já alguma coisita....

#include <iostream>
#include <string>
#include <sstream>

using std::cin;	using std::cout; using std::endl;
using std::string;
using std::istringstream;

int main ()
{
// Variáveis
char op;
string eq, aux_num;
float num1=0, num2=0, res=0;
int pos=0;
istringstream s1;

do
{
	// Ler
	getline(cin, eq);

	// Número 1	
	pos = eq.find(" ", 0);
	aux_num = eq.substr(0, pos);
	eq = eq.substr(pos);
	s1.str(aux_num);
	s1 >> num1;
	s1.clear();

	// Operador + - * /
		op = eq[1];

	// Número 2
	pos = eq.find(" ", 0);
	aux_num = eq.substr(pos+2);
	s1.str(aux_num);
	s1 >> num2;
	s1.clear();

	// Operações, + - * /
	switch (op)
	{
		case '+' : res = num1 + num2; cout << res << endl; break;
		case '-' : res = num1 - num2; cout << res << endl; break;
		case '*' : res = num1 * num2; cout << res << endl; break;
		case '/' : if (num2 == 0)	
					{
						cout << "ERRO" << endl;
						res = 0; break;
					}
					else
					{
						res = num1 / num2;
						cout << res << endl; break;
					}
		default : cout << "OPERADOR DESCONHECIDO" << endl;
	}
} while (eq != "OFF");


return 0;
}

cumps  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora