Converter Calculadora [RESOLVIDO]

1. Converter Calculadora [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/03/2009 - 16:42h

Gostaria de saber:

Como faço para converter essa calculadora para o Linux?

Código-fonte:

#include<stdio.h>
#include<stdlib.h>
#define tama 10
void soma(float val1, float val2);
void sub(float val1,float val2);
void mult(float val1,float val2);
void divi(float val1,float val2);
int menu(int num);
int nulo(int n,int n1);
main()
{
int val1,val2,i,res,nr,res1;
for(i=1;i<=tama;i++)
{
res=menu(nr);
if(res==1)
{
printf("\nDigite Primeiro numero \n");
scanf("%d",&val1);
printf("Digite Segundo numero \n");
scanf("%d",&val2);
}
else if(res==2)
{
soma(val1,val2);
}
else if(res==3)
{
sub(val1,val2);
}
else if(res==4)
{
mult(val1,val2);
}
else if(res==5)
{
res1=nulo(val1,val2);
if(res1==1)
{
divi(val1,val2);
}
else
{
printf("Denominador Nulo\n");
}
}
}
system("pause");
}
int menu(int num)
{
printf("\n[1] - Entrada de dados\n");
printf("[2] - Adicao\n");
printf("[3] - Subtracao\n");
printf("[4] - Multiplicacao\n");
printf("[5] - Divisao\n");
printf("\n\nEscolha uma das operacoes\n");
scanf("%d", &num);
return num;
}
int nulo(int n,int n1)
{
if(n1==0)
return 0;
else
return 1;
}

void soma(float val1,float val2)
{
printf("%.2f\n",val1+val2);
}
void sub(float val1,float val2)
{
printf("%.2f\n",val1-val2);
}
void mult(float val1,float val2)
{
printf("%.2f\n",val1*val2);
}
void divi(float val1, float val2)
{
printf("%.2f\n",val1/val2);
}


  


2. Re: Converter Calculadora [RESOLVIDO]

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 29/03/2009 - 17:30h

nesse caso não há muito mistério para que seu código possa rodar no linux. então, não entrando no mérito do funcionamento e da lógica do seu programa:

primeiramente, algumas observações que são da prática da linguagem C e que valem para qualquer plataforma:
1 - não coloque as variáveis nos protótipos das funções. indique apenas os tipos. exemplo:
void soma(float,float);
void sub(float,float);

2 - defina a função main "como manda o figurino". ou seja, indicando o tipo de retorno e de argumento:
int main(void)
{
blablabla;
return 0;
}

3 - sempre utilize return, mesmo em funções do tipo void:
exemplo:
void soma(float val1,float val2)
{
printf("%.2f\n",val1+val2);
return;
}

agora, a única incompatibilidade do seu código para com o linux:
como já discutdo em um tópico anterior, em
http://www.vivaolinux.com.br/topico/C-C++/Programa-C-no-Linux
substitua system("pause") por:
while (!getchar());

quanto à compilação, admitindo-se que use o gcc, para o caso desse código, o de praxe é o suficiente:
$ gcc calc.c -o calc






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts