Ergebnis 1 bis 5 von 5
  1. #1
    Anfänger
    Registriert seit
    16.12.2007
    Beiträge
    13

    Standard c++ Taschenrechner

    So, ich hab von meinem Lehrer die Aufgabe bekommen einen Taschenrechner zu programieren, welche ich auch gelöst habe. Nun verlang aber aber noch, dass es bei Eingabe einer nicht Ziffer eine Fehlermeldung kommt und das Programm wieder auf Anfang gestellt wird. Da mir nichts einfällt wie ich dies machen könnte wollte ich mal euch fragen

    greetZ Wusaaaaa
    Zitat Zitat von Phipu
    KEY FOUND! [ 12:34:56:78:91 ]
    Decrypted correctly: 100%
    Natürlich ist das nur MEIN Lan dass ich knacke und das Paswort sollte 1234567891 sein aber wie kann ich dass umwandeln??
    Zitat Zitat von Freeway861
    Tu mal die Doppelpunkte raus, dann hast du dein PW...

  2. #2
    Stanley Jobson
    Registriert seit
    08.08.2007
    Beiträge
    740

    Standard

    ist relativ einfach .. ^^

    du liest die Zahl als String ein .. wandelst sie in ASCII um und so kannst du abfragen ob es eine Zahl ist ^^

    mfg

  3. #3
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Beispiel:

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    
    int is_numeric(char *);
    int read_int(int *);
    
    int main(void)
    {
    	int i1;
    	int i2;
    	
    	for(;;)
    	{
    		printf("Geben Sie zwei Zahlen ein\n"
    			"Zahl 1> ");
    		if (!read_int(&i1))
    		{
    			printf("Ihre Eingabe ist keine Zahl\n");
    			continue;
    		}
    		printf("Zahl 2> ");
    		if (!read_int(&i2))
    		{
    			printf("Ihre Eingabe ist keine Zahl\n");
    			continue;
    		}
    		printf("%d + %d = %d\n\n", i1, i2, i1 + i2);
    	}
    	return 0;
    }
    
    int is_numeric(char *buffer)
    {
    	if (buffer[0] == '-' && buffer[1] >= '0' && buffer[1] <= '9')
    		buffer++;
    	for(; *buffer >= '0' && *buffer <= '9'; buffer++);
    	return (*buffer == 0);
    }
    
    int read_int(int *i)
    {
    	char buffer[100];
    	
    	fgets(buffer, sizeof(buffer) - 1, stdin);
    	if (buffer[strlen(buffer) - 1] == '\n')
    		buffer[strlen(buffer) - 1] = 0;
    	*i = atoi(buffer);
    	return is_numeric(buffer);
    }

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  4. #4
    Anfänger
    Registriert seit
    16.12.2007
    Beiträge
    13

    Standard

    So, habs verstanden, war wirklich einfach.

    danke

    greetZ Wsuaaaaa
    Zitat Zitat von Phipu
    KEY FOUND! [ 12:34:56:78:91 ]
    Decrypted correctly: 100%
    Natürlich ist das nur MEIN Lan dass ich knacke und das Paswort sollte 1234567891 sein aber wie kann ich dass umwandeln??
    Zitat Zitat von Freeway861
    Tu mal die Doppelpunkte raus, dann hast du dein PW...

  5. #5
    CIH-Virus Avatar von -[RiDER]-
    Registriert seit
    05.01.2007
    Beiträge
    496

    Standard

    Hi

    In der Praxis dürfte isdigit() dafür geeignet sein.
    GreetZ RiDER

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •