Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

niezauważalna różnica między operandem <= a <

Ostatnio zmodyfikowano 2015-02-04 13:05
Autor Wiadomość
Nitro
Temat założony przez niniejszego użytkownika
niezauważalna różnica między operandem <= a <
» 2015-02-04 12:58:49
witam,

Nie mogę zrozumieć dlaczego jeśli zmienię warunek  while(kasia<=ewa) na  while(kasia<ewa) to program wskazuje w pierwszej wersji 27 lat a w drugiej 0. Dlaczego?

/*program liczący procent prosty i składowy*/


#include <stdio.h>
#include <stdlib.h>
#define OPROCENTOWANIE 10.0
#define OPROCENTOWANIE2 1.05


int main (void)
{

    float kasia=100.0;
    float ewa=100.0;
    int licznik=0;
 
   
   
    printf("Sprawdzmy po ilu latach inwestycje Kasi przekrocza inwestycje Ewy\n");
   
  while(kasia<=ewa)
  {
  ewa=ewa+10.0;
  kasia=kasia*1.05;
  licznik++;
 
  }
                 
printf("Bedzie to po %d latach\n",licznik);
 
                    

   
   

                         
    system("pause");
    return 0;
}
P-125982
Szadziu
» 2015-02-04 13:05:59
Ponieważ w przypadku <   while(kasia < ewa) program nigdy nie wejdzie do  tej pętli.

Edit:
Ponieważ warunek na starcie nie jest spełniony Kasia == 100, Ewa == 100


wykorzystaj pętlę

C/C++
do
{
   
   
}
while( kasia < ewa )
to zadziała tak jak chcesz
P-125983
« 1 »
  Strona 1 z 1