Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Fehler im Programm

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.11.2003, 20:48 Uhr
~Fabi
Gast


So nun hab ich die hübsche sache ausprogrammiert und wie imma fehler

bitte helft mir!!!!!!!

C++:
//Klasse schueler
//Beginn Interface
#ifndef SCHUELER_H
#define SCHUELER_H

class Schueler
{
    friend ostream &operator<<(ostream &, const Schueler &);
    friend istream &operator>>(istream &, Schueler &);
    
public:
     Schueler();
     ~Schueler();
    
private:
    string daten* ;
    string schulfaecher*;
    int anzahlderschulfaecher;

};

#endif

//Ende Interface


//Implementierung
#include <iostream>
#include <vector>

using namespace std;

#include "schueler.h"

Schueler::Schueler()
{
    daten= new vector<string> (8);
    daten[0] = "Vorname: ";
    daten[1] = "\nNachname: ";
    daten[2] = "\nKlasse: ";
    daten[3] = "\nTelefonnummer: ";
    daten[4] = "\nAdresse: ";
    daten[5] = "\nPostleitzahl: ";
    daten[6] = "\nWohnort: ";
    daten[7] = "\nSchulfächer: ";

    schulfaecher = new vector <string> (0);
}

Schueler::~Schueler()
{
}

istream &operator>>(istream & input, Schueler &eingabe)
{
    int i;
    for(i=0;i<7;i++)
    {
        cout<<eingabe.daten[i];
        input>>eingabe.daten[i];
    }

    cout<<"Wieviele Schulfaecher soll der Schueler haben? ";
    input>>anzahlderschulfaecher;
    cout<<eingabe.daten[7];
    schulfaecher = new vector <string> (anzahlderschulfaecher)
    for (i=0;i<anzahlderschulfaecher;i++)
    {
        input>>schulfaecher[i];
    }
}

ostream &operator<<(ostream &output, const Schueler &ausgabe)
{
    int i;
    output<<"Daten Des Schuelers "<<ausgabe.daten[0]<<"  "<<ausgabe.daten[1];
    output<<"\n\nKlasse: "<<ausgabe.daten[2];
    output<<"\nTelefonnummer: "<<ausgabe.daten[3];
    output<<"\nAdresse: "<<ausgabe.daten[4];
    output<<"\nPostleitzahl: "<<ausgabe.daten[5];
    output<<"\nWohnort: "<<ausgabe.daten[6];
    output<<"Schulfaecher: ";
    for(i=0;i<anzahlderschulfaecher;i++)
    {
        output<<schulfaecher[i]<<endl;
    }
}



        
#include <iostream>
#include <vector>

using namespace std;

#include "schueler.h"

int main (void)
{
    Schueler a;
    cin>>a;
    cout<<a;
    return 0;
}



--edit: Pablo. [ cpp ] tags gesetzt--

Dieser Post wurde am 16.11.2003 um 20:51 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.11.2003, 20:52 Uhr
Pablo
Supertux
(Operator)


Und welche sind die Fehler? Kannst du nicht kompilieren, tut dein prog nicht das was du willst? Wir sind keine Compilers, nur Menschen, um alles selber zu erkennen, es wäre schön, wenn du uns zumindest sagen würdest, wo was falsch ist.

So on the fly:

C++:
string daten* ;
string schulfaecher*;
int anzahlderschulfaecher;



1. Wozu nimmts du Pointers auf string?
2. * für einen Pointer kommt nach dem Datentyp und nicht nach dem Namen der Variable.


3. Bitte, benutze [ cpp ] tags.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 16.11.2003 um 20:54 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.11.2003, 20:53 Uhr
~fabi
Gast



Code:
--------------------Konfiguration: assignment09 - Win32 Debug--------------------
Kompilierung läuft...
schueler.cpp
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : error C2059: Syntaxfehler : ';'
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : error C2238: Unerwartete(s) Token vor ';'
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(17) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(17) : error C2059: Syntaxfehler : ';'
c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(17) : error C2238: Unerwartete(s) Token vor ';'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(11) : error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > *' akzeptiert (oder keine geeignete Konvertierung moeglich)
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(12) : error C2440: '=' : 'char [10]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(13) : error C2440: '=' : 'char [12]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(14) : error C2440: '=' : 'char [10]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(15) : error C2440: '=' : 'char [17]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(16) : error C2440: '=' : 'char [11]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(17) : error C2440: '=' : 'char [16]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(18) : error C2440: '=' : 'char [11]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(19) : error C2440: '=' : 'char [15]' kann nicht in 'char' konvertiert werden
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(21) : error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > *' akzeptiert (oder keine geeignete Konvertierung moeglich)
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(33) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(34) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(38) : error C2065: 'anzahlderschulfaecher' : nichtdeklarierter Bezeichner
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(39) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(40) : error C2065: 'schulfaecher' : nichtdeklarierter Bezeichner
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(41) : error C2143: Syntaxfehler : Fehlendes ';' vor 'for'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(43) : error C2109: Index benoetigt ein Feld oder einen Zeigertyp
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(43) : error C2679: Binaerer Operator '>>' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'int' akzeptiert (oder keine geeignete Konvertierung
moeglich)
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(50) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(50) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(51) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(52) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(53) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(54) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(55) : error C2248: "daten" : Kein Zugriff auf private Element, dessen Deklaration in der Klasse "Schueler" erfolgte
        c:\dokumente und einstellungen\fabrizio\eigene dateien\cpp\assignment09\schueler.h(16) : Siehe Deklaration von 'daten'
C:\Dokumente und Einstellungen\Fabrizio\Eigene Dateien\cpp\assignment09\schueler.cpp(59) : error C2109: Index benoetigt ein Feld oder einen Zeigertyp
Fehler beim Ausführen von cl.exe.

schueler.obj - 32 Fehler, 0 Warnung(en)



Das sind die Fehler in der Implemntierung

--edit: Pablo. [ code ] tags gesetzt

BITTE BENUTZE DIE BOARD TAGS [ cpp ] UND [ code ] & CO.--

Dieser Post wurde am 16.11.2003 um 20:56 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.11.2003, 20:57 Uhr
Pablo
Supertux
(Operator)


Ich habe nicht alle Fehler gelesen, aber die ersten. Guck mal meinen 001 Post.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.11.2003, 22:21 Uhr
0xdeadbeef
Gott
(Operator)


Zunächst mal werden Pointer als so deklariert:

C++:
string *daten;


Der Rest sieht mir nach Folgefehlern aus. Ändere das, kompilier es neu, versuch die restlichen Fehler selbst zu fixen, und poste das, was dann noch übrig bleibt, nochmal.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.11.2003, 22:29 Uhr
Pablo
Supertux
(Operator)


Ich glaube schon, dasss sie Folgefehler sind, denn alle Fehler haben entweder mit "daten" oder mit "schulfächer" zu tun.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: