Hilfe für Projekt (erw. Taschenrechner)
-
Hallo!
Ich muss mit meiner Gruppe bis Dienstag ein Informatikprojekt abgeben.
Das Programm läuft ganz im Groben, aber es sollte auch "absturzsicher" sein.
Wir haben bereits ein Tutorial gefunden, dass nur die Eingabe von Zahlen und einem Buchstaben erlaubt, aber wir schaffen es nicht, es so einzubauen, dass es auch richtig läuft.Das Programm soll nur auf die Taste Enter und die Eingabe von Zahlen reagieren und mit "x" beendet werden können.
Hier zunächst das Hauptprogramm:
/////
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <windows.h>
#include <ctype.h>int Addition();
int Subtration();
int Multiplikation();
int Division();
int Quadrat();
int Rechteck();
int Dreieck();
int Parallelogramm();
int Trapez();
int Kreis();
int Kreissektor();
int Ellipse();
int Wuerfel();
int Quader();
int Prisma();
int Pyramide();
int Zylinder();
int Kegel();
int Kugel();
int Sinus();
int Cosinus();
int Tangens();
int ArcusSinus();
int ArcusCosinus();
int ArcusTangens();
int Potenzen();
int Wurzel();
int Prozentwert();
int Prozentsatz();
int Grundwert();
double pi = 3.1415926535;int menue,menue1,menue2,menue3,menue4,menue5,menue6,menue7,menue8,x;
int Eingabe()
{
{
printf("\n1) Grundrechenarten\n");
printf("2) Flaechenberechnung\n");
printf("3) Koerperberechnung\n");
printf("4) Trigonometrie\n");
printf("5) Potenzen und Wurzeln\n");
printf("6) Prozentrechnung\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue);
switch(menue)
{
case 1: system("cls");
printf("\n1) Addition\n");
printf("2) Subtration\n");
printf("3) Multiplikation\n");
printf("4) Division\n");
printf("\n5) Zurueck zum Hauptmenue\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue1);
switch (menue1)
{
case 1: Addition();
break;
case 2: Subtration();
break;
case 3: Multiplikation();
break;
case 4: Division();
break;
case 5: system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default : printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}
break;case 2: system("cls");
printf("\n1) Quadrat\n");
printf("2) Rechteck\n");
printf("3) Dreieck\n");
printf("4) Parallelogramm\n");
printf("5) Trapez\n");
printf("6) Kreis\n");
printf("7) Kreissektor\n");
printf("8) Ellipse\n");
printf("\n9) Zurueck zum Hauptmenue\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue2);
switch (menue2){
case 1: Quadrat();
break;
case 2: Rechteck();
break;
case 3: Dreieck();
break;
case 4: Parallelogramm();
break;
case 5: Trapez();
break;
case 6: Kreis();
break;
case 7: Kreissektor();
break;
case 8: Ellipse();
break;
case 9: system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default : printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}break;
case 3: system("cls");
printf("\n1) Wuerfel\n");
printf("2) Quader\n");
printf("3) Prisma\n");
printf("4) Pyramide\n");
printf("5) Zylinder\n");
printf("6) Kegel\n");
printf("7) Kugel\n");
printf("\n8) Zurueck zum Hauptmenue\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue3);
switch (menue3){
case 1: Wuerfel();
break;
case 2: Quader();
break;
case 3: Prisma();
break;
case 4: Pyramide();
break;
case 5: Zylinder();
break;
case 6: Kegel();
break;
case 7: Kugel();
break;
case 8: system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default: printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}break;
case 4: system("cls");
printf("\n1) Sinus\n");
printf("2) Cosinus\n");
printf("3) Tangens\n");
printf("4) Arcus Sinus\n");
printf("5) Arcus Cosinus\n");
printf("6) Arcus Tangens\n");
printf("\n4) Zurueck zum Hauptmenue\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue4);
switch (menue4){
case 1: Sinus();
break;
case 2: Cosinus();
break;
case 3: Tangens();
break;
case 4: ArcusSinus ();
break;
case 5: ArcusCosinus ();
break;
case 6: ArcusTangens ();
break;
case 7: system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default: printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}break;
case 5: system("cls");
printf("\n1) Potenzen");
printf("\n2) Wurzeln");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");
scanf("%d",&menue5);
switch (menue5){
case 1: Potenzen();
break;
case 2: Wurzel();
break;
case 3: system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default: printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}
break;case 6: system("cls");
printf("\n1) Gesucht: Prozentwert W\n");
printf("2) Gesucht: Prozentsatz p%\n");
printf("3) Gesucht: Grundwert G\n");
printf("\n4) Zurueck zum Hauptmenue\n");
printf("\n Bitte waehlen sie einen Menuepunkt aus: ");scanf("%d",&menue7);
switch (menue7){
case 1: Prozentwert();
break;
case 2: Prozentsatz();
break;
case 3: Grundwert();
break;
case 4:system("cls");
printf("\n\n Lade Hauptmenue...");
Sleep(1000);
break;
break;
default: printf("\n!!Fehler!! Bitte neue Eingabe machen\n\n");
break;
}break;
default: printf("\n\n\n !!Fehler!! Bitte neue Eingabe machen\n\n");
Sleep (2000);
break;
}}
return 0;}
int Addition()
{double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Addition koennen nur Dezimalzahlen verwendet werden.");
printf("\nBitte geben sie die erste Zahl ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die zweite Zahl ein ein: ");
scanf("%lf",&b);
c=a+b;
printf("\nErgebnis der Addition: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}
int Subtration()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Subtraktion koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die erste Zahl ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die zweite Zahl ein: ");
scanf("%lf",&b);
c=a-b;
printf("\nErgebnis der Subtraktion: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}
int Multiplikation()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Multiplikation koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die erste Zahl ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die zweite Zahl ein: ");
scanf("%lf",&b);
c=a*b;
printf("\nErgebnis der Multiplikation: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Division()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Division koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Variabel a ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die Variabel b ein: ");
scanf("%lf",&b);
c=a/b;
printf("\nErgebnis der Division: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);
return 0;}
int Quadrat()
{
double a,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Seite a ein: ");
scanf("%lf",&a);
A=pow(a,2);
printf("\nFlaecheninhalt A des Quadrates: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);
return 0;
}int Rechteck()
{
double a,b,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Seite a ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die Seite b ein: ");
scanf("%lf",&b);
A=a*b;
printf("\nFlaecheninhalt A des Rechtecks: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);
return 0;
}int Dreieck()
{
double g,h,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Grundseite g ein: ");
scanf("%lf",&g);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
A=g*h/2;
printf("\nFlaecheninhalt A des Dreiecks: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Parallelogramm()
{
double g,h,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Grundseite g ein: ");
scanf("%lf",&g);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
A=g*h;
printf("\nFlaecheninhalt A des Parallelogramms: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Trapez()
{
double a,b,h,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die untere Seite a ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die obere Seite b ein: ");
scanf("%lf",&b);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
A=(a+b)*h/2;
printf("\nFlaecheninhalt A des Trapezes: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Kreis()
{
double r,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Radius ein: ");
scanf("%lf",&r);
A=pi*pow(r,2);
printf("\nFlaecheninhalt A des Kreises: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Kreissektor()
{
double a,r,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Winkel Alpha in Grad ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie den Radius r ein: ");
scanf("%lf",&r);
A=pi*pow(r,2)*(a/360);
printf("\nFlaecheninhalt A des Kreissektors: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Ellipse()
{
double a,b,A; char taste='z';
system("cls");do
{
printf("\nBei der Flaechenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Diagonale a ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die Diagonal b ein: ");
scanf("%lf",&b);
A=pi*a*b;
printf("\nFlaecheninhalt A der Ellipse: %g",A);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Wuerfel()
{
double a,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Seite a ein: ");
scanf("%lf",&a);
V=a*a*a;
printf("\nVolumen V des Wuerfels: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Quader()
{
double a,b,h,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Seite a ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die Seite b ein: ");
scanf("%lf",&b);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
V=a*b*h;
printf("\nVolumen V des Wuerfels: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Prisma()
{
double g,b,h,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Grundseite g der Grundflaeche ein: ");
scanf("%lf",&g);
printf("\nBitte geben sie die Hoehe b der Grundseite ein: ");
scanf("%lf",&b);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
V=g*b*h/2;
printf("\nVolumen V des Prismas: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Pyramide()
{
double a,h,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Seite a der Grundflaeche ein: ");
scanf("%lf",&a);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
V=pow(a,2)*h/3;
printf("\nVolumen V der Pyramide: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Zylinder()
{
double r,h,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Radius r ein: ");
scanf("%lf",&r);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
V=pow(r,2)*h*pi;
printf("\nVolumen V des Zylinders: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Kegel()
{
double r,h,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Radius r ein: ");
scanf("%lf",&r);
printf("\nBitte geben sie die Hoehe h ein: ");
scanf("%lf",&h);
V=pi*pow(r,2)*h/3;
printf("\nVolumen V des Kegels: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Kugel()
{
double r,V; char taste='z';
system("cls");do
{
printf("\nBei der Volumenberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Radius r ein: ");
scanf("%lf",&r);
V=(4*pi*pow(r,3))/3;
printf("\nVolumen V der Kugel: %g",V);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Sinus()
{
double a,b,c; char taste='z';
system("cls");do
{printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Winkel Alpha in Grad ein: ");
scanf("%lf",&a);
b=(a/360)*2*pi;
c=sin(b);
printf("\nDer Sinus von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);
return 0;}
int Cosinus()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Winkel Alpha in Grad ein: ");
scanf("%lf",&a);
b=(a/360)*2*pi;
c=cos(b);
printf("\nDer Cosinus von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Tangens()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Winkel Alpha in Grad ein: ");
scanf("%lf",&a);
b=(a/360)*2*pi;
c=tan(b);
printf("\nDer Tangens von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int ArcusSinus()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Sinus von Alpha ein: ");
scanf("%lf",&a);
b=asin(a);
c=(b*360)/(2*pi);
printf("\nDer Arcus Sinus von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int ArcusCosinus()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Cosinus von Alpha ein: ");
scanf("%lf",&a);
b=acos(a);
c=(b*360)/(2*pi);
printf("\nDer Arcus Cosinus von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int ArcusTangens ()
{
double a,b,c; char taste='z';
system("cls");do
{
printf("\nBei der Berechnung Trigonometrischer Funktionen koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Tangens von Alpha ein: ");
scanf("%lf",&a);
b=atan(a);
c=(b*360)/(2*pi);
printf("\nDer Arcus Tangens von Alpha betraegt: %g",c);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Wurzel()
{
double a,w; char taste='z';
system("cls");do
{
printf("\nBei der Wurzelberechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Zahl a ein: ");
scanf("%lf",&a);
w=sqrt(a);
printf("\nDas Ergebnis derWurzelberechnung: %g",w);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Potenzen()
{
double b,p,e; char taste='z';
system("cls");do
{
printf("\nBei der Potenzierung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie die Basiszahl b ein: ");
scanf("%lf",&b);
printf("\nBitte geben sie die Potenz p ein: ");
scanf("%lf",&p);
e=pow(b,p);
printf("\nDas Ergebnis der Potenzierung: %g",e);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Prozentwert()
{
double p,w,g; char taste='z';
system("cls");do
{
printf("\nBei der Prozentrechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Prozentsatz P ein: ");
scanf("%lf",&p);
printf("\nBitte geben sie den Grundwert G ein: ");
scanf("%lf",&g);
w=p*g/100;
printf("\nDer Prozentwert W betraegt: %g",w);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Prozentsatz()
{
double p,w,g; char taste='z';
system("cls");do
{
printf("\nBei der Prozentrechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Prozentwert W ein: ");
scanf("%lf",&w);
printf("\nBitte geben sie den Grundwert G ein: ");
scanf("%lf",&g);
p=w/g*100;
printf("\nDer Prozentsatz P betraegt: %g",p);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}int Grundwert()
{
double p,w,g; char taste='z';
system("cls");do
{
printf("\nBei der Prozentrechnung koennen nur Dezimalzahlen verwendet werden. \n\nAls Komma wird ein Punkt verwendet.\n");
printf("\nBitte geben sie den Prozentwert W ein: ");
scanf("%lf",&w);
printf("\nBitte geben sie den Prozentsatz P ein: ");
scanf("%lf",&p);
g=(w*100)/p;
printf("\nDer Grundwert G betraegt: %g",g);
printf("\nUm ins Hauptmenue zurueck zu kehren z druecken");
taste=getch();
system("cls");
}
while (taste!='z'); printf("\n\n Lade Hauptmenue...");
Sleep(1000);return 0;
}void main()
{char taste='x';
printf("Press any key");
taste=getch();
do
{system("cls");
Eingabe();
}
while (taste!=x);}
///////////////////////////
sry, dass es so lang ist.
Und hier ist das Tutorial, was wir dort einbauen wollen, damit nur zahlen und enter (und x zum beenden) eingegeben werden kann:
/////////////////
#include <conio.h>
#include <stdio.h>
#include <ctype.h>int main()
{
char a;a = getch();
do
{
if (a == 13)
{
printf("Sie haben Enter gedrueckt, das Programm wird nun beendet.");
break;
}
if (a>='0' && a<='9') printf("%c", a);
}
while (a = getch());
getch();
return 0;}
///////////////////
Ich hoffe ihr könnt uns helfen. Vielen dank schon mal im voraus!
cu,
Michael
-
Falsches Forum, bitte verschieben.
-
bitte benutz das naechste mal die code-tags!
hallo, soweit ich das sehen kann benutzt du nur getch.
getch liest aber nur ein einzelnes zeichen ein.du musst fgets (liest solange zeichen bis enter gedrueckt wird)
benutzen. anschliessend musst du die eingelesenen zeichen
in ein double umwandeln:double LeseDouble( char* text ) { char puffer[100]; // speichert die eingelesenen zeichen bool ende = false; // war das einlesen erfolgreich? char* fehler = 0; // wird von strtod gesetzt double zahl = 0.0; // die eingelesene zahl int i = 0; // lese solange zeichen bis eine zahl eingegeben wurde do { printf( text ); // einlesen einer Zeile // fgets liest das return mit ein fgets( puffer, sizeof( puffer ), stdin ); // entferne das return und ersetze es durch // das string-ende zeichen '\0' // wichtig da alle zeichenkettenfunktionen auch // strtod ein '\0' erwarten for( i = 0; i < sizeof( puffer ) && puffer[i] != '\n'; ++i ); puffer[i] = '\0'; // versucht die zeichenkette in einen double umzuwandeln zahl = strtod( puffer, &fehler ); // zeigt fehler auf das stringende // wurde der string mit strtod in eine double // zahl umgewndelt ende = *fehler == '\0'; if ( !ende ) printf( "Keine Zahl! %d\n", *fehler ); } while ( !ende ); return zahl; }
-
mein compiler spuckt lauter fehlermeldungen bei diesem programm aus
ich benutze microsoft visual c++
trotzdem danke!
-
-
Dieser Thread wurde von Moderator/in AndreasW aus dem Forum C# und .NET in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hier gehts weiter: http://www.c-plusplus.net/forum/viewtopic.php?t=74516