|
|
| Autor |
Nachricht |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
02.02.2009, 17:02 |
  |
| 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.
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!  |
_________________ 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 |
|
    |
 |
Anzeige
|
Verfasst am:
02.02.2009, 17:02 |
 |
|
|
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
02.02.2009, 17:29 |
  |
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 |
|
    |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 17:37 |
  |
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 |
|
   |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 19:12 |
  |
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 |
|
   |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 22:27 |
  |
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!!" |
|
  |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 22:27 |
  |
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!!" |
|
  |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 22:28 |
  |
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!!" |
|
  |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 22:38 |
  |
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!!" |
|
  |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 22:41 |
  |
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 |
|
   |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 22:42 |
  |
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 |
|
   |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 22:51 |
  |
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 |
|
   |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 22:58 |
  |
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 |
|
   |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 23:12 |
  |
| 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!!" |
|
  |
 |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
02.02.2009, 23:12 |
  |
| 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 |
|
   |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 23:14 |
  |
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!!" |
|
  |
 |
|
|