Usando medidas de comprimento
Publicado por euteste da silva (última atualização em 28/01/2011)
[ Hits: 5.518 ]
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); }
Algorítmo para Calcular Raiz Quadrada
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gravação de tela com temporizador
Aplicativo simples para gravar tela
Eu tive esse erro aqui depois de de baixar o HyprLand Ubuntu na versão... (0)
Como fazer boot em img do debian 12.img da web? (11)
Manjaro 25.0 no permite usar crontab (1)