Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Wissenschaftlicher Taschenrechner programmieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
09.12.2004, 19:16 Uhr
snow



Ich hab mal ne gaaaaaaanz große bitte an die Programmierer unter euch.
Ich soll als Hausaufgabe nen Taschenrechner im C++ programmieren.
Blick da aber noch nicht besonders viel durch.

Ich hatte in der Berufsschule erst so die allgemeinen Sachen und Schleifen und SwitchCase.
Es wär total nett, wenn ihr mir zeigen könntet wie es geht.

Mal zum Taschenrechner, er soll keine grafische Oberfläche haben, also nur in diesem DOS Fenster. Zudem sollen folgende Funktionen enthalten sein.

- alle Grundrechenarten
- (n-te) Wurzel aus, Potenzrechnung
- trigonometrische Funktion (sin, cos, tan, ctg)
- % - Rechnung, 1/x Funktion
- Fakultät (wenn möglich)
- Schaltjahrberechnung
- log, ln

Ausgabe

- Mitte Bildschirm: die gestellte Aufgabe mit dem Ergebnis
- 16-stellige Ausgabe, wenn dies nicht ausreicht wissenschaftliche Ausgabe

bitte bitte bitte helf mir.danke schonmal vorab.

mfg Snow


PS: falls es per Messenger besser zu erkären geht hier meine addys:

ICQ: 169 146 872
MSN: snow123@freenet.de
Yahoo: snowi87
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.12.2004, 20:01 Uhr
(un)wissender
Niveauwart


Eingabe parsen (Lexer, Parser) und dann rechnen.
Bilde dir die EBNF des Rechners auf Funktionen ab.

Das kam hier schon 100mal, such mal danach (Taschenrechner, usw).
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.12.2004, 20:07 Uhr
derphilipder



@Unwissender

Das mit dem parsen ist für nen Anfänger wohl n bischen schwierig, oder?
Bei ner Hausaufgabe reicht bestimmt auch ein Menügeführte Rechner.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.12.2004, 20:20 Uhr
snow



@unwissender ich versteh überhaupt nix von dem was du sagst :-/

also ich denk zu nächst würde erstmal die struktur reichen damit ich weiter komme.
das ganze sollte per schleife(n) und switchcase zu machen sein sagt der lehrer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.12.2004, 20:27 Uhr
derphilipder



Mach das so, daß Du ein Menü ausgibst, in dem der Benutzer über Zahlen oder Buchstaben die Rechenart auswählt.
Über diese Eingabe verzweigst Du den Verlauf(switch) und lässt den Benutzer die entsprechenden Werte eingeben

Dann Ergebnis ausgeben und wieder von vorne(Schleife)
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.12.2004, 20:29 Uhr
snow



Ja genauso wollt ich das machen, nur wie mach ich das?^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.12.2004, 22:17 Uhr
derphilipder



Naja so in der Art:

C++:
int main()
{
   int auswahl;
   do
   {
      cout<<"...";//Menue ausgeben
      cin>>auswahl;
      switch(auswahl)
      {
      case a:{
                cout<<"...";//Auffordern Variablen einzugeben
                cin>>...//Variablen einlesen
                //Berechnungen durchfuehren
                //Ergebnis ausgeben
                }
      case b:/...
      }
   }while(auswahl!=0);

}


--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"

Dieser Post wurde am 09.12.2004 um 22:19 Uhr von derphilipder editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.12.2004, 20:45 Uhr
snow



Hi ich bin jetzt soweit, aber das Programm läuft so nicht. Woran liegt das?


C++:
//--------------Moduldatein, Headerdatein oder Programmbiblotheken--------------
#include<iostream.h>      //enthält Programme für cin und cout
#include<conio.h>          //enthält Programme wie getch oder clrscr
#include<math.h>          //für mathematische Berechnungen nötig
#include<stdio.h>          //für standart Ein- und Ausgaben
#include<iomanip.h>

//----------------------------Globale Deklarationen-----------------------------
char op;
float zahl1,zahl2,summe;

//--------------------------------Hauptprogramm---------------------------------
void main()

    {
   clrscr;
   cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl;
   cout<<"(g)rundrechenarten, (p)otenzrechnung, (w)urzel, (n)-te wurzel, ";
   cout<<"(k)ehrwert, (t)rigonomische Funktion, (f)akultät, ";
   cout<<"oder (s)chaltjahrberechnung";
   switch (op)
       {
      case 'g': clrscr;
       cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl;
      cout<<"Du kannst addieren, subtrahieren, multiplizieren und ";
      cout<<"dividieren"<<endl;
      cout<<"Gib die Aufgabe ein";
      cin>>zahl1>>op>>zahl2;
       switch(op)
          {
           case'+': cout<<zahl1+zahl2=summe;break;
          case'-': cout<<zahl1-zahl2=summe;break;
          case'*': cout<<zahl1*zahl2=summe;break;
          case'/': if (zahl2==0)
             {
            cout<<"Die Division durch 0 ist nicht möglich, bitte geben sie ";
            cout<<"eine neue Zahl ein";
            cin<<zahl2;
            }
                 cout<<zahl1/zahl2=summe;break;
         case':': if (zahl2==0)
             {
            cout<<"Die Division durch 0 ist nicht möglich, bitte geben sie ";
            cout<<"eine neue Zahl ein";
            cin<<zahl2;
            }
                 cout<<zahl1/zahl2=summe;break;
        break;
         }

      }
    getch;
   }
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.12.2004, 21:13 Uhr
derphilipder



Na was läuft denn nicht?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.12.2004, 21:25 Uhr
snow



Ich habs mal hochgeladen damit ist es bestimmt leichter die Fehler zu finden.

Download
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: