Witam.
Mam mały problem, na zaliczenie musze napisać następujący program:
Program zmieniający kąty w stopniach, radainach i mierze godzinnej (np 360 st to godzina) wg: życzenie użytkownika, z uwzględnieniem wartości ujemnych oraz przekroczenia zakresu kąta pełnego (wymagana dokładność zapisu w stopniach, minutach, sekundach+ułamkach sekund, dla miary sekund dla miary czasowej h,m,s+ułamki sekund).
Oto moje wypociny, które trzeba znacząco zmienić ale nie wiem jak. Proszę o pomoc, z góry dziękuję.
#include<stdio.h>
#include<conio.h>
#define pi 3.14
main()
{
int i, p;
double j, w;
printf("Wybierz jednostke ktora chcesz przeliczyc: (1)radiany (2)stopnie (3)minuty\n");
scanf("%d", &i); //%i znaczy integer
printf("Ile jednostek chcesz przliczyc?\n");
scanf("%lf", &j);
if(i==1){
printf("Wybiesz jednostki na ktora chcesz przeliczyc: (1)stopnie (2)minuty?\n");
scanf("%d", &p);
if(p==1)
{ /*gdyby po if występuje 1 instrukcja nie trzeba dawać
nawaisów, jeżeli występuje pare to trzeba */
w=j*180/pi;
printf("Wynik: %7.4f stopni\n", w);
}
else {
w=j*2*pi/60;
printf("Wynik: %7.4f odpowiednio godzin, minut, sekund\n", w);
}
}
else if(i==2){
printf("Wybiesz jednostki na ktora chcesz przeliczyc: (1)radiany (2)minuty\n");
scanf("%d",&p);
if(p==1){
w=j*pi/180; /*instr złożonych typu w=j*pi/180 nie można umieszczaś
w inst printf - nieprawidłowy wynik*/
printf("Wynik: %7.4f radianow\n", w);
}
else {
w=j/6;
printf("Wynik: %7.4f odpowiednio godzin, minut, sekund\n", w);
}
}
else {
printf("Wybiesz jednostki na ktora chcesz przeliczyc: (1)radiany (2)stopnie\n");
scanf("%d",&p);
if(p==1){
w=j*pi/30;
printf("Wynik: %7.4f radianow\n", w);
}
else{
w=6*j;
printf("Wynik: %7.4f stopni\n", w);
}
}
while (!kbhit());
}