000
22.04.2014, 16:15 Uhr
fasa
|
Hallo Freunde,
ich habe ein kleines Problem. Zurzeit lerne ich in der Berufsschule C++. Leider komme ich mit dem Unterrichtsstil des Lehrer nicht zurecht. Seine Methode lautet, bringt euch alles selber bei. Ich habe gar keine Kenntnisse in Programmieren und tu mich auch schwer damit die Logik dahinter vollständig zu verstehen.
Aber kommen wir jetzt zu dem eigentlichen Problem. Wir sollen einen Taschenrechner in Visual Studio programmieren. Hier die Aufgabenstellung des Lehrers:
"Basic: Es soll ein Taschenrechner nach dem MVC-Prinzip programmiert werden. Die Darstellung soll wie im Unterricht besprochen einen grafischen Touch erhalten. Der Taschenrechner soll mindestens folgende Rechenoperationen durchführen können: Addition, Subtraktion, Multiplikation, Division, Prozentrechnung, Invertierung(1/x), Quadratwurzel- und Potenzfunktion Die Eingabe soll in einem Eingabebereich angezeigt werden. Die letzten 10 Aus- und Eingabezeilen sollen in einem Bereich unterhalb der Eingabe in umgekehrter Reihenfolge (Letzte Zeile oben) dargestellt werden (laufschrift)."
Mit Touch meint er, es soll mit Hilfe des ASCII Codes und einer While Schleife in der Konsole der Taschenrechner gezeichnet werden. Das hat er aber erst vor Kurzem uns mitgeteilt...
Den Taschenrechner habe ich bisher nur mit cout gezeichnet, weswegen alles ziemlich viel ausschaut
Wie kann ich jetzt, statt mit cout den TR mit einer While Schleife zeichnen? Und wie schaffe ich es, das die letzten 10 Ein und Ausgabezeilen in einem von mir gezeichneten Kästchen als Laufschrift erscheinen?
Bisher habe ich folgendes mit Hilfe eines Freundes geschafft:
C++: |
#include <iostream> #include <string> #include <string.h> #include <Windows.h> #include <stdio.h> #include <cmath>
using namespace std;
int mausposition(int &X,int &Y,int &Z) { HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE); HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); DWORD dwInputEvents; COORD xypos = {0,0}; INPUT_RECORD inputBuffer; DWORD NRofEvents; DWORD dwMode; int x,y,z; GetConsoleMode(hStdIn, &dwMode); SetConsoleMode(hStdIn, dwMode|ENABLE_MOUSE_INPUT); while(1) { GetNumberOfConsoleInputEvents(hStdIn,&NRofEvents); if(NRofEvents>0) { ReadConsoleInput(hStdIn, &inputBuffer,1,&dwInputEvents);
if(inputBuffer.EventType==MOUSE_EVENT) { x=inputBuffer.Event.MouseEvent.dwMousePosition.X; y=inputBuffer.Event.MouseEvent.dwMousePosition.Y; z=inputBuffer.Event.MouseEvent.dwButtonState; _flushall(); SetConsoleCursorPosition(hStdOut,xypos); printf("X> %2d\nY> %2d\nZ> %2d",x,y,z); } } } return 0; }
void main() { long double zahl1,zahl2,ergebnis; char rechenzeichen; string eingabe="ja"; int A,B,C; char l=255; //Leer char s=186; //senkrecht char r=187; //rechts oben char g=205; //waagerecht char u=188; //rechts unten char b=200; //links unten char c=201; //links oben char p=204; //mitte rechts char q=185; //mitte links
while(eingabe=="ja" || eingabe=="Ja") {
//Eingabefeld cout << endl; cout << c << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << p << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << q << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << s << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << g << u << endl;
//Zahlenfelder cout << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << s << l << l << "%" << l << l << s << s << l << l << "√" << l << l << s << s << l << l << "9" << l << l << s << s << l << l << "-" << l << l << s << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << endl; cout << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << s << l << l << "1" << l << l << s << s << l << l << "2" << l << l << s << s << l << l << "3" << l << l << s << s << l << l << "/" << l << l << s << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << endl; cout << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << s << l << l << "4" << l << l << s << s << l << l << "5" << l << l << s << s << l << l << "6" << l << l << s << s << l << l << "*" << l << l << s << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << endl; cout << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << s << l << l << "7" << l << l << s << s << l << l << "8" << l << l << s << s << l << l << "9" << l << l << s << s << l << l << "-" << l << l << s << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << endl; cout << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << c << g << g << g << g << g << r << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << s << l << l << "0" << l << l << s << s << l << l << "." << l << l << s << s << l << l << "=" << l << l << s << s << l << l << "+" << l << l << s << endl; cout << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << s << l << l << l << l << l << s << endl; cout << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << b << g << g << g << g << g << u << endl; cout << endl; cout << endl; cout << endl;
mausposition(A,B,C); cout << " Geben Sie bitt ihre Rechung ein: "; cin >> zahl1 >> rechenzeichen >> zahl2; cout << endl;
switch(rechenzeichen) { case '+': ergebnis = zahl1+zahl2; break; case '-' : ergebnis = zahl1-zahl2; break; case '*' : ergebnis = zahl1*zahl2; break; case '/' : ergebnis = zahl1/zahl2; break; case '%' : ergebnis = zahl1/100*zahl2; break;
//Kein gültiges Rechenzeichen default: cout << "unbekanntes Rechenzeichen...\n"; system("cls"); } system("cls"); cout << zahl1 << " " << rechenzeichen << " " << zahl2 << "=" << ergebnis << endl; system("pause"); cout << " Wollen sie ihre eingabe wiederholen?. Ja oder Nein?" << endl; cin >> eingabe; system("cls"); } }
|
--- Edit: cpp-Tags eingefügt. Dieser Post wurde am 23.04.2014 um 12:32 Uhr von Hans editiert. |