Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zmienne int, float


Rekomendowane odpowiedzi

Opublikowano

No cześć,

Nie wiem co jest żle ale jak włączam program i w pisuje np. F i podaje dane to mi wywala program i pokazuje bład zatrzymania programu...

Dawno już nie pisałem w c++,przejrzałem od nowa kilka podpowiedzi własnych i nie wiem...

Dzięki za pomoc!


#include <iostream>
#include<conio.h>
using namespace std;
int main()
{
  char a;
 int x,y,f;



    cout<<"co chcesz obliczyc??";
   cin>> a ;//podajnie co chcem obliczyc f czy x czy y

   switch(a)  //wybor obliczenia
{
   case 'f' ://oblicznie f
    {
        cout<<"podaj x ";
        cin>>x;
          cout<<endl<<"podaj y ";
        cin>>y;
        f=1/(1/x+1/y);
        cout<<endl<<"f rowna sie"<<f;
   break;
    }

    case 'y'://oblicznie y
    {
        cout<<"podaj f ";
        cin>>f;
        cout<<endl<<"podaj x ";
        cin>>x;
        y=1/(1/f-1/x);
        cout<<"y rowna sie"<<y;
  break;
    }

    case 'x'://oblicznie x
    {
        cout<<"podaj f ";
        cin>>f;
        cout<<endl<<"podaj y ";
        cin>>y;
        x=1/(1/f-1/y);
        cout<<"x rowna sie"<<x;
    break;
    }

}
return 0;
}

Opublikowano

Dlatego że wynik zawsze Ci wychodził z przecinkiem, a dla takich wartości używamy float, a nie int.  ;)

Dbmy4Vg.png?1

Opublikowano

int - typ danych reprezentujący liczbę całkowitą

float - typ danych reprezentujący liczbę rzeczywistą

 

Jeśli chodzi o powód wywalania się programu - ze względu na to że int reprezentuje liczbę całkowitą kawałek (1/x+1/y) wyszedł równy 0. W efekcie dzielenie 1/(1/x+1/y) zeszło do 1/0, a jak wiadomo przez zero się nie dzieli. W tym przypadku reakcją było wywalenie programu.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...