Usando medidas de comprimento
Publicado por euteste da silva (última atualização em 28/01/2011)
[ Hits: 5.581 ]
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); }
Função simples recursiva para fibonacci
Nenhum coment�rio foi encontrado.
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Programa simples pra cortar vídeos [RESOLVIDO] (7)
Instalação automatizada do Debian 12 em UEFI (1)
Browser/Placa de vídeo trava Ubuntu 22.04 (2)