Odpowiedz na ten temat
Pokaż wyniki od 1 do 3 z 3

  1. Dołączył
    Jul 2009
    Postów
    26

    Cytuj | #1

    Witajcie, mam pytanie jako mogę przerwać wykonywanie tej pętli po wciśnięciu na klawiaturze E?

    Kod:
    int main (int argc, char *argv[])
    {
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
        double      value1, value2;
    	int			n;
        char        operator;
        Calculator  *deskCalc = [[Calculator alloc] init];
    	
    	while ( ++n ) {
    	
    	NSLog (@"Podaj wartość akumulatora:");
    	scanf ("%lf %c", &value1, &operator);
    	[deskCalc setAccumulator: value1];
    
    	if ( operator == 'S' )
    		NSLog ( @"= %lf", value1 );
    
    	NSLog (@"Wpisz wyrażenie.");
        scanf ("%lf %c", &value2, &operator);
    	
    	if ( operator == '+' )
            [deskCalc add: value2];
        else if ( operator == '-' )
            [deskCalc subtract: value2];
        else if ( operator == '*' )
            [deskCalc multiply: value2];
        else if ( operator == '/' )
            [deskCalc divide: value2];
    	
    	NSLog (@"%.2f", [deskCalc accumulator]);
    	}
    	
    	if ( operator == 'E' )
    		NSLog ( @"Zakończenie obliczeń" );
    	
        [deskCalc release];
    	
        [pool drain];
        return 0;
    }


  2. Avatar gregorba
    Dołączył
    Nov 2007
    Skąd
    Warszawa
    Postów
    61

    Cytuj | #2

    Zamknij wszystko w pętli "while" gdzie warunkiem wyjścia jest zmienna która zostanie ustawiona po wciśnięciu klawisza, dla przykładu BOOL endCondition; potem zmieniasz wartość endContidion na FALSE po wciśnięciu "E" czyli w Twoim przypadku w warunku if ( operator == 'E' ). Swoją drogą zobacz sobie wyrażenie "switch" zamiast opierania wszystkiego na warunkach if.
    Komputer: MB Pro 15" C2D 2.4GHz
    Telefon: iPhone 3GS 16GB
    Odtwarzacz: iPod Classic


  3. Dołączył
    Jul 2009
    Postów
    26

    Cytuj | #3

    Tak, dopiero dziś rano mnie olśniło że zdecydowanie lepszym rozwiązaniem będzie "switch", no cóż nauka programowania w piątek wieczorem czasami ciężko idzie

Odpowiedz na ten temat