Prosty program obliczajacy predkość

Prosty program obliczajacy predkość
D1
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 lat
  • Postów:29
0

Witam,
jestem nowy, czy moglibyście mi pomoc w napisaniu tego programu, poniżej zamieszczam próbe jego napisania ale jak widać nie za bardzo mi idzie. Ten program ma wyliczać prędkość na danym okrążeniu, lecz ma być ona wyrażona w km/h nwm jak to zrobić gdyż wynik wychodzi w m/s. Problem też sprawia jak zapisać srednią 3 czasów. Wszystkie wyniki dzialań mają się wyświetlać w tabelce. Z góry dzięki za pomoc.

Kopiuj
#include <conio.h>


#include <stdio.h>

 main()
{
	float x;
	float y;
	float z;
	float q;
	
	printf("+----------------------------------------+\n");
	printf("|Program do obliczania sredniej predkosci|\n");
	printf("+----------------------------------------+\n");
	
	printf("Dlugosc toru [m] = ");
	scanf("%f, &x");
	printf("Czas pierwszego okrazenia = ");
	scanf("%f, &y");
	printf("Czas drugiego okrazenia = ");
	scanf("%f, &z");
	printf("Czas trzeciego okrazenia = ");
	scanf("%f, &q");
	
	printf("+----------------------------------------+\n");
	printf("| Predkosc               | Wartosc       |\n");
	printf("+----------------------------------------+\n");
	printf("| Pierwszego okrazenia   |  %.2f", x / y |\n");
	printf("| Drugiego okrazenia     |  %.2f", x / z |\n");
	printf("| Trzeciego okrazenia    |  %.2f", x / q |\n");
	printf("+----------------------------------------+\n");
	printf("| Calego wyscigu         |               |\n");
	printf("+----------------------------------------+\n");
	
	

	
	
	getch();
	return 0;
} 
SQ
z tego co pamiętam to int main() jeśli zwracasz 0
pasasap
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad rok
4

Jeśli chcesz umieścić cudzysłów w literale znakowym, to powinieneś poprzedzić go ukośnikiem, np.

Kopiuj
"powiedział: \"tak, to ja.\"" 

Scanf przyjmuje 2 argumenty, podajesz jeden jako string. Powinno być np.

Kopiuj
scanf("%f", &q); 

A jak chcesz przeliczyć z m/s na km/h to powinieneś odpowiednio zamienić jednostki, a przykłady do tego znajdziesz w internecie po wpisaniu hasła w wyszukiwarce, potem wystarczy wpisać to do swojego kodu.

Średnia trzech czasów to nic innego jak w tym przypadku

Kopiuj
3 * x / (y + z + q) 

Warto również nazywać zmienne tak, by było wiadomo do czego się odnoszą.


.
xfin
To nie jest umieszczanie cudzysłowu w literale, tylko złe użycie printf. Tam chodzi o wstawienie wyniku obliczeń.
xfin
  • Rejestracja:ponad 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Genewa
  • Postów:597
0

@dominiko14
Tak swoją drogą, jakbyś odpalił to w jakimś IDE, to juz byś wyłapał większośc błędów.

  1. Tutaj ewidentnie złe użycie printf (w linijkach z obliczeniami):
dominiko14 napisał(a):
Kopiuj
printf("| Pierwszego okrazenia   |  %.2f", x / y |\n");

powinno być

Kopiuj
printf("| Pierwszego okrazenia   |  %.2f, |\n", x/y);
  1. Wyrzuć to:
Kopiuj
#include <conio.h>
getch();

Jak zaczniesz używać jakiegokolwiek normalnego środowiska, to nie będzie to potrzebne.

  1. Przeliczanie km/h na m/s i odwrotnie to chyba nie jest coś trudnego? Trzeba mnożyć albo dzielić przez ułamek 1000/3600 w zależności co chcesz dostać i tyle.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.