John77 Geschrieben 25. Januar 2002 Geschrieben 25. Januar 2002 kann mir einer helfen,wie ick das hier hinkriege, daß das ding speichert und ne auswahl dafür erscheint, ob ich anstatt der eingabe der zahl die zahl aus dem speicher nehme ("s"),die ich beim vorhigen programmablauf deklariert habe. daaaanke... bin c++ neuling und beiß grad uff meene tastatur! /Name : John MÂller //Art : Der Taschenrechner //Klasse : FA16 #include <conio.h> #include <stdio.h> #include <math.h> #include <iostream.h> float a,b,c,s,z; // Variablen...jahaaaa char eingabe; int o; void main() // Beginn { do{ clrscr(); gotoxy(2,3); printf("Der Taschenrechne (haha) )"); gotoxy(2,4); printf("----------------------------"); gotoxy(2,6); printf("W\x84hle eine Rechenoperation aus..."); gotoxy(2,10); printf("1. Subtraktion"); gotoxy(2,11); printf("2. Addition"); gotoxy(2,12); printf("3. Division"); gotoxy(2,13); printf("4. Multiplikation"); gotoxy(2,14); printf("5. Radieren"); gotoxy(2,15); printf("6. Quadrieren"); gotoxy(2,16); printf("7. Potenzieren"); gotoxy(2,17); printf("8. Fakult\x84t"); gotoxy(2,20); printf("Eingabe: "); scanf("%i",&o); // warten uff eingabe von 1-8,sonst siehe unten! switch (o) // anfang switch-case-anweisung { case 1: // minus nehmen! clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein oder dr\x81""cke s...: "); scanf("%f", &a); gotoxy(2,4); printf("Gib eine weitere nat\x81liche Zahl ein: "); scanf("%f", &; gotoxy(2,6); printf(" \x01 Das Ergebnis der Subtraktion ist: "); gotoxy(45,6); printf("%13.5f",(c=a-); c=s; getch(); break; case 2: // 1+1=2 --> addieren! clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein: "); scanf("%f", &a); gotoxy(2,3); printf(" Gib eine weitere nat\x81rliche Zahl ein: "); scanf("%f", &; gotoxy(2, 7); printf(" \x01 Das Ergebnis der Addition ist: "); gotoxy(45,7); printf("%13.5f",(c=a+); c=s; getch(); break; case 3: // dividieren,auch das mit der null funzt! ) clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein: "); scanf("%f", &a); gotoxy(2,3); printf("Gib eine weitere nat\x81rliche Zahl ein: "); scanf("%f", &; if (b!=0) { gotoxy(2, 8); printf(" \x01 Das Ergebnis der Division ist: "); gotoxy(45,8); printf("%13.5f",(c=a/b)); c=s; getch(); } else cout << " \n\a\a\aDivision durch Null ist verboten du \x0c !!! \n\n \x01\x01\x01\x01\x01\x01\x01 !!!"; break; case 4: // vervielfachen... clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein: "); scanf("%f", &a); gotoxy(2,3); printf("Gib eine weitere nat\x81rliche Zahl ein: "); scanf("%f", &; gotoxy(2,9); printf(" \x01 Das Ergebnis der Multiplikation ist: "); gotoxy(45,9); printf("%13.5f",(c=a*); c=s; getch(); break; case 5: // Wurzelziehen! ;o) clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein: "); scanf("%f", &a); gotoxy(2,9); printf(" \x01 Das Ergebnis des Radierens ist: "); gotoxy(45,9); printf("%13.5f",(c=sqrt(a))); c=s; getch(); break; case 6: // Quadrieren clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein: "); scanf("%f", &a); gotoxy(2,9); printf(" \x01 Das Ergebnis des Quadrieren ist: "); gotoxy(45,9); printf("%13.5f",(c=a*a)); c=s; getch(); break; case 7: // Potenzieren (leider kann man sich nicht aussuchen,was Exponent oder Basis ist.) ((( clrscr(); gotoxy(2,2); printf("Gib die Basis ein: "); scanf("%f",&a); gotoxy(2,3); printf("Gib den Exponenten ein: "); scanf("%f",&; gotoxy(2,9); printf(" \x01 Das Ergebnis des Potenzierens ist: "); gotoxy(45,9); printf("%13.5f",(pow(a,)); getch(); break; case 8: // Fakult„t berechnen clrscr(); gotoxy(2,2); printf("Gib eine nat\x81rliche Zahl ein "); scanf("%f",&a); gotoxy(2,9); printf(" \x01 Das Ergebnis der Fakult\x84t ist: "); c=1; while (a>=1) { c=c*a; a--; } gotoxy(45,9); printf("%13.5f",c); c=s; getch(); break; default: // Bildschirmausgabe fÂr den Fall,daá keine zahl (1-8) gew„hlt wurde gotoxy(7,22); printf("\a\a\aBeep ist NIE gut...Falsche Auswahl...\x0c...!"); } fflush(stdin); // tastaturpuffer lâ€schen gotoxy(7,24); printf("M\x94""chtest du das nochmal probieren \x03-chen? (J/N)? ");scanf("%c",&eingabe); // 2 mal ",weil die hexazahl sonst nicht erkannt wird } while ((eingabe == 'j') || (eingabe == 'J')); // wenn "j",dann programmm von vorne,ansonsten exit } Zitieren
John77 Geschrieben 25. Januar 2002 Autor Geschrieben 25. Januar 2002 keiner ne ahnung??? biddääää!!!! Zitieren
vinc Geschrieben 25. Januar 2002 Geschrieben 25. Januar 2002 Ohoh... Na mal sehen, ob ich Dir hier helfen kann ohne ein Buch zu schreiben. 1. Zunächst einmal würde ich Dir vorschlagen konsequent mit cin und cout zu arbeiten. printf und scanf geht zwar auch, aber das sind eigentlich Überbleibsel aus C. 2. Du kannst nicht "s" eingeben und dann hoffen, daß der Wert der Variablen s verwendet wird. Das mußt Du dem Programm schon mitteilen. Das sieht dann ungefähr so aus (vielleicht geht's auch noch eleganter, doch für's erste sollte es reichen;)): ... char acEingabe[20]; ... cout << "Gib eine natuerliche Zahl ein oder druecke s...:" cin >> acEingabe; if (acEingabe == 's') a = s; else a = atof (acEingabe); ... Also wie gesagt, ich will hier nicht zuviele Worte machen. Schau's Dir an und dann ließ irgendwo nach was dieser Ausschnitt macht (oder besser andersrum ). Gute C++-Bücher gibt's wie Sand am Meer Zitieren
vinc Geschrieben 25. Januar 2002 Geschrieben 25. Januar 2002 Ups... und wer hat den Fehler gemerkt? Diese elendigen ';' am Befehlsende, tsts:rolleyes: Zitieren
John77 Geschrieben 26. Januar 2002 Autor Geschrieben 26. Januar 2002 danke euch beiden. ick werd dat ma versuchen... aber hast recht (oben)...sollte ma die bücher studieren! ) Zitieren
John77 Geschrieben 10. Februar 2002 Autor Geschrieben 10. Februar 2002 der code von da oben funzte nicht... alles fehlerzeilen! ((( hüüülfe! (brauch das zu morgen) (((( Zitieren
Klotzkopp Geschrieben 10. Februar 2002 Geschrieben 10. Februar 2002 Hast Du ein #include <iostream.h> am Anfang Deiner Quellcodedatei eingefügt? Ach ja, statt if (acEingabe == 's') nimmst Du besser if( 0 == strcmp( acEingabe, "s" ) ) Der Vergleich eines char-Zeigers mit dem ASCII-Code von s macht nicht wirklich Sinn Zitieren
vinc Geschrieben 12. Februar 2002 Geschrieben 12. Februar 2002 Ja, da hat Klotzkopp recht! Der Vergleich haut so natürlich nicht hin - Schande über mich... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.