Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » *hilfe* - Arbeit in C++ aber keine Ahnung

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 < [ 2 ] [ 3 ]
000
13.03.2006, 17:32 Uhr
PerseusX2



Hallo
ich habe in der Schule C++ als Fach.
Bisher lief alles ganz toll, doch leider hatte ich das Unglück, einige Zeit der Schule fern bleiben zu müssen.
Nun schreiben wir eine Arbeit über ein neues Thema und ich verstehe nur Bahnhof.
Habe ein Programm geschickt bekommen, welches in ähnlicher Form auch als Arbeit kommt.
Wäre nett wenn ihr anhand eines Beispiels mir das ganze näher bringen könntet.
Also nicht direkt auf das geposteste eingeht, sondern ein kurzes Programm schreibt mit cin, cout, berechnung von irgendwas, namenseingabe usw, wo mir das alles in nem kleinen Programm verdeutlicht.
Wäre echt super wenn ihr mir da helfen könntet!
mfg


C++:
---- Das Schulproggy-------


#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>


typedef char string[30];
int i, auswahl;


class Konto
{
    private:
        int kontonummer;
        string nachname, vorname;
        float guthaben;
        float guthabenszinssatz, ueberziehungszinssatz;
        float kreditlimit;

    public:
        Konto();
        Konto(string,string,int,float,float,float,float);
        void ausgabe();
        void init(string,string,int,float,float,float,float);
        int einzahlung(float);
        int auszahlen(float);
        int suchen();
      void zinsen_berechnen();
};


int main()
{

    int anzahl_kunden = 4;

    Konto *Kunde = new Konto[anzahl_kunden];

    Kunde[0].init("Stefan","Inboden",4001,-8000, 5000, 1.8, 8.2);
    Kunde[1].init("Lars","Fuchs",4002,-1000, 5000, 1.8,8.2);
    Kunde[2].init("Sandra","Haas", 4003, 1000, 5000, 1.8, 8.2);
    Kunde[3].init("Tim","Boos", 4004, 3000, 5000, 1.8, 8.2);


Menue:

while (auswahl != 6)
    {
        cout<<"\n\n\tHauptmenue\n";
        cout<<"\t----------\n\n";
        cout<<"Kundenliste ausgeben (1)\n";
        cout<<"Einen Kunden anhand der Kontonummer suchen (2)\n";
        cout<<"Geld einzahlen (3) \n";
        cout<<"Geld abheben (4) \n";
        cout<<"Zinsen berechnen (5) \n";
        cout<<"Programm beenden (6) \n";

        cout<<"\nGeben Sie bitte Ihre Wahl ein: ";

        cin>>auswahl;
        switch(auswahl)
        {


            case 1:
            {
                cout<<"\n\nKunde\tKontonummer\tGuthaben\n";
                cout<<"-----\t-----------\t--------\n";

                for(int i=0;i<anzahl_kunden;i++)
                    Kunde[i].ausgabe();

                getch();
            }
            break; // Ende von case 1


            case 2:
            {
                int k_nummer;
                bool kunde_gefunden = false;

                cout<<"\nGeben Sie bitte die Kontonummer ein: ";
                cin>>k_nummer;

                for(int i=0;i<anzahl_kunden && !kunde_gefunden;i++)
                {
                    if(k_nummer == Kunde[i].suchen())
                    {
                        cout<<"\n\nKunde\tKontonummer\tGuthaben\n";
                        cout<<"-----\t-----------\t--------\n";
                        Kunde[i].ausgabe();
                        kunde_gefunden = true;

                        getch();
                    }
                }

                if(kunde_gefunden == false)
                {
                    cout<<"\nEs konnte leider kein Kunde mit der Kontonummer ";
                    cout<<k_nummer<<" gefunden werden!\n";

                    getch();
                }
            }
            break; // Ende von case 2

            case 3:
            {
                int k_nummer;
                int Betrag;
                bool kunde_gefunden = false;

                cout<<"\nGeben Sie bitte die Kontonummer ein: ";
                cin>>k_nummer;

                cout<<"\nGeben Sie bitte den Betrag ein: ";
                cin>>Betrag;

                for(int i=0;i<anzahl_kunden && !kunde_gefunden;i++)
                {
                    if(k_nummer == Kunde[i].suchen())
                    {
                        Kunde[i].einzahlung(Betrag);

                        cout<<"\n\nKunde\tKontonummer\tGuthaben\n";
                        cout<<"-----\t-----------\t--------\n";
                        Kunde[i].ausgabe();

                        kunde_gefunden = true;
                        getch();
                    }
                }

                if(kunde_gefunden == false)
                {
                    cout<<"\nEs konnte leider kein Kunde mit der Kontonummer ";
                    cout<<k_nummer<<" gefunden werden!\n";

                    getch();
                }
            }
            break; // Ende von case 3


            case 4:
            {
                int k_nummer;
                int Betrag;
                bool kunde_gefunden = false;
            int Versuche = 1;

                cout<<"\nGeben Sie bitte die Kontonummer ein: ";
                cin>>k_nummer;

                cout<<"\nGeben Sie bitte den Betrag ein: ";
                cin>>Betrag;

                for(int i=0;i<anzahl_kunden && !kunde_gefunden;i++)
                {
                    if(k_nummer == Kunde[i].suchen())
                    {
                        Kunde[i].auszahlen(Betrag);

                        cout<<"\n\nKunde\tKontonummer\tGuthaben\n";
                        cout<<"-----\t-----------\t--------\n";
                        Kunde[i].ausgabe();

                        kunde_gefunden = true;
                        getch();
                    }
                }

                if(kunde_gefunden == false)
                {
                    cout<<"\nEs konnte leider kein Kunde mit der Kontonummer ";
                    cout<<k_nummer<<" gefunden werden!\n";

                    getch();
                }
            }
            break; // Ende von case 4


            case 5:
            {
             int k_nummer;
            bool kunde_gefunden = false;

                cout<<"\nGeben Sie bitte die Kontonummer des Kundens ein: ";
                cin>>k_nummer;

            for(int i=0;i<anzahl_kunden && !kunde_gefunden;i++)
                {
                    if(k_nummer == Kunde[i].suchen())
                    {
                        Kunde[i].zinsen_berechnen();

                        cout<<"\n\nKunde\tKontonummer\tGuthaben\n";
                        cout<<"-----\t-----------\t--------\n";
                        Kunde[i].ausgabe();

                        kunde_gefunden = true;
                        getch();
                    }
                }

                if(kunde_gefunden == false)
                {
                    cout<<"\nEs konnte leider kein Kunde mit der Kontonummer ";
                    cout<<k_nummer<<" gefunden werden!\n";

                    getch();
                }
            }
            break; // Ende von case 5


            case 6:
            break;


            default:
            {
                cout<<"\nSie haben keine g\x81ltige Auswahl getroffen!\n";
                cout<<"\nWeiter mit beliebiger Taste\n";

                getch();
            }
            break;


        } // Ende der switch Anweisung
    } // Ende der while Schleife

    return 0;
}


void Konto::ausgabe()
{
    printf("\n%s\t%d\t\t%8.2f Euro", nachname, kontonummer, guthaben);
}


int Konto::suchen()
{
    return kontonummer;
}

int Konto::einzahlung(float Betrag)
{
    if (Betrag < 0)
        return -1;
    else
    {
        guthaben += Betrag;
        return 0;
    }
}


int Konto::auszahlen(float Betrag)
{
    guthaben -= Betrag;
    return 0;
}


void Konto::zinsen_berechnen()
{
    if (guthaben < 0)
       guthaben = guthaben + (guthaben / 100 * ueberziehungszinssatz);

   if (guthaben > 0)
       guthaben = guthaben + (guthaben / 100 * guthabenszinssatz);

   else
       guthaben = guthaben;
}


void Konto::init(string Vorname, string Nachname, int nr, float kontostand, float limit, float g_zins, float ue_zins)
{
    strcpy(nachname,Nachname);
    strcpy(vorname,Vorname);
    kontonummer = nr;
    guthaben = kontostand;
    kreditlimit = limit;
    guthabenszinssatz = g_zins;
    ueberziehungszinssatz = ue_zins;
}

Konto::Konto()
{
}

Konto::Konto(string Vorname, string Nachname, int nr, float kontostand, float limit, float g_zins, float ue_zins)
{
    strcpy(nachname,Nachname);
    strcpy(vorname,Vorname);
    kontonummer = nr;
    guthaben = kontostand;
    kreditlimit = limit;
    guthabenszinssatz = g_zins;
    ueberziehungszinssatz = ue_zins;
}




Bearbeitung:
cpp Tags

Dieser Post wurde am 13.03.2006 um 17:35 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.03.2006, 17:57 Uhr
Pler
Einer von Vielen
(Operator)


Du hast doch das Programm schon.
Warum sollte jetzt jemand hier noch mal genau so eins schreiben?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.03.2006, 20:17 Uhr
Spacelord
Hoffnungsloser Fall


Als erstes kannst du ja mal deinen Lehrer darauf hinweisen dass es seit 98 nen C++ Standard gibt und dass er seinen Unterichtsstoff so langsam mal anpassen könnte.
iostream.h benutzt man nicht mehr sondern iostream.Für string muss man auch kein typedef auf nen char Array machen.Da gibt es den wunderbaren Datentyp std::string der es
durchaus verdient als "Basisdatentyp" angesehen zu werden(auch wenn er keiner ist).
Dann noch diese ungeprüften strcpy´s auf die char Array´s
Oder schau dir mal die Parameter von init an.....wieder dieses string typedef.Das ist unterm Strich für den Compiler nen char* die Stringliterale die du letztendlich übergibst sind aber vom Typ const char*.
Imho ist das Ganze als Lehrmaterial des Jahres 2006 inakzeptabel.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.03.2006, 21:35 Uhr
Pler
Einer von Vielen
(Operator)


Ja, ich glaub das hilft ihm - im Gegensatz zu meiner Antwort - wirklich weiter.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.03.2006, 22:00 Uhr
Hans
Library Walker
(Operator)


@Pler: Ich glaube, da hast recht.

Hans

P.S. da fällt mir gerade auf, da ist ja gleich in der ersten Zeile ein Fehler drin.
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 13.03.2006 um 22:05 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.03.2006, 22:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Und mir fällt auf, dass du dem guten gar kein Buch empfohlen hast. Als ich gesehen hab Hans hat geantwortet war ich schon ganz gespannt was empfohlen wird
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.03.2006, 23:12 Uhr
Hans
Library Walker
(Operator)


Du solltest doch eigentlich wissen, das ich von C++ nur begrenzt Ahnung habe. Deshalb überlasse ich alles, was mit OOP zu tun hat denjenigen, die davon Ahnung haben. Das führte hier dazu, das ich mir das Programm gar nicht angesehen habe, sondern nur die Beiträge von Pler und Spacelord. Was mir dabei allerdings klar ist, hilft dem Frager das, was Spacelord geschrieben hat überhaupt nicht, sondern das ist Kritik an/für den Lehrer (bzw. die Schule). Da mir der Spruch von Pler in Posting 003 aber gerade gefiel, musste ich auch mal meinen Senf auf diesem Niveau dazu geben.
Aber wenn Du unbedingt eine Empfehlung haben willst, bitte sehr:
Uli Breymann; C++, Eine Einführung.


Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.03.2006, 23:22 Uhr
Spacelord
Hoffnungsloser Fall


@Hans:
Wie soll man da auch helfen? Eine C++ Einführung in 5 Minuten?
Mal ehrlich,wenn den Schülern da wirklich so nen Code wie oben eingetrichtert wird,dann kannst du eigentlich nur nochmal bei null anfangen.
Dazu fühle ich mich nun wirklich nicht berufen.

Dein Buchtip ist übrigens hervorragend!
Damit dürfte PerseusX2 wesentlich besser bedient sein als mit irgendeiner Schnelleinführung.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.03.2006, 23:55 Uhr
Hans
Library Walker
(Operator)


Hi,

Zitat von Spacelord:
@Hans:
Wie soll man da auch helfen? Eine C++ Einführung in 5 Minuten?

Nee, das geht nicht. Ich hab ja auch schon mal mit C++ angefangen, bin aber nicht sehr weit gekommen. Ist aber auch schon etwas länger her, deshalb hab ich das meisste wieder vergessen.

Zitat:
Mal ehrlich,wenn den Schülern da wirklich so nen Code wie oben eingetrichtert wird,dann kannst du eigentlich nur nochmal bei null anfangen.

Dazu (also dem Code) kann ich jetzt nix sagen, werde es mir aber nachher mal näher ansehen, - mal sehen, wieviel hängen geblieben ist.


Zitat:
Dein Buchtip ist übrigens hervorragend!
Damit dürfte PerseusX2 wesentlich besser bedient sein als mit irgendeiner Schnelleinführung.

Nun ja, das Buch (die zweite Auflage davon) hab ich seiner Zeit in der FH-Bib gefunden, und im Gegensatz zu vielen anderen Büchern kam ich damit bestens zurecht. D.h. es hat mich eigentlich sehr schnell überzeugt, mir mein eigenes Exemplar davon zu zulegen.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
14.03.2006, 14:52 Uhr
Karldin Shinowa
Professional Noob


zur Buchempfehlung: hab das Buch und is zu empfehlen...is echt allles drinnen....
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ 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: