007
13.01.2014, 15:48 Uhr
~Ranny
Gast
|
Okay....... jetzt bin ich vollkommen verwirrt ~.~ Ich verstehe schon so fast gar nichts, weil mir das Programmieren einfach nicht liegt und dann erfahre ich hier mal eben, dass das alles Mist ist Nun gut, ändert ja nichts an der Tatsache, dass ich die Aufgabe dennoch machen muss, um die Punkte zu bekommen, sonst wird das nichts mit der Prüfung (brauche 50% für die Zulassnung...) Also könntest du mir vielleicht in dieser Hinsicht noch einmal helfen? Also ich habe jetzt versucht deine Person-Klasse auf die Student-Klasse zu erweitern, was eigentlich geklappt hat, bis auf die Matrikelnummer. Da nimmt er wohl irgendeinen Wert, den ich da gar nicht haben möchte.... hier mal der Quellcode:
C++: |
#include <iostream>
using namespace std;
class Person { private: char * vorname; char * nachname; public: Person ( char * vn, char * nn) { vorname = vn; nachname = nn; } virtual void info () { cout << "Vorname: " << vorname << ", Nachname: " << nachname << endl; } };
class Student : public Person { private: long matrikelnummer; char * studienfach; public: Student (char * vn, char * nn, long mn, char * sf) : Person (vn, nn) { matrikelnummer = mn; studienfach = sf; } virtual void info_() { cout << "Matrikelnummer: " << matrikelnummer << ", Studienfach: " << studienfach << endl; } };
int main (int argc, char * argv[]) { char vn [32]; char nn [32]; char sf [32]; long mn;
Student p (vn, nn, mn, sf);
cout << "Vorname: "; cin >> vn; cout << "Nachname: "; cin >> nn; cout << "Matrikelnimmer: "; cin >> mn; cout << "Studienfach: "; cin >> sf; p.info(); p.info_(); return 0; }
|
Egal ob ich eine Matrikelnummer-Eingabe mache oder nicht, da kommt immer ein konstanter Wert raus, und ich sehe einfach nicht, woran das liegt. Vielleicht erkannt das ja dein geschultes Programmierauge Und wie genau soll ich jetzt das Problem mit der zweiten Eingabe lösen?? Da bin ich auch echt ratlos :/ Vielleicht hilft ja die ganze Aufgabenstellung etwas weiter.....?
Zitat: |
Vererbung, cin - cout, exception handling (12 Punkte) Leiten Sie mittels Vererbung von der angegebene Klasse Person die Klasse Student ab. Erweitern Sie die Klasse Student so, dass sie zus¨atzlich die Matrikelnummer und das Studienfach aufnehmen kann. class Person { private: char * vorname; char * nachname; public: Person ( char * vn, char * nn) { vorname = vn; nachname = nn; } virtual void info () { cout << "Vorname: " << vorname << ", Nachname: " << nachname << endl; } }; Schreiben Sie ein Programm, dass mittels cin die Datens¨atze von zwei Studenten einliest und anschließend mit der Methode info ausgibt. U¨ berwachen Sie das Programm mittels Exception handling. Definieren Sie hierzu fu¨r die die folgenden Fa¨lle eigene Fehlerklassen: 1. Die Matrikelnummer ist 0 2. Die Matrikelnummer ist negativ 3. Die Matrikelnummer hat nicht genau 7 Stellen.
|
Ich bin dir jetzt schon unheimlich dankbar für die Hilfe Aber noch dankbarer wäre ich, wenn du mich auch für den Rest der Aufgabe nicht im Stich lässt :P |