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 ]
010
10.12.2004, 21:30 Uhr
derphilipder



Nun sag doch erstmal was nicht läuft...

Fehler beim Kompilieren?
Programm an sich läuft nicht?

Also was mir auf den ersten Blick so auffällt:

clrscr; - muss clrscr(); heissen
vor dem ersten switch liest Du gar keine Variable op ein.

Sieht aber insgesamt nicht sehr lauffähig aus.

Hab nur im Moment leider keine Zeit..
--
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
011
10.12.2004, 21:34 Uhr
snow



Ja der hat beim Komplimieren mehrere Fehler.

"vor dem ersten switch liest Du gar keine Variable op ein"

Wo meinst du...? Soll ich was machen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
10.12.2004, 23:00 Uhr
snow



gut hab das jetzt soweit hingekriegt das das so läuft, mit den Grundrechenarten bin ich jetzt fertig.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
10.12.2004, 23:51 Uhr
snow



So ich hab das mit den trigonomischen Funktionen probiert, also sin, cos, tan und ctg.

Aber irgendwie scheint das nicht richtig zu klappen,
jetzt hat das Programm wieder nen Fehler beim Kompilieren.


Könnte da mal wer nachschaun?


Habs wieder als Download gestellt.


Danköö schonmal.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
11.12.2004, 11:06 Uhr
derphilipder



Wenn Du solche Probleme hast, ist es immer am besten, die Fehlermeldung und die Stelle an der der Fehler auftritt zu posten.

Hab nämlich keine Lust das selber zu kompilieren - ich hab schon nen Taschenrechner.
--
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
015
11.12.2004, 11:50 Uhr
snow



Hab nur gedacht das es wesentlich schneller geht so den Fehler zu finden, wenn du des schnell kompilierst.

Ich hab es im Code mit [Fehler] gekennzeichnet wo sich der Fehler befindet. So ich geb dann mal die Fehler in der Reihenfolge an wie sie im Code vorkommen.

Also die Fehler:
"Ambiguous operators need parenthese"
"Ambiguous operators need parenthese"
"Unreachable code"
"Statement missing ;"
"Compound statement missing }"


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<<endl;
   cout<<"(g)rundrechenarten"<<endl<<"(t)rigonomische ";
   cout<<"Funktion"<<endl<<"(p)otenzrechnung"<<endl;
   cout<<"(w)urzel"<<endl<<"(n)-te wurzel"<<endl<<"(k)ehrwert"<<endl;
   cout<<"(p)otenzrechnung"<<endl<<"(f)akultaet"<<endl;
   cout<<"(s)chaltjahrberechnung"<<endl<<endl;
   cout<<"Tippen Sie den Buchstaben fuer die Rechenart ein,"<<endl;
   cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: ";
   cin>>op;
   //Ist das Hauptmenü durch welches man in die Rechenmenüs kommt.
   switch(op)
       {
      case 'g': clrscr();
       cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl<<endl;
      cout<<"Du kannst: "<<endl<<endl;
      cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren"<<endl;
      cout<<"dividieren"<<endl<<endl;
      cout<<"Gib die Rechenaufgabe ein: ";
      cin>>zahl1>>op>>zahl2;
      //Ist das Rechenmenü für die Grundrechenarten.
       switch(op)
          {
           case'+': cout<<endl<<za[Fehler]hl1+zahl2;break;
          case'-': cout<<endl<<zahl[Fehler]1-zahl2;break;
          case'*': cout<<endl<<zahl1*zahl2;break;
          case'/': if (zahl2==0)
             {
            cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
            cout<<"geben sie eine neue Zahl ein";
            cin>>zahl2;
            }
                 cout<<endl<<zahl1/zahl2;break;
         case':': if (zahl2==0)
             {
            cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
            cout<<"bitte geben sie eine neue Zahl ein";
            cin>>zahl2;
            }
                 cout<<endl<<zahl1/zahl2;break;
        b[Fehler]reak;
      }
         //Hier sind die Rechnungen für die Grundrechenarten
      {
      case't': clrscr();
      cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl<<endl;
      cout<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl;
      cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)"<<endl;
      cout<<endl<<"Tipp erst den Buchstaben der Funktion ein,"<<endl;
      cout<<"die du benutzen willst, dann die Zahl die berechnet"<<endl;
      cout<<"werden soll und bestätige dann mit Enter";
      cin>>op>>zahl1
      //Ist das Rechenmenü für Trigonomischen Funktionen.
      switch[Fehler](op)
          {
         case's': cout<<endl<<sin(zahl1);break;
         case'c': cout<<endl<<cos(zahl1);break;
         case't': cout<<endl<<tan(zahl1);break;
         }
      break;
         //Hier sind die Rechnungen der Trigonomischen Funktionen
      }


    getch();

[Fehler]}



Ich würd trotzdem denken das es viel übersichtlicher ist, wenn du das selbst Kompilierst, dauert doch nur ein paar Sekunden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
11.12.2004, 16:18 Uhr
derphilipder



Bei mir funktioniert es so:

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---------------------------------
int main()
{
    clrscr();
   cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl<<endl;
   cout<<"(g)rundrechenarten"<<endl<<"(t)rigonomische ";
   cout<<"Funktion"<<endl<<"(p)otenzrechnung"<<endl;
   cout<<"(w)urzel"<<endl<<"(n)-te wurzel"<<endl<<"(k)ehrwert"<<endl;
   cout<<"(p)otenzrechnung"<<endl<<"(f)akultaet"<<endl;
   cout<<"(s)chaltjahrberechnung"<<endl<<endl;
   cout<<"Tippen Sie den Buchstaben fuer die Rechenart ein,"<<endl;
   cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: ";
   cin>>op;
   //Ist das Hauptmenü durch welches man in die Rechenmenüs kommt.
   switch(op)
       {
      case 'g': clrscr();
       cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl<<endl;
      cout<<"Du kannst: "<<endl<<endl;
      cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren"<<endl;
      cout<<"dividieren"<<endl<<endl;
      cout<<"Gib die Rechenaufgabe ein: ";
      cin>>zahl1>>op>>zahl2;
      //Ist das Rechenmenü für die Grundrechenarten.
       switch(op)
          {
           case'+': cout<<endl<<zahl1+zahl2;break;
          case'-': cout<<endl<<zahl1-zahl2;break;
          case'*': cout<<endl<<zahl1*zahl2;break;
          case'/': if (zahl2==0)
             {
            cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
            cout<<"geben sie eine neue Zahl ein";
            cin>>zahl2;
            }
                 cout<<endl<<zahl1/zahl2;break;
         case':': if (zahl2==0)
             {
            cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
            cout<<"bitte geben sie eine neue Zahl ein";
            cin>>zahl2;
            }
                 cout<<endl<<zahl1/zahl2;break;
        break;
      }
         //Hier sind die Rechnungen für die Grundrechenarten
      {
      case't': clrscr();
      cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl<<endl;
      cout<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl;
      cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)"<<endl;
      cout<<endl<<"Tipp erst den Buchstaben der Funktion ein,"<<endl;
      cout<<"die du benutzen willst, dann die Zahl die berechnet"<<endl;
      cout<<"werden soll und bestätige dann mit Enter";
      cin>>op>>zahl1;
      //Ist das Rechenmenü für Trigonomischen Funktionen.
      switch(op)
          {
         case's': cout<<endl<<sin(zahl1);break;
         case'c': cout<<endl<<cos(zahl1);break;
         case't': cout<<endl<<tan(zahl1);break;
         }
      break;
         //Hier sind die Rechnungen der Trigonomischen Funktionen
      }


    getch();

   }
    return 0;
}


--
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
017
11.12.2004, 16:22 Uhr
snow



was hast du geändert?

und hast du vieleicht icq, msn oder yahoo?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
11.12.2004, 17:05 Uhr
derphilipder



Eigentlich nur den Fehler statement missing behoben.(fehlendes Semikolon)

Zitat von snow:

und hast du vieleicht icq, msn oder yahoo?

Nein, ich versuche das Verwenden solch nerviger Programme zu vermeiden.
--
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
019
12.12.2004, 19:31 Uhr
snow



Dank dir. Ich bin jetzt eigentlich fertig und es hatte auch soweit alles funktioniert dann hab ich ein wenig den code aufgeräumt und jetzt hat der nen Problem bei den Grundrechenarten, der zeigt das Ergebnis nicht mehr an.

Und bei den anderen Rechenfunktionen klappt die Schleife nicht mehr.
Ich hab schon geschaut aber nix gefunden.

Ihr könnt euch die cpp hier runterladen Download

hier ist der code:


C++:
//--------------Moduldatein, Headerdatein oder Programmbiblotheken--------------
#include<iostream>            //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<iomanip>
#include <stdio.h>
//using namespace std;
//void clrscr(){}

//----------------------------Globale Deklarationen-----------------------------
float zahl1,zahl2,summe,ergebnis;
int Jahr,faku,zahl,i, op;
bool neg;

//--------------------------------Hauptprogramm---------------------------------
int main()
{
    while(1){ //Hauptmenü durch welches man in die Rechenmenüs kommt
        clrscr();
        cout<<"Geben sie ein welche Rechenart sie benutzen wollen: "<<endl;
        cout<<endl<<"(1)Grundrechenarten"<<endl<<"(2)Trigonomische ";
        cout<<"Funktion"<<endl<<"(3)Prozentrechnung"<<endl;
        cout<<"(4)Wurzel"<<endl<<"(5)n-te wurzel"<<endl<<"(6)Kehrwert"<<endl;
        cout<<"(7)Potenzrechnung"<<endl<<"(8)Fakultaet"<<endl;
        cout<<"(9)Schaltjahrberechnung"<<endl<<"(10)Quadrieren"<<endl;
        cout<<"(11)natuerlicher Logarithmus (ln)"<<endl;
        cout<<"(12)Zehnerlogarithmus(log)"<<endl<<endl;
        cout<<"Tippen Sie die Zahl fuer die Rechenart ein,"<<endl;
        cout<<"die sie benutzen wollen und bestaetigen Sie mit Enter: ";
        cin>>op;

        switch(op)
        {
            case 1: //Grundrechenarten
            clrscr();
            cout<<"Hier kannst du mit den Grundrechenarten rechnen."<<endl;
            cout<<endl<<"Du kannst: "<<endl<<endl;
            cout<<"addieren"<<endl<<"subtrahieren"<<endl<<"multiplizieren";
            cout<<endl<<"dividieren"<<endl<<endl;
            cout<<"Gib die Rechenaufgabe ein: ";
            cin>>zahl1>>op>>zahl2;

            switch(op)
            {
                case'+':
                cout<<endl<<zahl1+zahl2;
                break;
                case'-':
                cout<<endl<<zahl1-zahl2;
                break;
                case'*':
                cout<<endl<<zahl1*zahl2;
                break;
                case'/':
                if (zahl2==0)
                {
                    cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
                    cout<<"geben sie eine neue Zahl ein";
                    cin>>zahl2;
                }
                cout<<endl<<zahl1/zahl2;
                break;
                case':':
                if (zahl2==0)
                {
                    cout<<endl<<"Die Division durch 0 ist nicht moeglich, ";
                    cout<<"bitte geben sie eine neue Zahl ein";
                    cin>>zahl2;
                }
                cout<<endl<<zahl1/zahl2;break;
                break;
            }
            break;

            case 2: //Trigonomische Funktionen
            clrscr();
            cout<<"Hier kannst du mit Trigonomischen Funktionen rechnen."<<endl;
            cout<<endl<<"Du kannst folgende Funktionen benutzen: "<<endl<<endl;
            cout<<"sin(s)"<<endl<<"cos(c)"<<endl<<"tan(t)"<<endl<<"ctg(g)";
            cout<<endl<<endl<<"Tipp erst den Buchstaben der Funktion ein,";
            cout<<endl<<"die du benutzen willst, dann die Zahl die berechnet";
            cout<<endl<<"werden soll und bestätige dann mit Enter: ";
            cin>>op>>zahl1;
            //Ist das Rechenmenü für Trigonomischen Funktionen.
            switch(op)
            {
                case's': cout<<endl<<sin(zahl1);break;
                case'c': cout<<endl<<cos(zahl1);break;
                case't': cout<<endl<<tan(zahl1);break;
                case'g': cout<<endl<<1/tan(zahl1);break;
            }
            break;

            case 7: //Potenzrechnung
            clrscr();
            ergebnis=1;
            cout<<"Rechnung eingeben (x^y; Nur natürliche Zahlen benutzen):";
            cin>>zahl1>>op>>zahl2;
            zahl2=int(zahl2);
            neg=false;
            if(zahl2<0){
                neg=true;
                zahl2*=-1;
            }
            while(zahl2){
                ergebnis*=zahl1;
                zahl2--;
            }
            if(neg)ergebnis=1/ergebnis;
            cout<<endl<<ergebnis;
            break;

            case 9: //SChaltjahrberechnung
            clrscr();
            cout<<"Geben Sie das Jahr ein: ";
               cin>>Jahr;
               if(Jahr%400==0)
               cout<<endl<<"Dies ist ein Schaltjahr!";
               else if (Jahr%4==0&&Jahr%100!=0)
            cout<<endl<<"Dies ist ein Schaltjahr!";
                 else cout<<endl<<"Das ist kein Schaltjahr!";
            break;

            case 6: //Kehrwert
            clrscr();
            cout<<"Gib die Zahl ein von der du den Kehrwert bilden willst: ";
            cin>>zahl1;
            cout<<endl<<"Das Ergebnis ist: "<<1/zahl1;
            break;

            case 8: //Fakultät
            clrscr();
            printf("Bitte geben sie die Zahl ein von der sie die Fakultaet");
            printf("berechnen wollen: ");
                  scanf("%d",&zahl);
                  faku =1;

                for(i=1;i<=zahl;i=i+1)
                  {
                     faku =faku*i;
                      printf("%d \n",faku);
                  }
                  printf("\n Die Fakultaet ist: %d",faku);
            break;

            case 4: //Wurzel
            clrscr();
            cout<<"Gib die Zahl ein von der du die Wurzel ziehen möchtest: ";
            cin>>zahl1;
            cout<<endl<<"Das Ergebnis ist: "<<sqrt(zahl1);
            break;

            case 10: //Quadrat
            clrscr();
            cout<<"Geben sie die Zahl ein die quadriert werden soll: ";
            cin>>zahl1;
            cout<<endl<<"Das Ergebnis beträgt: "<<pow(zahl1,2);
            break;

            case 3: //Prozentrechnung
            clrscr();
            cout<<"Hier kannst du mit Prozent rechnen, tipp zuerst den ";
            cout<<"Prozentsatz ein und dann den Grundwert um den ";
            cout<<"Prozentwert zu erhalten: ";
            cin>>zahl1>>zahl2;
            cout<<"Der Prozentwert beträgt: "<<zahl1*zahl2/100<<"%";
            break;

            case 5: //n-te Wurzel
            clrscr();
            cout<<"Berechnung der n-ten Wurzel aus x."<<endl<<"n: ";
                cin>>zahl1;
                cout<<endl<<"x: ";
                cin>>zahl2;
            cout<<pow(zahl2,1/zahl1);
            break;

            case 11: //Logarythmus(ln)
            clrscr();
            cout<<"Hier kannst du natürlichen Logarythmus berrechnen "<<endl;
            cout<<"Gib die gewuenschte Zahl ein: ";
            cin>>zahl1;
            cout<<endl<<"Das Ergebnis ist: "<<log(zahl1);
            break;
            
            case 12: //Zehnerlogarythmus(log)
            clrscr();
            cout<<"Hier kannst du den Zehnerlogarythmus berrechnen "<<endl;
                cout<<"Gib die gewuenschte zahl ein: ";
            cin>>zahl1;
            cout<<endl<<"Das Ergebnis ist: "<<log10(zahl1);
            break;
        }
        cout<<endl<<endl<<"Zurueck zum Hauptmenue? (j)a, (n)ein ";
        cin>>op;
        if(op=='n')break;

    }
    return 0;
}



Danke schonmal für die Hilfe
 
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: