Projekt für Schule (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
-
Benütze Code-Tags damit der Code schön formatiert erscheint und Synthaxhighlightning angestellt ist:
int so_siehts_besser_aus = 0;
Aber ansonsten sieht sich das sicher niemand durch.
MfG SideWinder
-
Das ist erstmal nebensache...
ich möchte einfach nur erreichen, dass das programm bei der eingabe von buchstaben nicht abschmiert, sondern entweder eine fehlermeldung anzeigt oder die schleife von vorne anfängt.wenn das läuft, werde ich das auch noch ein wenig "verschönern"
-
ups, sorry hab auf deinen beitrag im c# forum geantwortet statt hier...
-
AkiFox schrieb:
Das ist erstmal nebensache...
ich möchte einfach nur erreichen, dass das programm bei der eingabe von buchstaben nicht abschmiert, sondern entweder eine fehlermeldung anzeigt oder die schleife von vorne anfängt.wenn das läuft, werde ich das auch noch ein wenig "verschönern"
*g* du sollst dein Programm in CPP Tags hier im Forum einschließen, damit man den Code besser lesen kann! Das hat mit deinem Programm nichts zu tun!
-
ich glaube das ging so:
int zeichen; printf("\nHallo bitte zeich eingeben:\n"); zeichen=getchar(); switch(zeichen) { case x: printf("\nsie haben x eingegeben"); break; default: //... break; }
das ist zwar c dürfte aber net schwehr sein.
ich hoffe das da oben ist richtig.
MFG
(Bitte editiere deinen beitrag code schreibst du zwischen//code
)
-
Dieser Thread wurde von Moderator/in Korbinian aus dem Forum Projekte 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.
-
so, ich denke du bist hier besser aufgehoben.
tip: 2 funktionen, die dir vlt helfen: isalpha(charund isdigit(char
-
na super, auch noch doppelpost *verärgert*
-
was bringt dein compiler denn fuer fehlermeldungen bei
meiner funktion?
-
Versuch mal das Programm hier
#include <stdio.h> int zscanf(char *format, void *address) { int i; char eingabe[20]; do { fgets(eingabe, sizeof(eingabe), stdin); if(eingabe[0]=='x') exit(0); i=sscanf(eingabe, format, address); if(i!=1) printf("Fehlerhafte Eingabe\n"); } while(i!=1); return 0; } int main() { int zahl; zscanf("%d", &zahl); printf("%d", zahl); }
Setze die zscanf Funktion an den Anfang deines Programms und ersetze einfach jedes scanf in deinem Programm durch ein zscanf.
-
Danke für die Hilfe!
Ich werd sehn was sich machen lässt, sofern die Zeit überhaupt noch ausreicht
-
Wäre es nicht sinnvoll anstelle von sscanf hier strtol zu benutzen?