Tabuada e porcentagem em C
Publicado por Perfil removido (última atualização em 04/11/2011)
[ Hits: 19.137 ]
Esta é uma pequena calculadora em C que tem funções para calcular a tabuada e porcentagem.
O código tem um pequeno problema que ocorre muito com programadores iniciantes, assim como eu, pois ele dá um loop infinito caso o usuário não entre com valores válidos para o programa.
Se o loop infinito ocorrer com você, basta pressionar CTRL + C para encerrar o programa.
Apesar do problema, espero que este código que estou compartilhando possa ajudar muitas pessoas.
Abraços.
#include <stdio.h>
/* Esta função faz o cálculo da tabuada, obtendo os dados abstraídos da função calcular_tabuada */
int resultado_tabuada (tabuada){
int multiplicador;
multiplicador=0;
int resfinal;
while (multiplicador<=10) {
resfinal = tabuada * multiplicador;
printf("\n%d vezes %d é igual a %d",tabuada,multiplicador,resfinal);
multiplicador++;
}
return resfinal;
}
/* Final da função */
/* Função que abstrai os dados do usuário para o cálculo da tabuada */
int calcular_tabuada () {
int tabuada;
printf("\nDigite um número para ver a sua tabuada: ");
scanf("%d",&tabuada);
if (tabuada==0) printf ("Que tal digitar um número da próxima vez?");
else resultado_tabuada (tabuada);
return 0;
}
/* Função encerrada */
/* Função para calcular a porcentagem de um número */
int porcentagem ()
{
float numero1;
float numero2;
float res_porcento;
puts ("Digite o número do qual será calculada a porcentagem: "); /* A função puts exibe uma mensagem na tela e coloca uma nova linha após a exibição do conteúdo */
scanf ("%f",&numero1); /* Monitora a entrada do usuário */
printf ("\nDigite outro número para completar o cálculo: ");
scanf ("%f",&numero2); /* Monitora a entrada do usuário */
res_porcento = numero2 * 100 / numero1; /* Efetua o cálculo em si e armazena em uma variável*/
printf ("\n%f é %f porcento de %f", numero2, res_porcento, numero1); /* Mostra na tela o resultado */
menu (); /* Instrui a retornar para a função menu */
}
/* Fim da função para calcular a porcentagem de um número */
/* Função a ser executada quando o programa deve ser encerrado */
int sair () {
exit(0);
}
/* Fim da função de encerramento do programa */
/* Exibe um menu na tela e pede para o usuário escolher uma opção */
int menu ()
{
int cod_opt; /* declaração de variável */
do
{
printf ("\n\n1\tTabuada de um número\n");
printf ("2\tPorcentagem de um número\n");
printf ("3\tSair do programa\n\n");
printf ("Digite uma opção: ");
scanf ("%d",&cod_opt); /* monitora a entrada do usuário */
switch (cod_opt) /* analisa a entrada do usuário */
{
case 0:
printf ("Que tal digitar um número da próxima vez?");
break;
case 1:
calcular_tabuada();
break;
case 2:
porcentagem();
break;
case 3:
sair();
}
}
while(cod_opt!='1' && cod_opt!='2' && cod_opt!='3'); /* Enquanto o valor da variável cod_opt não for igual aos valores citados continua-se a executar a função */
}
/* Fim da função */
/* Esta é a função principal do programa, ela exibe uma mensagem e chama a função menu */
int main(int argc, char **argv)
{
printf ("\nCALCULADORA MATEMÁTICA PARA O TERMINAL");
menu ();
}
/* Fim do programa */
Exemplo de janela utilizando o compilador Vala
Calculo de fatorial em C++ com o Qt Creator
Operações de Soma, Subtração, Multiplicação e Divisão
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (11)
Incluir versão do projeto no executavel criado no Lazarus com Linux (0)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (9)
Monte o Google Drive como uma pasta remota no Linux [RESOLVIDO] (3)









