Escolar Documentos
Profissional Documentos
Cultura Documentos
Execute cada código, entenda bem e depois responda o que se pede. Caso não entenda venha tirar suas
dúvidas.
1) Os dois códigos (A e B) abaixo funcionam da mesma forma, porém, o código com IF ANINHADO É
CONSIDERADO MELHOR. Explique o motivo.
Codigo A
// IF SIMPLES
void main()
{
float n1,n2;
int v=1;
char op;
while(v)
{
clrscr();
printf("digite um numero operador numero\n");
scanf("%f %c %f",&n1,&op,&n2);
if (op=='+')
printf(" soma= %f",n1+n2);
if(op=='-')
printf("subtracao= %f",n1-n2);
if(op=='*')
printf("multiplicacao= %f",n1*n2);
if(op=='/')
printf("divisao= %f",n1/n2);
getche();
Codigo B
//IF ANINHADO
void main()
{
float n1,n2;
int v=1;
char op;
while(v)
{
clrscr();
printf("digite um numero operador numero\n");
scanf("%f %c %f",&n1,&op,&n2);
if (op=='+')
printf(" soma= %f",n1+n2);
else
if(op=='-')
printf("subtracao= %f",n1-n2);
else
if(op=='*')
printf("multiplicacao= %f",n1*n2);
else
if(op=='/')
printf("divisao= %f",n1/n2);
getche();
Código C
void main()
{
int v=1;
float n1,n2;
char op;
do /* sempre executa pelo menos uma vez*/
{
clrscr();
printf("digite o primeiro numero\n");
scanf("%f",&n1);
printf("digite o Operador ( + - * / ) \n");
scanf("%s",&op);
printf("digite o segundo numero\n");
scanf("%f",&n2);
switch(op)
{
case '+':printf(" soma= %f",n1+n2);break;
case '-': printf("subtracao= %f",n1-n2);break;
case '*':printf(" multiplicacao= %f",n1*n2);break;
case '/': printf("divisao= %f",n1/n2);break;
}
getche();
printf("\n\nDigite Zero para ou outro numero para continuar ");
scanf("%d",&v);
}while(v);
Código D
void main(void)
{
int v=1;
float n1,n2;
char op;
while(v){ /*sempre verdadeiro*/
clrscr();
printf("digite o primeiro numero\n");
scanf("%f",&n1);
printf("digite o Operador ( + - * / ) \n");
scanf("%s",&op);
printf("digite o segundo numero\n");
scanf("%f",&n2);
switch(op)
{
case '+':printf(" soma= %f",n1+n2);break;
case '-': printf("subtracao= %f",n1-n2);break;
case '*':
case 'x':printf(" multiplicacao= %f",n1*n2);break;
case '/': printf("divisao= %f",n1/n2);break;
}
getche();
CODIGO E
void main()
{
char op;
int x,y;
int i;
clrscr();
A do
{
do
B {
clrscr();
printf ("\n\t ** CALCULADORA **\n\n "); Para que serve esse
printf ("\n\t1 - SOMA \n\n "); loop? Explique a
printf ("\n\t2 - SUBTRAI\n\n"); lógica usada
printf ("\n\t3 - MULTIPLICA\n\n");
printf ("\n\t4 - DIVIDE\n\n");
printf("\n\tDigite a Opcao:");
scanf("%d", &i);
}while ( ( i<1 ) || ( i>4 ) );
switch (i)
{
case 1:
{
printf ("\n\n\n\t Digite o primeiro valor ");
scanf("%d",&x); Por que esse case
printf ("\n\t Digite o primeiro valor "); tem { } ?
scanf("%d",&y);
printf ("\n\n\n\t Soma = %d\n\n", x+y);
}
break;
do
C {
printf("\tDeseja Continuar? (S)im ou (N)ao ");
op=getch();
op=toupper(op);
}while ( op != 'S' && op != 'N' );
CODIGO F
5 void main ()
6 {
7 int v1,v2, res;
8 clrscr();
9 printf("Digite os dois valores\n");
10 scanf("%d %d", &v1,&v2);
11 res=mult(v1,v2);
12 printf ("\n\nA multiplicacao dos valores = %d\n", res);
13 getche();
14 }
CODIGO G
5 void main ()
6 {
7 int v1,v2, res;
8 clrscr();
9 printf("Digite os dois valores\n");
10 scanf("%d %d", &v1,&v2);
CODIGO H
// FUNÇÃO MULT PROTOTIPADA USADA DIRETA SEM VARIÁVEL PRA RECEBER O RESULTADO