/*
* a4_p1: Faz pequenas operacoes aritmeticas
*
* Input: Uma operacao e dois operandos
* Output: Resultado da operacao
*/
#include<stdio.h>
main()
{
char operacao;
double op1, op2;
printf("Qual a operacao (+ -
* /)? ");
scanf("%c", &operacao);
printf("Quais os dois operandos?
");
scanf("%lf%lf", &op1, &op2);
switch (operacao)
{
case '+': /* adicao */
printf("%lf + %lf = %lf\n", op1, op2, op1+op2);
break;
case '-': /* subtraccao */
printf("%lf - %lf = %lf\n", op1, op2, op1-op2);
break;
case '*': /* multiplicacao */
printf("%lf * %lf = %lf\n", op1, op2, op1*op2);
break;
case '/': /* divisao */
printf("%lf / %lf = %lf\n", op1, op2, op1/op2);
break;
}
}
/* * a4_p3: Da um parecer qualitativo * a uma classificacao numerica * Input: Nota em valores (numero inteiro de 0 a 20) * Output: Parecer qualitativo * (Mau, Medíocre, Suficiente, Bom, Muito Bom) */ #include <stdio.h> main() { int nota; printf("Introduz a classificacao: "); scanf("%d", ¬a); switch(nota) { case 0: case 1: case 2: case 3: case 4: printf("Mau\n"); break; case 5: case 6: case 7: case 8: case 9: printf("Mediocre\n"); break; case 10: case 11: case 12: case 13: printf("Suficiente\n"); break; case 14: case 15: case 16: case 17: printf("Bom\n"); break; case 18: case 19: case 20: printf("Muito Bom\n"); break; } }Obs: Claro que este programa poderia ter sido feito com instruções if-else. Mas foi feito com a instrução switch-case para perceberes melhor o seu modo de funcionamento. O que aconteceria se não tivesses usado os breaks e introduzisses uma classificação, p/ exemplo, de apenas 3 valores? Pensa no assunto.
Obs: Repara no modo como foi formatado o output. Na instrução printf, em vez do habitual %d aparece %05d. Desta forma os números que mandamos escrever no ecrã surgem alinhados à direita num campo de 5 dígitos preenchido com zeros à esquerda. Se puséssemos apenas %5d acontecia o mesmo mas sem o preenchimento com zeros à esquerda.
Experimenta redireccionar o output para um ficheiro de texto para que possas ver bem as diferenças na forma de apresentar os primeiros números. Para isso, ao executares o programa, deverás fazer o que se chama redireccionamento de saída. Se o programa executável se chamar "a4_p5" e quiseres criar um ficheiro chamado "numeros.txt" faz assim:
a4_p5 > numeros.txt
Agora vê o conteúdo de numeros.txt
/* * a4_p6: Tabuada * * Input: Numero inteiro (o multiplicando) * Output: Tabuada desse numero */ #include <stdio.h> main() { int a; /* multiplicando */ int b; /* multiplicador */ printf("Introduza um numero: "); scanf("%d", &a); for (b=1; b<=10; b++) printf("%d x %d = %d\n", a, b, a*b); }Obs: Como poderias formatar a apresentação dos números no ecrã de modo a surgirem todos alinhadinhos à direita? (Lê as observações do programa 5)
Obs: Podes melhorar este programa para, no caso de o utilizador
introduzir um valor não binário, apresentar uma mensagem
a indicar "Numero inválido".