Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe

Diskutiere Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe im Developer Network Forum im Bereich Hardware & Software Forum; Hi, hier ist mal mein erstes eigenes Projekt in C++ . Es handelt sich um ein Programm das eine Rechenhilfe für Exponentielles Wachstum sein...
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #1
Homie1

Homie1

Bekanntes Mitglied
Dabei seit
08.12.2008
Beiträge
98
Reaktionspunkte
0
Ort
NRW
Hi,

hier ist mal mein erstes eigenes Projekt in C++ . Es handelt sich um ein Programm das eine Rechenhilfe für Exponentielles Wachstum sein soll.

Das Programm ist hier zu downloaden : Klick mich

Hier nun der Code der dahinter steckt:
Code:
#include<iostream>
#include <math.h>
#include <windows.h>
#define WURZEL(n,x) pow(x, 1.0/n)

  using namespace std;

  int main()
  {
      system("color 1F");
      
      Menue:
      
      double a; // a0
      double b; // an
      double c; // n
      double d; // q
      double ergebnis;
      double zahl;
  
      
cout << "Bitte gib den gesuchten Wert an um den Rechner zu starten, \n";
cout << "und bestaetige bitte deine Eingabe immer mit Enter. \n";
cout << "Bitte beachte das das Komma als . geschreiben wird. \n";
cout << "Programm geschrieben von Timo Xxxxxxx \n\n";
cout << "1 - wenn a0 gesucht ist \n";
cout << "2 - wenn an gesucht ist \n";
cout << "3 - wenn n  gesucht ist \n";
cout << "4 - wenn q  gesucht ist \n";
cout << "5 - fuer Zinseszinsberechnung mit einer Sonderzahlung \n";
cout << "9 - fuer einen Umrechner von P% zu q oder q zu P% \n";
cout << "0 - zum Beenden \n\n";
int wahl;
cin>>wahl;
          switch(wahl)
    {
    case 1:
        cout << "\nBitte an eingeben \n";
        cin >> b;
        cout << "Bitte  n eingeben \n";
        cin >> c;
        cout << "Bitte  q eingeben \n";
        cin >> d;
        
        zahl = pow(d,c);
        ergebnis = b/zahl;
        
        cout <<"\n\nDas gesuchte a0 ist  " << ergebnis;
        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
        cin >>wahl;
        if (wahl==1)
        { cout << "\n\n"; system("cls"); goto Menue; }
        if (wahl==0)
        { cin.get(); }
        
        
        break;
    case 2:
        cout << "\nBitte a0 eingeben \n";
        cin >> a;
        cout << "Bitte  n eingeben \n";
        cin >> c;
        cout << "Bitte  q eingeben \n";
        cin >> d;
        
        zahl = pow(d,c);
        ergebnis = a*zahl;
  
        cout <<"\n\nDas gesuchte an ist  " << ergebnis;
        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
        cin >>wahl;
        if (wahl==1)
        { cout << "\n\n"; system("cls"); goto Menue; }
        if (wahl==0)
        { cin.get(); }
        
        
        break;
    case 3:
        cout << "\nBitte a0 eingeben \n";
        cin >> a;
        cout << "Bitte  an eingeben \n";
        cin >> b;
        cout << "Bitte  q eingeben \n";
        cin >> d;
        
        double zahl2;
        double zahl3;
        
        zahl = b/a;
        zahl2 = log(zahl);
        zahl3 = log(d);
        ergebnis = zahl2/zahl3;
        
        cout <<"\n\nDas gesuchte n ist  " << ergebnis;
        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
        cin >>wahl;
        if (wahl==1)
        { cout << "\n\n"; system("cls"); goto Menue; }
        if (wahl==0)
        { cin.get(); }
        
        
        break;
    case 4:
        cout << "\nBitte an eingeben \n";
        cin >> b;
        cout << "Bitte  a0 eingeben \n";
        cin >> a;
        cout << "Bitte  n eingeben \n";
        cin >> c;
        
        zahl = b/a;
        ergebnis = WURZEL(c,zahl);
        
        cout <<"\n\nDas gesuchte q ist  " << ergebnis;
        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
        cin >>wahl;
        if (wahl==1)
        { cout << "\n\n"; system("cls"); goto Menue; }
        if (wahl==0)
        { cin.get(); }
        
        
        break;
    case 5:
         
         double zahlung;
         double c2;
         double zahl4;
         
         cout << "\nBitte a0 eingeben \n";
         cin >> a;
         cout << "Bitte q eingeben \n";
         cin >> d;
         cout << "Bitte n fuer den Abschnitt bis zur Sonderzahlung eingeben \n";
         cin >> c;
         cout << "Bitte Wert der Sonderzahlung eingeben \n";
         cin >> zahlung;
         cout << "Bitte n fuer den Abschnitt bis zum Endkapital eingeben \n";
         cin >> c2;
         
         zahl = pow(d,c);
         zahl4 = a*zahl;
         zahl = zahl4+zahlung;
         zahl4 = pow(d,c2);
         ergebnis = zahl*zahl4;
        
        cout <<"\n\nDas gesuchte Kn ist  " << ergebnis;
        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
        cin >>wahl;
        if (wahl==1)
        { cout << "\n\n"; system("cls"); goto Menue; }
        if (wahl==0)
        { cin.get(); }
         
         
         
         
         break;
    case 9:
        cout << "\n1 - wenn q gesucht ist \n";
        cout << "2 - wenn p gesucht ist \n";
        cout << "9 - um zum Menue zu gelangen \n";
        cout << "0 - zum Beenden \n\n";
        int wahl;
        cin>>wahl;
        cout << "\n\n";
        
        switch(wahl)
                   {
                      case 1:
                        cout << "Bitte P% eingeben \n";
                        cin >> d;
                        
                        ergebnis = d/100+1;
                        
                        cout <<"\n\nDas gesuchte q ist  " << ergebnis;
                        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
                        cin >>wahl;
                        if (wahl==1)
                        { cout << "\n\n"; system("cls"); goto Menue; }
                        if (wahl==0)
                        { cin.get(); }
                        
                        
                        
                           break;
                      case 2:
                        cout << "Bitte q eingeben \n";
                        cin >> d;
                        
                        zahl = d-1;
                        ergebnis = zahl*100;
                        
                        cout <<"\n\nDas gesuchte P% ist  " << ergebnis <<" %";
                        cout <<"\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n";
                        cin >>wahl;
                        if (wahl==1)
                        { cout << "\n\n"; system("cls"); goto Menue; }
                        if (wahl==0)
                        { cin.get(); }
                        
                        
                           break;
                      case 9:
                        system("cls"); 
                        goto Menue;
                            break;
                      case 0:
                         cin.get();
                             break;
                      }
        break;
    case 0:
        break;
    }

  }


Was sagt ihr so fürs erste ?
Habt ihr Verbesserungsvorschläge ?
Fehler gefunden ?

Dann pls her damit :)
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #2
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
ich finde teilweise etwas umständlich geschrieben, die wahl der "Namen" wie "an, a0, n, q" finde ich persönlich "seltsam" um es milde auszudrücken ;) ich weiß nämlich so garnicht, was welcher Wert bedeutet.

Noch eine Kleinigkeit: Systembefehle sollte man vermeiden, du hast hier "system("color 1F");" benutzt. Was macht der Anwender aber jetzt unter Linux?
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #3
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Mit wine laufen lassen wäre die einzige Möglichkeit, denke ich. Aber das Programm kann man doch bestimmt irgendwie portieren.
Das ließe sich mit einem TUI à la (n)curses.h realisieren. Ich setz mich morgen mal dran :).
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #4
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Ach komm. Das "color 1F" ist doch nur für die farbliche Gestaltung des Fensters ("color 1F" = Dunkelblau auf Weiß) zuständig.
Das kannst du mal auch mal schnell weglassen...;)

double b; // an
double c; // n
double d; // q
Nur mal so: Du musst nicht weiterlaufende Buchstaben benutzen, du darfst für "q" durchaus auch die variable "double q;" benutzen!:st:
Und das mit den Sprungbefehlen("Main:" und "goto Menue;") ist in C++ schon mal komplett illegal!:D
 
Zuletzt bearbeitet:
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #5
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #6
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Wer hat dir das denn erlaubt? Da ist doch Homie1's Urheberrecht drauf!:st:

Wenn du was geändert hast, dann stell die Änderungen doch hier herein. Homie1 will ja "Verbesserungen" sehen!
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #7
Homie1

Homie1

Bekanntes Mitglied
Dabei seit
08.12.2008
Beiträge
98
Reaktionspunkte
0
Ort
NRW
bin gerade selber recht ratlos warum ich net z.b. an für an als variable benutzt hab :lol:

wie soll das mit den sprung-befehlen denn besser gelöst werden ?
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #8
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Schon mal was von Funktionen gehört?:rolleyes::D
 
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #9
O

oci300

Bekanntes Mitglied
Dabei seit
05.03.2008
Beiträge
107
Reaktionspunkte
0
Gelöscht
 
Zuletzt bearbeitet:
  • Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe Beitrag #10
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Ich hab das ganze aus Spaß für Linux portiert und in C umgeschrieben. Nur mit der Math.h hat gcc Probleme, also muss man es mit g++ kompilieren xD.
Code:
/*Linux Version, in C umgeschrieben*/
#include <math.h>
#include<stdio.h>
#include<stdlib.h>
#define WURZEL(n,x) pow(x, 1.0/n)

  int main()
  {
      system("clear");
      Menue:
      
      float a; // a0
      float b; // an
      float c; // n
      float d; // q
      float ergebnis;
      float zahl;
  
      
printf("Bitte gib den gesuchten Wert an um den Rechner zu starten, \n");
printf("und bestaetige bitte deine Eingabe immer mit Enter. \n");
printf("Bitte beachte das das Komma als . geschreiben wird. \n");
printf("Programm geschrieben von Timo Xxxxxxx \n\n");
printf("1 - wenn a0 gesucht ist \n");
printf("2 - wenn an gesucht ist \n");
printf("3 - wenn n  gesucht ist \n");
printf("4 - wenn q  gesucht ist \n");
printf("5 - fuer Zinseszinsberechnung mit einer Sonderzahlung \n");
printf("9 - fuer einen Umrechner von Prozentsatz zu q oder q zu Prozentsatz \n");
printf("0 - zum Beenden \n\n");
int wahl;
scanf("%d",&wahl);
          switch(wahl)
    {
    case 1:
        printf("\nBitte an eingeben \n");
        scanf("%f",&b);
        printf( "Bitte  n eingeben \n");
        scanf("%f",&c);
        printf("Bitte  q eingeben \n");
        scanf("%f",&d);
        
        zahl = pow(d,c);
        ergebnis = b/zahl;
        
        printf("\n\nDas gesuchte a0 ist %f",ergebnis);
        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
        scanf("%d",&wahl);
        if (wahl==1)
        { 

		printf("\n\n"); 
		system("clear");
		goto Menue; 

	}
        if (wahl==0)
        { 

		getchar(); 

	}
        
        
        break;
    case 2:
        printf("\nBitte a0 eingeben\n");
        scanf("%f",&a);
        printf( "Bitte  n eingeben\n");
        scanf("%f",&c);
        printf("Bitte  q eingeben\n");
        scanf("%f",&d);
        
        zahl = pow(d,c);
        ergebnis = a*zahl;
  
        printf("\n\nDas gesuchte an ist %f",ergebnis);
        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
        scanf("%d",&wahl);
        if (wahl==1)
        { 

		printf("\n\n"); 
		system("clear"); 
		goto Menue; 

	}
        if (wahl==0)
        { 
	
		getchar(); 

	}
	                
        break;
    case 3:
        printf( "\nBitte a0 eingeben \n");
        scanf("%f",&a);
        printf("Bitte  an eingeben \n");
        scanf("%f",&b);
        printf("Bitte  q eingeben \n");
        scanf("%f",&d);
        
        float zahl2;
        float zahl3;
        
        zahl = b/a;
        zahl2 = log(zahl);
        zahl3 = log(d);
        ergebnis = zahl2/zahl3;
        
        printf("\n\nDas gesuchte n ist %f",ergebnis);
        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
        scanf("%d",&wahl);
        if (wahl==1)
        { 

		printf( "\n\n"); 
		system("clear"); 
		goto Menue; 

	}
        if (wahl==0)
        { 

		getchar(); 
	
	}
        
        
        break;
    case 4:
        printf("\nBitte an eingeben \n");
        scanf("%f", &b);
        printf("Bitte  a0 eingeben \n");
        scanf("%f", &a);
        printf("Bitte  n eingeben \n");
        scanf("%f",&c);
        
        zahl = b/a;
        ergebnis = WURZEL(c,zahl);
        
        printf("\n\nDas gesuchte q ist %f",ergebnis);
        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
        scanf("%d",&wahl);
        if (wahl==1)
        { 

		printf("\n\n"); 
		system("clear");
		goto Menue; 

	}
        if (wahl==0)
        { 

		getchar();
	
	}
        
        
        break;
    case 5:
         
         float zahlung;
         float c2;
         float zahl4;
         
         printf( "\nBitte a0 eingeben \n");
         scanf("%f",&c);
         printf( "Bitte q eingeben \n");
         scanf("%f",&c);
         printf( "Bitte n fuer den Abschnitt bis zur Sonderzahlung eingeben \n");
         scanf("%f",&c);
         printf( "Bitte Wert der Sonderzahlung eingeben \n");
         scanf("%f",&zahlung);
         printf( "Bitte n fuer den Abschnitt bis zum Endkapital eingeben \n");
         scanf("%f",&c);
         
         zahl = pow(d,c);
         zahl4 = a*zahl;
         zahl = zahl4+zahlung;
         zahl4 = pow(d,c2);
         ergebnis = zahl*zahl4;
        
        printf("\n\nDas gesuchte Kn ist %f",ergebnis);
        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
        scanf("%d",&wahl);
        if (wahl==1)
        { 
		printf("\n\n"); 
		system("clear"); 
		goto Menue;
	}
        if (wahl==0)
        {
 
		getchar(); 
	
	}
         
         
         
         
         break;
    case 9:
        printf( "\n1 - wenn q gesucht ist \n");
        printf( "2 - wenn p gesucht ist \n");
        printf( "9 - um zum Menue zu gelangen \n");
        printf( "0 - zum Beenden \n\n");
        int wahl;
        scanf("%d",&wahl);
        printf("\n\n");
        
        switch(wahl)
                   {
                      case 1:
                        printf( "Bitte Prozentsatz eingeben\n");
                        scanf("%f",&c);
                        
                        ergebnis = d/100+1;
                        
                        printf("\n\nDas gesuchte q ist %f",ergebnis);
                        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
                        scanf("%d",&wahl);
                        if (wahl==1)
                        { 

				printf("\n\n"); 
				system("clear"); 
				goto Menue;
			
			}
                        if (wahl==0)
                        { getchar(); }
                        
                        
                        
                           break;
                      case 2:
                        printf("Bitte q eingeben \n");
                        scanf("%f",&c);
                        
                        zahl = d-1;
                        ergebnis = zahl*100;
                        
                        printf("\n\nDer gesuchte Prozentsatz beträgt %f prozent",ergebnis);
                        printf("\n\nBitte 1 eingeben um zum Menue zu gelangen \noder 0 um das Programm zu Beenden\n");
                        scanf("%d",&wahl);
                        if (wahl==1)
                        { 

				printf("\n\n"); 
				system("clear"); 
				goto Menue; 
		
			}
                        if (wahl==0)
                        { 
			
				getchar(); 

			}
                        
                        
                           break;
                      case 9:
                        system("clear"); 
                        goto Menue;
                            break;
                      case 0:
                         getchar();
                             break;
                      }
        break;
    case 0:
        break;
    }

  }

Ich hab echt keine Hobbies...
 
Thema:

Erstes C++ Projekt | Mathe Exponentialfunktionen Rechenhilfe

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben