Forum
Tipps
News
Menu-Icon

Kleines C++-Problem

Ich programmiere gerade ein kleines Rechenprogramm.
Am schluss kommt die Frage ob man aufhören möchte, der weitermachen will. Ich weiß nicht was ich für  Befehle brauche um alles auf dem Bildschirm  angezeigte zu löschen und das Programm neu zu starten.



#include <stdio.h>

int main()
{
int e,a,o,x,y;
e = 0;
a = 1;
o = 1;
while (a == 1)
{
while (e == 0)
{
printf("Erste Zahl:           \n");
scanf("%d", &x);
printf("Geben sie den Operator ein,    fuer +     1:    \n");
printf("                              fuer -     2:    \n");
printf("                               fuer *     3:    \n");
printf("                                fuer /     4:    \n");
scanf("%d", &o);
printf("Zweite Zahl:         \n");
scanf("%d", &y);
printf("Ist diese Rechnung: %d %d %d richtig?\n",x, o, y);
printf("Wenn diese Rechnung richtig ist, gebe 1, wenn\n");
printf("die Rechnung falsch ist 0 ein.\n");
scanf("%d", &e);
}
if (o == 1)
printf("%d + %d = %d\n",x, y, x+y);
if (o == 2)
printf("%d - %d = %d\n",x, y, x-y);
if (o == 3)
printf("%d * %d = %d\n",x, y, x*y);
if (o == 4)
printf("%d / %d = %d\n",x, y, x/y);
printf("Weitere Rechnungen 1, Aufhören 0\n");
scanf("%d", &a);
}
getchar();getchar();
return 0;
}



Antworten zu Kleines C++-Problem:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

#include <stdio.h>
#include <stdlib.h>
//wird benutzt für cin>> weil bei mir scanf(..); macken hatte bei der eingabe eines char
#include <iostream.h>

int main()
{
double ergebnis = 0,zahl1 = 0,zahl2 = 0;
char Operationzeichen;
char Auswahl[4];
bool Weitermachen = false;

do
{
printf("Erste Zahl: ");
scanf("%d",&zahl1);

printf("Operationzeichen: ");
cin >> Operationzeichen; //Eingabe des Operationzeichen

printf("Zweite Zahl: ");
scanf("%d",&zahl2);

switch(Operationzeichen)
{
case '+':
ergebnis = zahl1 + zahl2;
break;

case '-':
ergebnis = zahl1 - zahl2;
break;

case '*':
ergebnis = zahl1 * zahl2;
break;

case '/':
ergebnis = zahl1 / zahl2;
break;

default:
printf("Ungueltiges Zeichen wurde eingegeben Operation kann nicht durchgeführt werden");
}

printf("Ergebnis lautet: %d \n",ergebnis);

//hier wird abgefragt ob weitermachen oder nicht wenn nicht wird die do{ }while schleife verlassen und das programm beendet

printf("Weitermachen?: ");
cin >> Auswahl;
if('j' == Auswahl[ 0 ] && 'a' == Auswahl [ 1 ])
{
Weitermachen = true;
system("cls");
}
else if('n' == Auswahl[ 0 ] && 'e' == Auswahl[ 1 ] && 'i' == Auswahl[ 2 ] && 'n' == Auswahl[3])
{
Weitermachen = false;
}
}while(Weitermachen);

return 0;
}

kannst den code ruhig in deinen compiler kopieren
sollte funzen (compiled with Visual Studio 6.0 ;D)

ich entschuldige mich zutiefst da der code einen sehr dummen fehler hatte (den du aber sehen hättest müssen ;D)

« Letzte Änderung: 07.01.04, 15:25:49 von void »

danke

... aber der Compiler meldet 3 Fehler und 6 Warnungen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

welche fehler? schreib die mal bitte auf

Fehler:

[C++Error]Unit1.cpp(18): Deklaration syntax error.

[C++Error]Unit1.cpp(78): Deklaration missing:.

[C++Error]Unit1.cpp(78): Compound statement missing }.

[c++Warning]Unit1.cpp:'Weitermachen' is assigned a value that is never used.

[c++Warning]Unit1.cpp:'Auswahl' is declared but never used.

[c++Warning]Unit1.cpp:'Operationszeichen' is declared but never used.

[c++Warning]Unit1.cpp:'zahl2' is assigned a value that is never used.

[c++Warning]Unit1.cpp:'zahl1' is assigned a value that is never used.


[c++Warning]Unit1.cpp:'ergebnis' is assigned a value that is never used



Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

bei mir gehts fehlerfrei kannst n'screenshot haben wenn du willst ;D

Edit: Sorry code wurde überarbeitet entschuldigung wurde auch unten angefügt ;D
(nun kannst den kompletten code kopieren)

« Letzte Änderung: 07.01.04, 15:26:24 von void »

Was für Befehle muss ich unten noch einbauen wenn ich bei meinem alten Beispiel bleibe, dass das Programm nochmal von vorne mit einem leeren Bildschirm startet? ??? ??? ??? ??? ???

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

system("cls"); //Löscht Inhalt

« Letzte Änderung: 07.01.04, 15:37:41 von void »

Bei mir meldet er dann den Fehler:

[C++Error]Unit1.cpp(42):Call to undefined function 'system'.

Dein überarbeitetes PRogramm funzt jetzt!
Danke!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

#include <stdlib.h>

erst dann kannst du system benutzen

Thanks, weißt ich programmier erst seit 3 Tagen!

Jetzt gibts nochmal ein kleines Problem:

Wenn ich jetzt sage nochmal, löscht er alles bis auf die letzte Rechnung und fragt auch nicht mehr nach den Zahlen und dem Operator und der Richtigkeit etc. gibts da auch noch ein Befehl, dass das Programm nochmal von vorne Anfängt.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

schleifen...
entweder:

loop: Stelle irgenwo im Programm

später dann: goto loop; //Springt zur stelle loop

jedoch ist das eine schlechte technik von der dir jeder zweite abraten würde. jedoch kann man es für kleine sachen locker anwenden

die andere ist while,for und do while

du umklammerst den teil den du wiederholen musst in einer do while schleife z.b

do
{
printf("Zahl....:");
...
}while(true) //Solange while true erhält wird sie wiederholt ausgeführt anhand des code den ich dir geschrieben habe kannst du es etwas besser verstehen (hoffe ich ;D)


« VB-DataReportDatenbankzugriff C++ »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

Bildschirmschoner
Der eigentliche Sinn des Bildschirmschoners ist, den Bildschirm vor dem Einbrennen des Monitorbildes zu schützen.Während das bei neueren Monitoren (außer ...