codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <stdlib.h> #include <stdio.h> #include <string.h> /* To unfold, type zR in vim. */ /* getchar() on line 22 and 23. */ int main(void) { /* Variable definitions. {{{ */ char nome[30], sexo; int idade; float altura, peso, peso_ideal; /* }}} */ /* Dados do usuário {{{ */ printf("Qual o seu nome?\n"); scanf("%s", nome); printf("%s.\n", nome ); printf("Qual é o sexo (M,F)?\n"); /* NOTE: needed an extra getchar() here. */ getchar(); sexo = getchar(); /* printf("O sexo é %c.\n", sexo); */ /* Não esquecer o operador de endereço, ou vai dar * um erro de 'Segmentation fault'. */ printf("Qual a sua altura?\n"); scanf("%f", &altura); printf("Sua idade?\n"); scanf("%d", &idade); /* }}} */ switch (sexo) { /* {{{ */ case 'M': case 'm': /* {{{ */ if (altura > 1.70) { if (idade <= 20) { peso_ideal = (72.7 * altura) - 58; } else if (idade > 21 && idade <= 39) { peso_ideal = (72.7 * altura) - 53; } else { /* Aqui, a idade já vai ser obrigatoriamente * maior que 40. */ peso_ideal = (72.7 * altura) - 45; } } break; /* case m/M ends here }}} */ case 'F': case 'f': /* {{{ */ if (altura > 1.50) { /* Segundo o exercício proposto, não * importa a idade aqui. */ peso_ideal = (62.1 * altura) - 44.7; } else { /* Se a altura não é maior que 1.50, será * obrigatoriamente < ou = a 1.50. * */ if (idade >= 35) { peso_ideal = (62.1 * altura) - 45; } else { /* Se idade não é = ou > que 35, será * obrigatoriamente < que 35. */ peso_ideal = (62.1 * altura) - 49; } } break; /* case 'F/f' ends here }}} */ default: /* {{{ */ printf("Sei lá\n"); break; /* }}} */ } /* switch 'sexo' ends here }}} */ printf("O seu peso ideal seria %.2f.\n", peso_ideal); return 0; } /* * vim:foldmethod=marker foldmarker={{{,}}}: */
Private
[
?
]
Run code
Submit