Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Ein kleiner simpler Taschenrechner

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 26.07.2007, 00:49    Titel: Ein kleiner simpler Taschenrechner Antworten mit Zitat

Das ist ein kleiner nützlicher Taschenrechner, der dieckt in der Komanndozeile benutzt werden kann:

Code:
geht ja jetzt in de zweite Runde


Beispiel wenn das Programm jetzt calc heissen würde:
Code:

calc 5 + 5

Ausgabe:
10

Naja er hätte noch ein paar Funktionen mehr vertragen können lachen
///
Edit
Bugs!! Ich weiss happy
Naja den Code patche ich noch xD
_________________
Bis irgendwann... grinsen


Zuletzt bearbeitet von AndT am 30.07.2007, 11:43, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 26.07.2007, 11:57    Titel: Antworten mit Zitat

Naja, stimmt schon, kann man noch erweitern. lachen
Was z.B. ganz nett wäre: keine Leerzeichen zwischen den Zahlen und Rechenoperations-Zeichen (was für'n geiles Wort). Vllt. auch Klammern mit Rekursion (Hallo ytwinky! lächeln).
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 26.07.2007, 16:38    Titel: Antworten mit Zitat

Hi,
..Rekursion ist schon geil, ich benutze sie, seit Turbo-Pascal, schon deshalb gerne, um zu zeigen, daß ich es kapiert habe vor lachen auf dem Boden rollen
@Eingangspost:
Wenn du die umständliche If-Konstruktion durch eine übersichtliche Select Case-Geschichte ersetzt, hast du auch Geschwindigkeitsvorteile:
Bei der If-Anweisung muß jedesmal die Bedingung geprüft und entsprechend verzweigt werden..
..bei Select Case wird die Bedingung nur einmal geprüft und entsprechend verzweigt zwinkern
..mal abgesehen davon, daß imho bei Select Case Ergänzungen leichter einzubauen sind grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 27.07.2007, 13:42    Titel: Antworten mit Zitat

OK Ich versuche die If-Sätze zu minimieren (das ist halt gewohnheitssache zwinkern )
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.07.2007, 01:16    Titel: Antworten mit Zitat

bei mir geht's noch kürzer, ich muss noch net mal die kommandozeile öffnen durchgeknallt
strg+alt+r öffnet bei mir nämlich calc.exe durchgeknallt

schöner start, nur solltest du das noch erweitern, vielleicht noch ein paar nützliche funktionen und das, was meine vorredner schon gepostet haben.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 30.07.2007, 11:40    Titel: Antworten mit Zitat

Der Rechner geht in die zweite Runde zwinkern
Code:
Function Calc (Zahl1 as Double,Operation as String,Zahl2 as Double) as Double
    Dim as String Operations(1 to 9)
    Operations(1)="^"
    Operations(2)="x"
    Operations(3)="/"
    Operations(4)="\"
    Operations(5)="MOD"
    Operations(6)="SHL"
    Operations(7)="SHR"
    Operations(8)="+"
    Operations(9)="-"

select case Operation
    case Operations(1)
        calc=Zahl1 ^ Zahl2
    case Operations(2)
        calc=Zahl1 * Zahl2
    case Operations(3)
        calc=Zahl1 / Zahl2
    case Operations(4)
        calc=Zahl1 \ Zahl2
    case Operations(5)
        calc=ZAhl1 mod Zahl2
    case Operations (6)
        calc=Zahl1 shl Zahl2
    case Operations (7)
        calc=Zahl1 shr Zahl2
    case Operations (8)
        calc=Zahl1 shr Zahl2
    case Operations (9)
        calc=Zahl1 - Zahl2
    end select

end function

dim as double Zahl1,Zahl2,OK
dim as string OperatorX,Z1
Zahl1=VAL(COMMAND(1))
Zahl2=VAL(COMMAND(3))
OperatorX=COMMAND(2)
Z1= str(calc (Zahl1,OperatorX,Zahl2))
OK=1
select case Z1
case "1.#INF"
    Print "Durch null geteilt!"
    OK=0
    end select
    IF MID(Z1,LEN(Z1)-4,1) = "e" Then Print "Fehler in der Berechnung!" : OK = 0
    IF OK= 1 THEN Print calc (Zahl1,OperatorX,Zahl2)

_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 15.08.2007, 00:02    Titel: Antworten mit Zitat

probier dein programm mal mit "1 / 100"...
oder "54 + 1"...
oder "4 * 3"...

warum fängst du exponentialanzeigen als "Fehler" ab? Benutz "print using".


Lutz böse Ifer
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 15.08.2007, 00:29    Titel: Antworten mit Zitat

Ring frei zur 3. Runde:
Code:
Function Calc (Zahl1 As Double, Operator As String, Zahl2 As Double) As Double
  Select Case Operator
    Case "^"
      Return Zahl1 ^ Zahl2
    Case "x", "*"
      Return Zahl1 * Zahl2
    Case "/"
      Return Zahl1 / Zahl2
    Case "\"
      Return Zahl1 \ Zahl2
    Case "MOD"
      Return Zahl1 Mod Zahl2
    Case "SHL"
      Return Zahl1 Shl Zahl2
    Case "SHR"
      Return Zahl1 Shr Zahl2
    Case "+"
      Return Zahl1 + Zahl2
    Case "-"
      Return Zahl1 - Zahl2
  End Select
End Function
..siehst du den Unterschied?
[Edit]
Du kannst natürlich auch Format[$] benutzen..
Befehlzreferenz rulez vor lachen auf dem Boden rollen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz