byte_head
Captain
- Registriert
- Jan. 2005
- Beiträge
- 3.674
Hi,
ich habe mich nun an der objektprogrammierten Version meines kleinen Programmes versucht, welches folgendes ausführt.
Der Benutzer gibt 2 Zahlen ein (1x klein 1x groß)
Nun zählt das Programm bei der kleineren 1 dazu und zieht bei der größeren 1 ab...
Bis sich die Zahlen treffen.
Das ganze soll mit (klein+groß)/2 überprüft werden.
So habe ich mir das vorgestellt:
Wichtig! Ich hänge schon bei den ersten Zeilen der Fehlermeldung,
also die unteren habe ich noch nicht "bearbeitet"...
header.h
main.cpp
Das spuckt mir meine Bash aus:
Vielen Dank schonmal, ich blick atm wirklich 0 durch.
ich habe mich nun an der objektprogrammierten Version meines kleinen Programmes versucht, welches folgendes ausführt.
Der Benutzer gibt 2 Zahlen ein (1x klein 1x groß)
Nun zählt das Programm bei der kleineren 1 dazu und zieht bei der größeren 1 ab...
Bis sich die Zahlen treffen.
Das ganze soll mit (klein+groß)/2 überprüft werden.
So habe ich mir das vorgestellt:
Wichtig! Ich hänge schon bei den ersten Zeilen der Fehlermeldung,
also die unteren habe ich noch nicht "bearbeitet"...
header.h
Code:
#include <iostream>
using namespace std;
class Rechnung
{
public:
Rechnung(); // Konstruktor
~Rechnung(); // Dekonstruktor
int vorgang(int zahl1, int zahl2); // z1+z2/2
}
class Counter
{
public:
Counter(); // Konstruktor
~Counter(); // Dekonstruktor
int zaehler(int zahl1, int zahl2); // ++ und --
}
main.cpp
Code:
#include "header.h"
Rechnung::Rechnung()
{
}
Rechnung::~Rechnung()
{
}
Counter::Counter()
{
}
Counter::~Counter()
{
}
int Rechnung::vorgang(int zahl1, int zahl2)
{
int ergebnis;
ergebnis = (z1+z2)/2;
return ergebnis; // Wird später abgeglichen!
}
int Counter::zaehler(int zahl1, int zahl2)
{
while(zahl1 < zahl2 && zahl2 > zahl1) // Bis beide gleich groß sind!
{
zahl1++; // Inkrementieren
zahl2--; // Dekrementieren
cout << "Zahl1: " << zahl1 " " << "Zahl2: " << zahl2 << endl;
}
cout << "Ergebnis: " << zahl1 << " " << zahl2 << endl;
return zahl1;
}
int main()
{
Rechnung Rech; // Erstellung eines Objektes
int zahl1;
int zahl2;
cout << "Geben sie eine kleine Zahl ein: " << endl;
cin >> zahl1;
cout << "Geben sie eine zweite große Zahl ein: " << endl;
cin >> zahl2;
if(zahl1 < zahl && zahl1 < 1000 && zahl2 < 1000 && zahl1 > 0 && zahl2 > 0)
{
Rech.vorgang(zahl1,zahl2); // Methode des Objektes Rech & der Klasse Rechnung
cout << "Das Ergebnis ist = " << ergebnis << endl; // Fällt in der Final weg, zur Kontrolle...
Counter Zaehler;
Zaehler.zaehler(int zahl1, int zahl2); // Methode des Objektes Zaehler & der Klasse Counter
if(zahl1 == ergebnis)
{
cout << "Erfolg!" << endl;
}
else
{
cout << "Ihre Zahlen waren zu gross und/oder negativ!" << endl;
cout << "Bitte fangen Sie von vorne an!" << endl;
// GOTO ANFANG!
}
cin.get();
return 0;
}
Das spuckt mir meine Bash aus:
Bash schrieb:johannes@johannes-desktop:~/cpp/V2$ gcc main.cpp
In file included from main.cpp:1:
header.h:23:2: warning: no newline at end of file
main.cpp:3: error: new types may not be defined in a return type
main.cpp:3: note: (perhaps a semicolon is missing after the definition of ‘Rechnung’)
main.cpp:3: error: two or more data types in declaration of ‘Rechnung’
main.cpp:3: error: return type specification for constructor invalid
main.cpp: In member function ‘int Rechnung::vorgang(int, int)’:
main.cpp:27: error: ‘z1’ was not declared in this scope
main.cpp:27: error: ‘z2’ was not declared in this scope
main.cpp: In member function ‘int Counter::zaehler(int, int)’:
main.cpp:37: error: expected `;' before string constant
main.cpp: In function ‘int main()’:
main.cpp:55: error: ‘zahl’ was not declared in this scope
main.cpp:58: error: ‘ergebnis’ was not declared in this scope
main.cpp:62: error: expected primary-expression before ‘int’
main.cpp:62: error: expected primary-expression before ‘int’
main.cpp:80: error: expected `}' at end of input
johannes@johannes-desktop:~/cpp/V2$
Vielen Dank schonmal, ich blick atm wirklich 0 durch.