Temperatura
Publicado por Hunz 17/09/2004
[ Hits: 5.847 ]
Homepage: http://tnegri.com/
Um programinha simples que transforma a temperatura de uma medição para outra,
-- ºC, ºF e Kelvin --
Abraços,
Fiquem com Deus.
/****************************\
| șC <-> șF <-> KELVIN |
|****************************|
| Contribuiçăo para |
| www.VivaOLinux.com.br |
| hunz ~ tn_negri@hotmai.com |
\****************************/
#include <stdio.h>
#include <stdlib.h>
#define LIMPARTELA "clear" /* "clear" para Linux | "cls" para Windows */
#define MENUINICIAL 1
#define MENUDECPARA 2
#define MENUDEFPARA 3
#define MENUDEKELVINPARA 4
void showmenu(int menu)
{
switch (menu) {
case MENUINICIAL: {
printf("\tTemperaturas\n\n");
printf("(1)\tDe șC para..\n");
printf("(2)\tDe șF para..\n");
printf("(3)\tDe Kelvin para..\n");
printf("(0)\tSair.\n");
} break;
case MENUDECPARA: {
printf("\tDe șC para..\n\n");
printf("(1)\tșF\n");
printf("(2)\tKelvin\n");
printf("(0)\tVoltar\n");
} break;
case MENUDEFPARA: {
printf("\tDe șF para..\n\n");
printf("(1)\tșC\n");
printf("(2)\tKelvin\n");
printf("(0)\tVoltar\n");
} break;
case MENUDEKELVINPARA: {
printf("\tDe Kelvin para..\n\n");
printf("(1)\tșC\n");
printf("(2)\tșF\n");
printf("(0)\tVoltar\n");
} break;
}
}
void decparaf()
{
float graus;
system(LIMPARTELA);
printf("Valor em șC: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em șC: ");
getchar();
}
graus = graus / 5;
graus = graus * 9;
graus = graus + 32;
printf("Valor em șF: %f",graus);
getchar(); getchar();
}
void decparakelvin()
{
float graus;
system(LIMPARTELA);
printf("Valor em șC: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em șC: ");
getchar();
}
graus = graus + 273;
printf("Valor em Kelvin: %f",graus);
getchar(); getchar();
}
void defparac()
{
float graus;
system(LIMPARTELA);
printf("Valor em șF: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em șF: ");
getchar();
}
graus = graus - 32;
graus = graus / 9;
graus = graus * 5;
printf("Valor em șC: %f",graus);
getchar(); getchar();
}
void defparakelvin()
{
float graus;
system(LIMPARTELA);
printf("Valor em șF: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em șF: ");
getchar();
}
graus = graus - 32;
graus = graus / 9;
graus = graus * 5;
graus = graus + 273;
printf("Valor em Kelvin: %f",graus);
getchar(); getchar();
}
void dekelvinparac()
{
float graus;
system(LIMPARTELA);
printf("Valor em Kelvin: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em Kelvin: ");
getchar();
}
graus = graus - 273;
printf("Valor em șC: %f",graus);
getchar(); getchar();
}
void dekelvinparaf()
{
float graus;
system(LIMPARTELA);
printf("Valor em Kelvin: ");
while ((scanf("%f",&graus))==0) {
printf("Invalido\nValor em Kelvin: ");
getchar();
}
graus = graus - 273;
graus = graus / 5;
graus = graus * 9;
graus = graus + 32;
printf("Valor em șF: %f",graus);
getchar(); getchar();
}
int main ( void )
{
int menu=1, menuu;
while (menu!=0) {
system(LIMPARTELA);
showmenu(MENUINICIAL);
printf("[Menu]: ");
while ((scanf("%d",&menu))==0) {
printf("[Opcao Invalida]\n[Menu]: ");
getchar();
}
switch (menu) {
case 1: {
menuu=1;
while (menuu!=0) {
system(LIMPARTELA);
showmenu(MENUDECPARA);
printf("[Menu]: ");
while ((scanf("%d",&menuu))==0) {
printf("[Opcao Invalida]\n[Menu]: ");
getchar();
}
switch (menuu) {
case 1: {
decparaf();
} break;
case 2: {
decparakelvin();
} break;
}
}
} break;
case 2: {
menuu=1;
while (menuu!=0) {
system(LIMPARTELA);
showmenu(MENUDEFPARA);
printf("[Menu]: ");
while (((scanf("%d",&menuu))==0) || (menu<0) || (menu>2)) {
printf("[Opcao Invalida]\n[Menu]: ");
getchar();
}
switch (menuu) {
case 1: {
defparac();
} break;
case 2: {
defparakelvin();
} break;
}
}
} break;
case 3: {
menuu=1;
while (menuu!=0) {
system(LIMPARTELA);
showmenu(MENUDEKELVINPARA);
printf("[Menu]: ");
while (((scanf("%d",&menuu))==0)) {
printf("[Opcao Invalida]\n[Menu]: ");
getchar();
}
switch (menuu) {
case 1: {
dekelvinparac();
} break;
case 2: {
dekelvinparaf();
} break;
}
} break;
}
}
}
}
Lista Duplamente Encadeada em C
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
archlinux resoluçăo abaixou após atualizaçăo (14)
Conselho distribuiçao brasileira (2)
Năo consigo instalar distro antiga no virtualbox nem direto no hd (33)









