Junggesellschaft Equord von 1893
EINIGKEIT MACHT STARK

 FAQ  •  Suchen  •  Mitgliederliste  •  Benutzergruppen   •  Registrieren  •  Profil  •  Einloggen, um private Nachrichten zu lesen  •  Login
 

Schon wieder was ernstes!

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
ktimorio
Boardschlampe


Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB

BeitragVerfasst am: 02.02.2009, 17:02 Antworten mit ZitatNach oben

betanova hat folgendes geschrieben:
nur das der bmi mal so gar nichts aussagt, da nicht zwischen fett und muskel unterschieden wird.

und wie ich kai kenne ist das ne richtige muckisau.
Lachen

somit alles im grünen bereich....


kam float vor double oder nach?


float hat nen kleineren Zahlenbereich als double

Und das mit den Muskel siehst du schon ganz richtig, haha. Klitschko hat bestimmt auch nen erhöhten BMI und ist trotzdem nicht übergewichtig! Winken

_________________
Wann kommt der Spinner und bringt mir das Geld 2010
Klamotten vom Trainer waschen lassen 2010
1 Jahr ohne Duschgel und Badelatschen bei der Herta 2010
Auf dem Herta-Sportplatz übernachtet 2010
Benutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenICQ-Nummer
Anzeige







BeitragVerfasst am: 02.02.2009, 17:02 Nach oben

ktimorio
Boardschlampe


Geschlecht: Geschlecht:männlich
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB

BeitragVerfasst am: 02.02.2009, 17:29 Antworten mit ZitatNach oben

Die letzte Aufgabe mit OOP:

Code:

# include <iostream>
# include <iomanip>
# include <cmath>

using namespace std;

class reihenentwicklung {

   public:
      void anzahl_der_glieder_eingeben(void);
      void reihenentwicklung_ausgeben(float x);
      int anzahl_der_glieder;

   private:
      int fakultaet(int a);

};
      
int reihenentwicklung::fakultaet(int a) {
   if (a == 1) {
      return 1;
   }
   else {
      return a * fakultaet(a - 1);
   }
}

void reihenentwicklung::anzahl_der_glieder_eingeben() {
   // EINLESEN
   cout << "Bitte geben Sie die Anzahl der Glieder ein: ";
   cin>>anzahl_der_glieder;
   cout<<endl;
}

void reihenentwicklung::reihenentwicklung_ausgeben(float x) {
   int i;
   float reihe = 1;

   for (i = 1; i <= anzahl_der_glieder; i++) {
      reihe = reihe + (pow(x, i) / fakultaet(i));
      cout<<"Glied "<<i<<" : "<<reihe<<endl;
   }
}


int main()
{
   float x = -1;
   
   cout<<"REIHENENTWICKLUNG: "<<endl;
   
   reihenentwicklung e_fkt;
   e_fkt.anzahl_der_glieder_eingeben();
   e_fkt.reihenentwicklung_ausgeben(x);
   
   cout<<"\n\nProgrammende...";
   cin.get();cin.get();
   return(0);
}

_________________
Wann kommt der Spinner und bringt mir das Geld 2010
Klamotten vom Trainer waschen lassen 2010
1 Jahr ohne Duschgel und Badelatschen bei der Herta 2010
Auf dem Herta-Sportplatz übernachtet 2010
Benutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenICQ-Nummer
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 17:37 Antworten mit ZitatNach oben

hab das jetzt ein bisschen umgeschrieben, läuft aber nicht...weiß auch nicht was der will!

Code:


# include <iostream.h>
# include <iomanip.h>
# include <math.h>



int fakultaet(float a)
{
   if (a == 1)
   {return 1;}
   else
   {return a * fakultaet(a - 1);}
}

float reihenentwicklung(float x)
{
   int i;
   float reihe = 1;
   cout.setf(ios::right|ios::fixed);cout.precision(5);
   for (i = 1; i <= 12; i++)
   {  reihe = reihe + (pow(x, i) / fakultaet(i));
      cout<<"Glied "<< i<<"  : "<<reihe<<endl;
   }
}


int main()
{
   float x;
   x=-1;
   
   // EINLESEN
   

   cout<<"TEIL 1:"<<endl<<endl;
   cout<<"exp(x): "<<exp(x)<<endl;
   cout<<endl;

   cout<<"TEIL 2:"<<endl<<endl;
   reihenentwicklung(x);
   
   cout<<"\n\nProgrammende...";
   cin.get();cin.get();
   return(0);
}

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 19:12 Antworten mit ZitatNach oben

hab hier nochmalk ein proigramm...wär cool wenn dir das auch aqnguckst

Code:


# include<iomanip.h>
# include<math.h>

//klassendeklaration
class automaten
{
     public:
             char marke1, marke2, marke3, marke4, marke5,anzahl;
             int marke;
             int preis,preis1,preis2,preis3,preis4,preis5, rueckgeld;
             void marke_auswaehlen();
             void anzahl_der_2_eu_st_eingeben();
             void marke_berechnen_und_ausgeben();
             void rueckgeld_auszahlen();
             
             };


//Methodendeklaration
void automaten::marke_auswaehlen()
{
     /*marke1= 1 =  45 ct (postkarte);
     marke2= 2 =  55 ct (postkarte);
     marke3= 3 =  90 ct (postkarte);
     marke4= 4 = 145 ct (postkarte);
     marke5= 5 = 220 ct (postkarte);*/
     cout<<"Welche Briefmarke moechten Sie kaufen?"<<endl<<endl;
     cout<<"1 =  45 ct (postkarte)"<<endl;
     cout<<"2 =  55 ct (postkarte)"<<endl;
     cout<<"3 =  90 ct (postkarte)"<<endl;
     cout<<"4 = 145 ct (postkarte)"<<endl;
     cout<<"5 = 220 ct (postkarte)"<<endl<<endl;
     cout<<"Waehlen Sie Ihre Marke: ";
     cin>>marke;
     cout<<endl;
     };

void automaten::anzahl_der_2_eu_st_eingeben()
{
     cout<<"Der Automat nimmt heute leider nur 2 Euro Stuecke entgegen."<<endl
         <<"Bitte geben Sie die Anzahl Ihrer 2 Euro Stuecke an ";
     cin>>preis;
     cout<<endl;
     };

void automaten::marke_berechnen_und_ausgeben()
{   
   
     
     marke1=45, marke2=55,marke3=90, marke4=145, marke5=220;
     anzahl= (preis*2)/marke;
     rueckgeld =(preis*2)-anzahl;
     
     cout<<"Sie erhalten "<<anzahl<<" Marken zu "<<marke<<"ct"<<endl;
     cout<<"Ihr Rueckgeld betraegt "<<rueckgeld<<" ct"<<endl;
     };
     
int main()
{
    automaten briefmarken;
    briefmarken.marke_auswaehlen();
    briefmarken.anzahl_der_2_eu_st_eingeben();
    briefmarken.marke_berechnen_und_ausgeben();
   
    cout<<"\n\nProgrammende...";
    cin.get();cin.get();
    return(0);
}
     

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 22:27 Antworten mit ZitatNach oben

hmm, so ganz verstehe ich das nicht.

Schritt 1: Wähle Marke.

in der Variablen marke des Typen int speicherst du z.b. unter
cout<<"5 = 220 ct (postkarte)"<<endl
doch den WERT 5 oder ?!

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 22:27 Antworten mit ZitatNach oben

Die anzahl errechnest du aus :preis ( hätte ich zwei 2 Eurostücke also = 4 Euro *2/marke (in meinem beispiel 5)
ergebe das doch (4*2) /5
also 1,6
aber 1,6 von was???

müsstest du nicht noch eine if oder case bedienung schreiben ??

if (marke=5; marke=marke5)

else

if (marke=4; marke=145)

und so weiter.

Wo findet die Euro->Cent Umrechnung
und das Abrunden statt?

deinen Aufgabe verstehe ich so:
Durch die Menge des Geldes, was ich reinstecke wird auch ein maximum der gekauften Marken ermittelt.
d.H. ich stecke 20 € rein, so kaufe ich autom. 9 briefmarken wenn ich marke5 wähle?

Von der Syntax bin ich bestimmt nicht ganz im bilde, aber dein code ergibt für mich noch keinen sinn. was für einen compiler benutzt du?

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 22:28 Antworten mit ZitatNach oben

Versucht mal meine beiden Antworten als eine abzusenden!

funktioniert nicht!
der schmeisst einfach einen teil weg.

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 22:38 Antworten mit ZitatNach oben

für mich nocmal!
gibt es eine funktion fakultaet in c++?

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 22:41 Antworten mit ZitatNach oben

ich benutze einen compiler den unser prof auf seine seite gestellt hat.
wenn du den haben möchtest, dann sag bescheid, ich lass ihn dir wie auch immer zu kommen.(z.b mail)

bin mir auch schon bewußt geworden, dass ich da mit den rechnungen etwas schief liege. hab mich auch die letzten 3 stunden nicht mit dem programm beschäftigt, werde da gleich nochmal rübergucken. wenigstens compiled er das. wenn dann die berechnung nicht stimmt, dann gibt das in der klausur nur minimal punktabzug;)
habe aber auch schon überlegt ob es eventuell cleverer wär das über ein array einzulesen. was sagst du?

habe grad noch ein anderes programm geschrieben und da gibt er eine fehlermeldung aus, dich ich gar nich nachvollziehen kann.

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 22:42 Antworten mit ZitatNach oben

die funktion haben wir selber geschrieben. naja, mehr kai. er meinte es ist ne rekursive funktion und zwar die hier:

Code:


int fakultaet(float a)
{
   if (a == 1)
   {return 1;}
   else
   {return a * fakultaet(a - 1);}
}




_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 22:51 Antworten mit ZitatNach oben

hier das neue programm

Code:


# include <iostream.h>
# include <iomanip.h>
# include <conio.h>

//Klassendeklaration

class geld
{
      public:
             
           
             char g1,g2,g3,g4;
           
             void pin_eingabe();
             void betrag_eingabe();
             void berechnung_eingabe(int betrag);
             };
             
//Methodendeklaration

void geld::pin_eingabe()
{
     
     int betrag;
     int pin1=1, pin2=2, pin3=3,pin4=4;
     char g1,g2,g3,g4;
     neueEingabe:
     cout<<"Bitte geben Sie Ihren PIN ein: ";
     g1=getch();
     cout<<"*";
     g2=getch();
     cout<<"*";
     g3=getch();
     cout<<"*";
     g4=getch();
     cout<<"*";
     if ((g1!=pin1)||(g2!=pin2)||(g3!=pin3)||(g4!=pin4))
     {cout<<"\nDie Geheimzahl ist falsch!\n";
      goto neueEingabe;
       }
}

void geld::betrag_eingabe()
{
     neueEingabe:
     cout<<"\nBitte geben Sie einen Betrag ein: ";
     int betrag;
     cin>>betrag;
     if((betrag%10)!=0)
     { cout<<"\nDer Betrag muss durch 10 teilbar sein!!!\n\n";
     goto neueEingabe;
     }
     };
     
void geld::berechnung_eingabe(int betrag)
{
     int a[]={1000,500,200,100,50,20,10};
     int i;
     cout<<"\nSie erhalten:\n ";
     for(i=0;i<=7;i++)
     {
     int anzahl= betrag/a[i];
     betrag = betrag-anzahl*a[i];
     if(anzahl!=0){cout<<setw(2)<<anzahl<<setw(2)<<a[i]<<" Euro-Scheine.\n";
     }
     }
     };

//Hauptprogramm

int main()
{
    int betrag;
    geld meinGeld;
    meinGeld.pin_eingabe();
    meinGeld.betrag_eingabe();
    meinGeld.berechnung_eingabe(betrag);
   
   
    cout<<"\n\nProgrammende...";
    cin.get();cin.get();
    return(0);
}

     


problem an der geschichte...wenn ich den pin 1234 eingebe, dann sagt er es ist falsch....

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 22:58 Antworten mit ZitatNach oben

idiot...ich muss ja noch ne else anweisung schreiben, damit er weiter macht!

wenn ich die aber schreibe, sagen wir mit else goto weiter und weiter in die nächste void anwendung schreibe, dann erzählt er mir, dass weiter nicht definiert ist!

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 23:12 Antworten mit ZitatNach oben

Code:
# include <iostream>
# include <iomanip>
# include <conio>

//Klassendeklaration

class geld
{
      public:
             
           
             char g1,g2,g3,g4;
           
             void pin_eingabe();
             void betrag_eingabe();
             void berechnung_eingabe(int betrag);
             };
             
//Methodendeklaration

void geld::pin_eingabe()
{
     
     int betrag;
     int pin1=1, pin2=2, pin3=3,pin4=4;
     char g1,g2,g3,g4;
     neueEingabe:
     cout<<"Bitte geben Sie Ihren PIN ein: ";
     g1=getch();
     cout<<"*";
     g2=getch();
     cout<<"*";
     g3=getch();
     cout<<"*";
     g4=getch();
     cout<<"*";
     if ((g1!=pin1)||(g2!=pin2)||(g3!=pin3)||(g4!=pin4))
     {cout<<"\nDie Geheimzahl ist falsch!\n";
      goto neueEingabe;
       }
    hier müsste doch dein else rein?!

void geld::betrag_eingabe()
{
     neueEingabe:
     cout<<"\nBitte geben Sie einen Betrag ein: ";
     int betrag;
     cin>>betrag;
     if((betrag%10)!=0)
     { cout<<"\nDer Betrag muss durch 10 teilbar sein!!!\n\n";
     goto neueEingabe;
     }
     };
     
void geld::berechnung_eingabe(int betrag)
{
     int a[]={1000,500,200,100,50,20,10};
     int i;
     cout<<"\nSie erhalten:\n ";
     for(i=0;i<=7;i++)
     {
     int anzahl= betrag/a[i];
     betrag = betrag-anzahl*a[i];
     if(anzahl!=0){cout<<setw(2)<<anzahl<<setw(2)<<a[i]<<" Euro-Scheine.\n";
     }
     }
     };

//Hauptprogramm

int main()
{
    int betrag;
    geld meinGeld;
    meinGeld.pin_eingabe();
    meinGeld.betrag_eingabe();
    meinGeld.berechnung_eingabe(betrag);
   
   
    cout<<"\n\nProgrammende...";
    cin.get();cin.get();
    return(0);
}

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
schranzo
Moderator



Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey

BeitragVerfasst am: 02.02.2009, 23:12 Antworten mit ZitatNach oben

betanova hat folgendes geschrieben:
hmm, so ganz verstehe ich das nicht.

Schritt 1: Wähle Marke.

in der Variablen marke des Typen int speicherst du z.b. unter
cout<<"5 = 220 ct (postkarte)"<<endl
doch den WERT 5 oder ?!


meiner meinung nach speichert er da gar nichts ab, sondern gibt einfach nur aus 5=220ct(postkarte)

Zitat:

ergebe das doch (4*2) /5
also 1,6
aber 1,6 von was???


wenn du 2 2 eurostücke hast sind das ja schon 4 euro. die rechnung lautet also (2*2)/220 <- ich will ja erreichen, dass er durch den wert der marke teilt und nicht durch die nummer der marke!
dann soll er sagen er kann mir 1 marke geben.
es müßte also heißen
cout.precision(1);
(2.0*2.0)/2.2=1.81 (die nachkommerstelle gibt er aber in diesem fall nicht aus)
im nächsten schritt will ich erreichen, dass er mir den differenzbetrag von 4-2.2=1.8 wieder ausgibt.

das war mein eigentliches ziel. ich geb zu ich hab da vorhin nicht richtig drüber nachgedacht!

_________________
Erste Auszeichnung im Altherrenbereich 2009
Nicht mehr so doll geschwitzt beim Training seit 2006
Peter Zwegat aus den Schulden geholfen 2008
Sofort runter von den Tischen 2005
Mit Kai Müller und Terror die Nordschleife planchiert 2009
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 23:14 Antworten mit ZitatNach oben

vielleicht solltest du dir zu den berechnungen immer ausgaben in der konsole erzeugen.
z.b. deine pineingabe augeben etc.

ist zwar schon einige jahre her, hat mir aber geholfen.

so, muss jetzt ins bett.
aber irgendwie hast du ein geiles thema. is wie sudoko -was zum pnobeln..

_________________
"eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!"
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


 Gehe zu:   



Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.





Powered by phpBB 2.0.23 © 2001/3 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde


Thema 598241-598280 | Thema 791081-791120 | Thema 189241-189280

Impressum | Datenschutz

Bei iphpbb.com bekommen Sie ein Kostenloses Forum mit vielen tollen Extras