Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com programa (calculador)


macaco gordo

Pergunta

Ola,

Há um tempo, venho tentando formular uma calculadora que efetuasse as quatro operações básicas com números reais, contudo até agora não obtive sucesso. Dessa forma, peço por meio deste tópico auxílio para construir de forma adequada este programa, de preferência em C, por conta de esta ser a linguagem na qual eu estou iniciando meus estudos em programação.

Abaixo estará exposto o meu programa.

Agradeço desde já a todos :P

#include <stdlib.h>
#include <stdio.h>
void soma();
void subtracao();
void multiplicacao();
void divisao();
int main();
int efetuaroutraconta();
int variavel_a();
int variavel_b();
int operacao();
float a;
float b;
int escolhadeoperacao;
char outraconta;
int main(){
int variavel_a();
int variavel_b();
int operacao();
int efetuaroutraconta();}
int variavel_a(){
system("cls");
float a;
printf("Escolha um numero: ");
scanf("%f",&a);
getchar();}
int variavel_b(){
system("cls");
float b;
printf("Escolha outro numero: ");
scanf("%f",& B);
getchar();}
int operacao(){
system("cls");
int escolhadeoperacao;
printf("Agora, escolha a operacao para ser efetuada(escreva apenas o numero)\n\n");
printf("1. Soma\n");
printf("2. Subtracao\n");
printf("3. Multiplicacao\n");
printf("4. Divisao\n\n");
scanf("%d",&escolhadeoperacao);
getchar();
switch(escolhadeoperacao){
case 1:
system("cls");
void soma(float a,float B);
break;
case 2:
system("cls");
void subtracao(float a,float B);
break;
case 3:
system("cls");
void multiplicacao(float a,float B);
break;
case 4:
system("cls");
void divisao(float a,float B);
break;
default:
int main();
break;}}
void soma(float a,float B){
float k;
k=a+b;
printf("A soma obtida foi %.3f",k);}
void subtracao(float a,float B){
float l;
l=a-b;
printf("A diferenca obtida foi %.3f",l);}
void multiplicacao(float a,float B){
float m;
m=a*b;
printf("A multiplicacao obtida foi %.3f",m);}
void divisao(float a,float B){
float n;
n=a/b;
if (b=0){
printf("operacao indeterminavel");}
printf("O quociente obtido foi %.3f",n);}
int efetuaroutraconta(){
printf("\n\n\n");
char outraconta;
printf("desaja efetuar outra conta(s/n)");
scanf("%c",&outraconta);
getchar();
switch (outraconta){
case 's':case 'S':
int main();
break;
case 'n':case 'N':
system ("cls");
system("pause");
return 0;
default:
printf("resposta invalida");
switch (escolhadeoperacao);
break;}}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Cara, refiz completamente o programa. Tem algumas coisas meio estranhas no seu código.

Está aqui:

#include<stdio.h>
#include<stdlib.h>

float insereValores()
{
	float x;
	printf("De o valor a ser calculado: ");
	scanf("%f", &x);
	printf("%f\n ", x);	
	return x;
}

float calculo(float x, float y)
{
	int deseja, tipo = 0;
	do{
		printf("Selecione o tipo de conta: \n 1 para soma; \n 2 para subtrair; \n 3 para multiplicar; \n 4 para dividir\n");
		scanf("%d", &tipo);
	}while ((tipo < 1) || (tipo > 4));
	printf("Saiu");
	switch(tipo){
		case 1:
			printf("Soma: %f + %f = %f", x, y, x+y);
			break;
		case 2:
			printf("Soma: %f - %f = %f", x, y, x-y);
			break;
		case 3:
			printf("Soma: %f * %f = %f", x, y, x*y);
			break;
		case 4:
			printf("Soma: %f / %f = %f", x, y, x/y);
			break;
		default:
			printf("Inválido");
	}
	do{
	printf("Deseja realizar uma nova operacao?\n 1 para sim;\n 2 para não:\n");
	scanf("%d", &deseja);
	}while((deseja < 1) || (deseja > 2));
	switch(deseja){
		case 1:
			main();
		case 2:
			exit(0);
		default:
			printf("Inválido");
	}
	
}

int main()
{
	float a, b, adef, bdef = 0;
	adef = insereValores();
	printf("%f\n ", adef);
	bdef = insereValores();
	calculo(adef, bdef);
}

Não entendi porque colocar getchar() depois de usar scanf e não linka-lo a nenhuma variavel. Tambem tinha uns erros de case sensitve nas variaveis. E em C, as funções tem que vir acima da função main.

EDIT: acrescentando que esse codigo não tem nenhum tratativa de erro. Obviamente. xD

Editado por tsumaster
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...