Mam takie zadanko, zrobiłem je i na to wychodzi, że dobrze, ale czegoś nie rozumiem, jakim cudem mogę wpisać liczbę całkowitą jeżeli mam każdą zmienną we floacie?
O to treść zadania:
Napisz program, który pobiera prędkość pobierania (w megabitach na sekundę) oraz rozmiar pliku do pobrania (w megabajtach). Program powinien obliczyć czas pobierania pliku. Zauważ, że w tym kontekście jeden bajt to osiem bitów. Użyj typu float oraz operatora ' / ' do dzielenia. Program powinien wypisać wszystkie trzy wartości (prędkość pobierania, rozmiar pliku i wyliczony czas) do dwóch miejsc po przecinku, jak tutaj:
Przy 18.12 megabitow na sekunde plik o rozmiarze 2.20 megabajta zostanie pobrany w 0.97 sekundy
Dodam, że chciałem użyć operatora ' / ' do dzielenia, zadeklarowałem dodatkowe zmienne we floacie (predkosc2 i rozmiar_pliku2) a w int zrobiłem predkosc i rozmiar_pliku:
predkosc2=predkosc/1.0;
rozmiar_pliku2=rozmiar_pliku/1.0;
ale nie mogłem wtedy wpisać np. 18.12, bo musiałem tylko w incie, no i usunąłem te dodatkowe zmienne i to dzielenie przez operator ' / ' i wyszło xd
**O to ten kod co niby działa: **
#include <stdio.h>
#include <stdlib.h>
int main()
{
float predkosc, rozmiar_pliku;
float czas_pobierania, czas_pobierania2;
printf("Podaj predkosc pobierania w megabitach na sekunde: ");
scanf("%f", &predkosc);
printf("Podaj rozmiar pliku do pobrania w megabajtach: ");
scanf("%f", &rozmiar_pliku);
czas_pobierania = (rozmiar_pliku * 8.0e-6) / 1.0e-6;
czas_pobierania2 = czas_pobierania / predkosc;
printf("Przy %.2f megabitow na sekudne plik o rozmiarze %.2f megabajta zostanie pobrany w %.2f sekundy", predkosc, rozmiar_pliku, czas_pobierania2);
return 0;
}