Zum Inhalt springen

Neuling2010

Mitglieder
  • Gesamte Inhalte

    15
  • Benutzer seit

  • Letzter Besuch

  1. Hi Leute, Hab folgendes Problem!! Möchte mir gerne eine Text datei als Stream ausgeben lassen! wie muss ich die entsprechende Datei einbinden?? Kann mir jemand helfen Gruß Neuling 2010:)
  2. Hi leute hab schon wieder ein Problem!! Und zwar habe ich eine Klassen konstruiert und nun möchte ich mir einen vektor aufbauen in dem ich sämtliche Objekte dieser klasse speichere und anhand des Namens im vector ausfindig machen und mir das konkrete Objekt ausgeben lassen. Hier ist mein Code class GatterTyp { protected: string name; double grundlaufzeit; short lastFaktor; short lastkapazitaet; short eingaenge; public: GatterTyp(); ~GatterTyp() {} const string& getname() {return name;} double getgrundlaufzeit() {return grundlaufzeit;} short getlastFaktor() {return lastFaktor;} short getlastkapaziteat() {return lastkapazitaet;} short geteingaenge() {return eingaenge;} virtual bool getIsFlipFlop() {return false;} void setname(string n) {n=name;} void setgrundlaufzeit(double gl) {gl = grundlaufzeit;} void setlastFaktor(short lF) {lF = lastFaktor;} void setlastkapazitaet(short lk) {lk = lastkapazitaet;} void seteingaenge(short ei) {ei = eingaenge;} }; class Bibiothek{ private: vector<GatterTyp*> bibElemente; public: Bibiothek(); ~Bibiothek() {} GatterTyp*getbibElemente(string typ); #include "Klassen.h" #include <vector> #include <fstream> GatterTyp*Bibiothek::getbibElemente(string typ) { GatterTyp e; vector<GatterTyp*>::iterator it; for(it=bibElemente.begin();it!=bibElemente.end();++it) {if(*it.getname()==typ){return GatterTyp;break;};}; } Hatt vieleicht jemand von euch eine Idee wie man das machen könnte?? Gruß Paolo:D
  3. Danke hab namespace hinzugefügt funktioniert jetzt!!:upps
  4. Hi Leute Hab folgendes problem: Ich wollte gerade in Visual Studio einen string in einer sich in einer Headerdatei befindenden Klasse deklarieren. Doch obwohl ich im Hauptprogram die Klasse die Standardbibiothek mit #include<string> eingebunden habe akzeptiert der Compiler den Typbezeichner string nicht !! kann mir jemand sagen woran das liegt??? Gruß Neuling 2010:)
  5. Hier ist mein Code class Bibiothek{ private: vector<GatterTyp*> bibElemente; string datei; public: Bibiothek(); ~Bibiothek() {} string getPfad() {return datei} GatterTyp*getbibElemente(string typ); void dateiAusgabe(); void dateiAuswerten(); void pfadEinlesen(); inline void openError(); inline void readError(); }; #include "Klassen.h" #include <vector> #include <fstream> GatterTyp*Bibiothek::getbibElemente(string typ) { GatterTyp e; vector<GatterTyp*>::iterator it; for(it=bibElemente.begin();it!=bibElemente.end();++it) {if(e.getname()==typ){return bibElemente;break;};}; } void Bibiothek::dateiAusgabe() {fstream meineBibiothek ("bib.txt"); if(!meineBibiothek){openError()} string zeile; int i; while(!meineBibiothek.eof()) {i++; getline(meineBibiothek,zeile) cout<<i<<":"<<zeile<<endl; } meineBibiothek.close(); } void CBibliothek:: pfadEinlesen() { cout << "Pfad und Name der Bibliothek-Datei:" << endl; cin >> datei; } inline void Bibiothek::openError() {cout<<"Fehler beim oefnen der Datei!!"<<endl; exit(1);}
  6. Hi Leute Ich bins nochmal, habe diesmal folgendes Problem Ich wollte mit einem fstream eine Datei öffnen und anschließend die einzelnen Zeilen einlesen und durchnumerieren . Hatt aber nicht geklappt!! Kan mir vieleicht jemand sagen wie man soetwas am besten macht ???:old Gruß neuling 2010
  7. Hi Leute, Habe folgendes Problem !!! Ich wollte gerade einen vector erstellen, wobei jedes Ellement als Instanz einer Klasse dargestellt wird. Dies ist weiter ja nicht schwer, aber wie kann ich nun über einen bestimmten parameter auf ein bestimmtes Ellement zugreifen? Beispiel [lass GatterTyp{ protected: string name; double grundlaufzeit; short lastFaktor; short lastkapazitaet; short eingaenge; public: GatterTyp(); ~GatterTyp() {} const string& getname() {return name;} double getgrundlaufzeit() {return grundlaufzeit;} short getlastFaktor() {return lastFaktor;} short getlastkapaziteat() {return lastkapaziteat;} short geteingaenge() {return eingaenge;} bool getIsFlipFlop() {return IsFlipFlop;} void setname(string n) {n=name;} void setgrundlaufzeit(double gl) {gl = grundlaufzeit;} void setlastFaktor(short lF) {lF = lastFaktor;} void setlastkapazitaet(short lk) {lk = lastkapazitaet;} void seteingaenge(short ei) {ei = eingaenge;} };][#include <iostream> #include <string> #include <vector> #include 'Klasse.h' using namespace std; int main() { vector<GatterTyp*> bibElemente; };] Was müsste ich tun wenn ich nun nachdem ich den vector gefüllt habe tun um auf ein bestimmtes Element z.B. über name zugreifen will?? Vielen dank schon im Voraus!!!:D
  8. Vielen Dank :) war echt hielfreich!! Ps. Eine letzte Frage noch zu diesem Thema Weist du vielleicht wie man dafür sorgt ,dass bei integer und double Variablen Buchstaben als fehlerhafte Eingaben abgefangen werden?? Hab schon zwei Bücher und das halbe www danach durchsucht aber nichts hielfreiches gefunden. Gruß Neuling 2010
  9. Vielen Dank für die schnelle Antwort:) Aber was ist wen ich mehrere Multiplikationen hientereinander ausführen möchte ,zum Beispiel erhalte ich wenn ich 3*3*3*3 rechne beim ausgeben von iterator1 mit cout nur zweimal die 9 und nicht wie erwünscht das Ergebniss 27!! Ich konnte das Problem bisher nicht beheben fals du eine Idee hast wäre es echt cool wen du mir zurück schreibst Gruß Neuling2010
  10. Hi allerseits, habe mein Programm überarbeitet !! Ich kann nun Ellemente und Zahlen einspeichern und ausgeben lassen. Jedoch wollte ich mich mit dem Einlesen von Daten nicht zufrieden geben und einige rechnungen durchführen. Hierbei wollte ich die Punkt vor Strich Regel beachten!! Im ersten Schritt sollte nun die Liste nach * und / durchsuchen werden und die Zahl des jeweiligen Elements mit dem Nachfolger verrechnet und das Ellement mit dem * oder/ gelöschtwerden!! Das funktioniert aber nicht ganz wäre cool wen mir jemand weiterhelfen könnte Gruß Neuling2010:) #include <iostream> #include <list> #include <iomanip> #include <string> #include "Speicher.h" using namespace std; int main() { bool fehler; char a; double wert; char Zeichen; list<Ellemente> liste; list<Ellemente>::iterator iterator1; list<Ellemente>::iterator iterator2; Ellemente e; do{ do { cout<<"Geben sie ein Zahl ein:"<<endl; cin>>wert; e.setZahl(wert); cout<<"Geben sie einen Operator ein:"<<endl; cin>>Zeichen; e.setOperator(Zeichen); while ((e.getOperator()!='+')&&(e.getOperator()!='-')&&(e.getOperator()!='/')&&(e.getOperator()!='*')&&(e.getOperator()!='s') ) { cout<<"Fehlerhafte Eingabe\a\a\a\a\a"<<endl; cout<<"Geben sie einen Operator ein:"<<endl; cin>>Zeichen; e.setOperator(Zeichen);} liste.push_back(e); } while ((e.getOperator())!='s'); for(iterator1=liste.begin(), iterator2=liste.begin();iterator1!=liste.end(), iterator2!=liste.end();iterator1++, iterator2++) {cout<<iterator1->getZahl(); cout<<iterator2->getOperator(); } cout<<endl; cout<<"Ist dieser Ausdruck richtig (t)?"<<endl; cin>>a; }while(a!='t'); for(iterator1=liste.begin(), iterator2=liste.begin();iterator1!=liste.end(), iterator2!=liste.end();iterator1++, iterator2++) { if ((iterator2->getOperator()=='*')||((iterator2->getOperator()=='/'))){ iterator1->getZahl=iterator2->getZahl * iterator1->getZahl; iterator2=liste.erase (iterator2); iterator2->getZahl = iterator1->getZahl; //da jetzt beide Iteratoren auf das selbe element zeigen, ++iterator1; } } cout<<iterator1->getZahl()<<endl; cout<<iterator2->getOperator()<<endl; system("pause"); return 0; }
  11. Ich habe dien iterator in eine for schleife von iterator1=liste.begin() bis liste.end() gesetzt. Ich habe die Sache mit dem Ausgangsoperator aber nicht ganz verstanden kanst du mir das bitte nochmal erklären ??? Danke GrußNeuling2010
  12. Habe nun den Quelltext verändert Kann mir aber nicht mit cout<<*iterator1<<endl; und cout<<*iterator2<<endl; die einzelnen in der Liste gespeicherten Ellemente ausgeben lassen Wäre echt cool wenn mir jemand weiterhelfen könnte:) Gruß Neuling 2010 Hier ist die Headerdatei: ifndef _Speicher_ #define _Speicher_ class Ellemente { private: double Zahl; char Operator; public: Ellemente(); virtual ~Ellemente(); double getZahl(); void setZahl(double); char getOperator(); void setOperator(char); double Ergebniss; }; #endif Meine Cpp Speicher #include "Speicher.h" Ellemente::Ellemente() { } Ellemente::~Ellemente(void) { } void Ellemente::setZahl( double wert ) { Zahl = wert; } double Ellemente::getZahl() { return Zahl; } void Ellemente::setOperator( char Zeichen ) { Operator = Zeichen; } char Ellemente::getOperator() { return Operator; } cpp hauptspeicher:#include <iostream> #include <list> #include <iomanip> #include <string> #include "Speicher.h" using namespace std; int main() { double wert; char Zeichen; list<Ellemente> liste; list<Ellemente>::iterator iterator1; list<Ellemente>::iterator iterator2; Ellemente e; do { cout<<"Geben sie ein Zahl ein:"<<endl; cin>>wert; e.setZahl(wert); cout<<"Geben sie einen Operator ein:"<<endl; cin>>Zeichen; e.setOperator(Zeichen); liste.push_back(e); cout<<*iterator1<<endl; } while ((e.getOperator())!='s'); }
  13. Sorry aber kanst du mir vieleicht ein Beispiel zeigen?? Nochmals vielen Dank!!
  14. Vielen Dank für die schnelle Antwort:) Aber leider stehe ich gerade auf den Schlauch könntest du mir vieleicht schreiben was für Parameter du meinst? Gruß Neuling 2010:)
  15. :DHi leute wie mein username schon verrät bin ich erst seit wenigen Wochen mit C++ unterwegs. und wollte deshalb fragen ob jemand von euch weis wie man in C++ eine doppeltverkettete Liste bei der jeder Knoten aus einer double und einer char Varriablen besteht selbst implementiert oder mit der C++ Standardbibiothek erzeugt. Ps anschließend soll solange ein neue zahl und ein Zeichen hinzugefügt werden bis man für das zeichen ein S wie Stopp angiebt Hier ist mein bisheriger Quellcode: Header: #ifndef _Speicher_ #define _Speicher_ class Ellemente { public: Ellemente(); virtual ~Ellemente(); double getZahl(); void setZahl(); char getOperator(); void setOperator(); double Ergebniss; private: double Zahl; char Operator; } #endif cpp: include "Speicher.h" Ellemente::Ellemente(void) { } Ellemente::~Ellemente(void) { } void Ellemente::setZahl( double wert ) { Zahl = wert; } double Ellemente::getZahl() { return Zahl; } void Ellemente::setZeichen( char Zeichen ) { Operator = Zeichen; } char Ellemente::getZeichen() { return Operator; } Cpp: #include <iostream> #include <list> #include <iomanip> #include <string> #include "Speicher.h" using namespace std; int main() { int i=0; list<Ellemente> liste; list<Ellemente>::iterator iterator1; list<Ellemente>::iterator iterator2; if('s'=!getOperator(i)) {i=i+1; cout<<"Geben sie ein Zahl ein:"<<endl; cin>>setZahl(i); cout<<"Geben sie einen Operator ein:"<<endl; cin>>setOperator(i); liste.push_back(i); } Im Voraus schon mal vielen dank:D Gruß Neuling2010

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...