konwersja temperatury i predkosci

0

Mam takie dwa programy, jeden do zamieniania temperatury w stopniach celsjusza na fahrenheita, a drugi do zamieniania prędkości w kmh na mph. Teraz zmodyfikowałem je odrobinę, i przestały działać poprawnie.

  1. Stopnie
#include <stdio.h>
#include <math.h>

float f; 		/* stopnie fahrenheita */
float c;		/* stopnie celsjusza */
int wybor;

int main()
{

	printf("\n\nWybierz rodzaj konwersji: \n\n");
	printf("1. Stopnie Celsjusza na Fahrenheita. \n\n");
	printf("2. Stopnie Fahrenheita na Celsjusza. \n\n");
	scanf("%d", &wybor);
	



	switch (wybor) {
		case 1: printf("Podaj temperature w stopniach Celsjusza: \n\n");
			scanf("%f", &c);
			printf("Podana temperatura to %f stopni Fahrenheita. \n", f);
		break;
		case 2: printf("Podaj temperature w stopniach Fahrenheita: \n\n");
			scanf("%f", &f);
			printf("\n\nPodana temperatura to %f stopni Celsjusza. \n\n", c);
		break;
	}
		
	return(0);
} 
  1. Prędkość.
#include <stdio.h>

float kmh;		/* kilometry na godzinę */
float mph;		/* mile na godzinę */
int wybor;

int main()
{
	printf("Wybierz rodzaj konwersji: \n");
	printf("1. Kmh/Mph \n\n");
	printf("2. Mph/Kmh \n\n");
	scanf("%d", &wybor);
	
		switch (wybor) {
			case 1: printf("Podaj predkosc w kilometrach na godzine: \n");
				scanf("%f", &kmh);		
					printf("Podana predkosc to %f mph.\n", mph);
			break;
			case 2: printf("Podaj predkosc w milach na godzine: \n");
				scanf("%f", &mph);
					printf("Podana predkosc to %f km/h. \n", kmh);
			break;
		}
	mph = kmh * 0.6213712;

	kmh = mph / 0.6213712;

	return(0);
}

W tej chwili konwersja nie działa poprawnie ani w jednym ani w drugim. Program źle oblicza podane dane tak jakby nie czytał działań, na których się ma opierać. Czyli w stopniach F = (9/5) * (C + 32) i C = (5/9) * (F -32). Oraz w predkosci mph = kmh * 0.6213712 i kmh = mph / 0.6213712.
Co robię źle?

0

Najpierw wyświetlasz wynik, a dopiero potem liczysz. Jak to miałoby działać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1