Usando medidas de comprimento
Publicado por euteste da silva (última atualização em 28/01/2011)
[ Hits: 5.464 ]
Programa que faz transformação de uma unidade em uma unidade menor ou maior.
/* * Programa que trabalha com medidas de comprimento. * Como compilar: gcc mcomprimento.c mcomprimento * Data: 23/dez/2010 - Autor: foxbit3r * * Exemplo: * Informe o comprimento em (km|hm|dam|m|dm|cm|mm)? 1m * Transformar em (km|hm|dam|m|dm|cm|mm)? cm * Resposta: 100.000000 * */ #include<stdio.h> #include<ctype.h> #include<string.h> #include<stdlib.h> enum { km, hm, dam, m, dm, cm, mm } unidades; int unidadeInformada( char sUnid[] ) { if(strcmp(sUnid,"km")==0) return(km); else if(strcmp(sUnid,"hm")==0) return(hm); else if(strcmp(sUnid,"dam")==0) return(dam); else if(strcmp(sUnid,"m")==0) return(m); else if(strcmp(sUnid,"dm")==0) return(dm); else if(strcmp(sUnid,"cm")==0) return(cm); else if(strcmp(sUnid,"mm")==0) return(mm); } main() { char strm1[256], im1[256], sUnidade[3],*p; char sUnidade2[5]; int i, valUnidade, valUnidade2, acumDez; double val; printf("Informe o comprimento em (km|hm|dam|m|dm|cm|mm)? "); gets(strm1); printf("Transformar em (km|hm|dam|m|dm|cm|mm)? "); gets(sUnidade2); valUnidade2 = unidadeInformada(sUnidade2); i=0; p = strm1; while(isdigit(strm1[i])|| strm1[i]=='.'){ i++; p++; } strncpy(im1,strm1,i); im1[i]='{FONTE}'; val = atof(im1); strcpy(sUnidade,p); valUnidade = unidadeInformada(sUnidade); acumDez = 1; if(valUnidade < valUnidade2) { valUnidade+=1; for(i = valUnidade; i <= valUnidade2; i++) acumDez *= 10; val = val * acumDez; } else { valUnidade2+=1; for(i = valUnidade; i >= valUnidade2; i--) acumDez *= 10; val = val / acumDez; } printf("Resposta: %f\n",val); }
Desenhando uma curva de Bézier
ArkaPoing (arkanoid+pingpoing hehe)
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Erro:#include <gtk/gtk.h... arquivo ou diretório inexistente (0)
Quais arquivos vc salvaria num backup se vc soubesse que seu hd/ssd ia... (8)