Skocz do zawartości

henrycool

Użytkownik
  • Postów

    5
  • Dołączył

  • Ostatnia wizyta

Osiągnięcia henrycool

Newbie

Newbie (1/14)

0

Reputacja

  1. nie integer to %i nie %d
  2. Racja, zupełnie zapomniałem o klamrach, a wcześniej z goto byłoby też dobrze - ale pomyliłem znkai przy wczytywaniu opcji (powinno być opcja == cos tam, a ja zrobilem opcja = cos tam i on nadawal opcji nowa liczbe). Ale w końcu zrobiłem to za pomoca case - tak jak samm-ur wczesniej napisal, a dopiero pozniej odkrylem reszte swoich błędów i zostawiłem już z case. Przeczytałem dokładnie w książce co i jak z tymi if i już wszystko rozumiem, mam nadzieję, że nie będe miał więcej problemów. No i wielkie dzięki za pomoc :D pozdrawiam, henrycool
  3. Znowu mam problem, z tym samym programem. Trochę go rozbudowałem i coś mi znowu nie chodzi, chodził już dobrze tylko nie wiadomo dlaczego nie pisał komunikatu o błędzie, gdy wpisałem wiekszą cyfrę, a teraz zupełnie się posypał. Co zrobię to on tylko oblicza fahrenheity - celsjusze, nie wiem co tu znowu zmajstrowałem... Aha najpierw zrobiłem to używając goto, potem próbowałem używając if, if else i else - ale też coś nie wyszło. zamieszczam oba kody: #include <stdio.h>int main (void){ // zmienne float fahr, cel, stopnie; int opcja; // Tytul printf ("|===============================================================|\n"); printf ("|Przelicznik stopni Fahrenheit - Celsjusz - Fahrenheit |\n"); printf ("|===============================================================|\n\n"); // Pytanie - co chcesz przeliczyc, lub czy chcesz zakonczyc program printf ("|===============================================================|\n"); printf ("|Chcesz przeliczyc stopnie z: |\n"); printf ("|===============================================================|\n"); printf ("||1| fahrenheita na celsjusza |\n"); printf ("||2| celsjusza na fahrenheita |\n"); printf ("||3| zakoncz program |\n"); printf ("|===============================================================|\n"); // Pobiaranie znaku opcji 1, 2, lub 3 scanf ("%i", &opcja); // Przypisywanie pobranej opcji // Opcje poprawne 1-3 // Jeżeli została wybrana opcja 1, fahrenheit - celsjusz if ( opcja = 1) goto fahren_cels; // Jeżeli została wybrana opcja 2, celsjusz - fahrenheit if ( opcja = 2 ) goto cels_fahren; // Jeżeli została wybrana opcja 2, celsjusz - fahrenheit if ( opcja = 3 ) goto koniec; // Błędy // Jeżeli cyfra jest różna od 1, 2, lub 3 if ( opcja > 3 || opcja < 1 ) goto zla_opcja; // Jeśli wybierzesz opcje nr. 1 fahren_cels: printf ("|===============================================================|\n"); printf ("|Wpisz ile stopni chcesz zamienic z fahrenheita na celsjusza |\n"); printf ("|===============================================================|\n"); // Pobieranie znaku - ilosc stopni scanf ("%f", &stopnie); cel = (stopnie - 32) / 1.8; // Algotytm przeliczania fahrenheit - celsjusz printf ("|===============================================================|\n"); printf ("|%.1f stopni Fahrenheita wynosi %.1f stopni Celsjusza |\n", stopnie, cel); printf ("|===============================================================|\n"); goto koniec; // Jeśli wybierzesz opcje nr. 2 cels_fahren: printf ("|===============================================================|\n"); printf ("|Wpisz ile stopni chcesz zamienic z celsjusza na fahrenheita |\n"); printf ("|===============================================================|\n"); // Pobieranie znaku - ilość stopni scanf ("%f", &stopnie); fahr = (stopnie + 32) * 1.8; // Algorytm przeliczania celsjusz - fahrenheit printf ("|===============================================================|\n"); printf ("|%.1f stopni Celsjusza wynosi %.1f stopni Fahrenheita |\n", stopnie, fahr); printf ("|===============================================================|\n"); // Jeśli wybrana opcja była błędna zla_opcja: printf ("|===============================================================|\n"); printf ("|Blad zle wybrana opcja, mozna wybrac tylko 1, 2, lub 3 |\n"); printf ("|===============================================================|\n"); koniec: // konczenie programu sleep(12000); // wstrzymanie pracy na określony czas return 0;} drugi kod #include <stdio.h>int main (void){ int opcja; float fahr, cel, stopnie; printf ("|===============================================================|\n"); printf ("|Przelicznik stopni Fahrenheit - Celsjusz - Fahrenheit |\n"); printf ("|===============================================================|\n\n"); printf ("|===============================================================|\n"); printf ("|Chcesz przeliczyc stopnie z: |\n"); printf ("|===============================================================|\n"); printf ("||1| fahrenheita na celsjusza |\n"); printf ("||2| celsjusza na fahrenheita |\n"); printf ("||3| zakoncz program |\n"); printf ("|===============================================================|\n"); scanf ("%i", &opcja); if ( opcja = 1 ) printf ("|===============================================================|\n"); printf ("|Wpisz ile stopni chcesz zamienic z fahrenheita na celsjusza |\n"); printf ("|===============================================================|\n"); scanf ("%f", &stopnie); cel = (stopnie - 32) / 1.8; printf ("|===============================================================|\n"); printf ("|%.1f stopni Fahrenheita wynosi %.1f stopni Celsjusza |\n", stopnie, cel); printf ("|===============================================================|\n"); else if ( opcja = 2 ) printf ("|===============================================================|\n"); printf ("|Wpisz ile stopni chcesz zamienic z celsjusza na fahrenheita |\n"); printf ("|===============================================================|\n"); scanf ("%f", &stopnie); fahr = (stopnie + 32) * 1.8; printf ("|===============================================================|\n"); printf ("|%.1f stopni Celsjusza wynosi %.1f stopni Fahrenheita |\n", stopnie, fahr); printf ("|===============================================================|\n"); else if ( opcja > 3 || opcja < 1 ) printf ("|===============================================================|\n"); printf ("|Blad zle wybrana opcja, mozna wybrac tylko 1, 2, lub 3 |\n"); printf ("|===============================================================|\n"); else ( opcja = 3 ) sleep(12000); return 0;}
  4. Nie wiem, jak mogłem tego nie zauważyć... :mur: no to dzięki :D Coś musiało mi się źle wcisnąć jak kod pisałem i potem tego już nie zauważyłem... jeszcze raz dzięki - pewnie długo bym tego nie widział :-P EDIT: Teraz mam inny problem, zamieniłem jeszcze int na float i kilka zmian wizualnych i co nie wpisze to wyskakuje mi -17.777779, a wcześniej, jak miałem int to wyskakiwało 301 - o co w tym chodzi?? Zamieszczam niżej zmieniony kod: #include <stdio.h>int main (void){ float fahr; float cel = (fahr - 32) / 1.8; printf ("Przelicznik stopni z Fehrenheita na Celsjusza\n\n"); printf ("Wpisz ilosc stopni, ktore chcesz przeliczyc: "); scanf ("%f", &fahr); printf ("\n%f stopni Fahrenheita wynosi %f stopni Celsjusza.\n", fahr, cel); sleep(6000); return 0;} EDIT: Już ok ;)
  5. Mam mały problem, nie wiem dlaczego mi się nie chce przekompilować ten kod w c. Patrzeyłem, wszystko mi się zgadza, ale uczę się dopiero od 3 dni... więc za dużo to ja nie umiem. Progs miał czekać na podnie temperatury w fahrenheitach i zamieniać na celsjusza, po trzym wynik podawać i czekać na naciśnięcie entera. Tu zamieszczam kod programu. #include <stdio.h>int main (void){ int fahr; int cel = (fahr - 32) / 1.8; printf ("Przelicznik stopni z Fehrenheita na Celsjusza\n\n"); printf ("Wpisz ilosc stopni, ktore chcesz przeliczyc:\n"); snacf ("%i", &fahr); printf ("%i stopni Fahrenheita wynosi %i stopni Celsjusza.\n", fahr, cel); getchar (); return 0;}
×
×
  • Dodaj nową pozycję...