• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dziwny problem z zadaniem w języku C

Object Storage Arubacloud
0 głosów
193 wizyt
pytanie zadane 22 sierpnia 2017 w C i C++ przez poczatkujacy12 Nowicjusz (150 p.)

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;

}

 

1 odpowiedź

0 głosów
odpowiedź 22 sierpnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Nie wiem, czy rozumiem twój problem, ale:

#include <stdio.h>

int main()
{
	float value = 3.14;
	printf("%d", (int)value);
}

 

komentarz 22 sierpnia 2017 przez poczatkujacy12 Nowicjusz (150 p.)
Teraz to ja nie wiem o co chodzi xd właśnie się dowiedziałem, że float może także przechowywać liczby całkowite, więc chyba już nie muszę się dziwić xd
komentarz 22 sierpnia 2017 przez Benek Szeryf (90,870 p.)
No przecież liczby całkowite są podzbiorem liczb wymiernych. Float przechowuje np. 4 jako 4.000, część dziesiętna jest wyzerowana. Sprawdzenie typu pozwala Ci się dowiedzieć z jaką reprezentacją liczby masz do czynienia. Zwykle int od float będzie się różnić ilością bajtów. Podobnie jak float i double.

Podobne pytania

+1 głos
0 odpowiedzi 3,436 wizyt
0 głosów
2 odpowiedzi 423 wizyt
0 głosów
2 odpowiedzi 119 wizyt
pytanie zadane 4 września 2017 w C i C++ przez student97 Nowicjusz (210 p.)

92,543 zapytań

141,385 odpowiedzi

319,492 komentarzy

61,929 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...