|
|
| Autor |
Nachricht |
schranzo
Moderator

Anmeldungsdatum: 24.05.2005
Beiträge: 1311
Wohnort: el-rey
|
Verfasst am:
01.02.2009, 15:17 |
  |
kennt sich hier irgendeiner von den computerexperten mit c++ und/od. visual basic aus? |
_________________ 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 |
|
   |
 |
Anzeige
|
Verfasst am:
01.02.2009, 15:17 |
 |
|
|
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
01.02.2009, 19:30 |
  |
c++ kann ich ein bisschen, worum gehts denn? Bei einfachen Programmieraufgaben sollte ich dir helfen können.
Visual Basic habe ich direkt noch nicht gemacht, aber mit VBA hab ich schon einiges programmiert, da gibts einige Parallelen... Worum gehts denn genau? |
_________________ 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:
01.02.2009, 19:38 |
  |
kommen wir erstmal zu c++.
ich habe hier eine aufgabe, da soll ich den bmi berechnen und ausgeben.
das programm soll wie folgt aussehen:
geben sie ihre größe in cm an: (190)
geben sie ihr gewicht in ganzen kg an: (87)
gewicht............... bmi
----------------------------
82
83
84
85
86
--------------------------
87
-------------------------
88
89
90
91
92
dazu soll in der bmi-spalte der jeweilige bmi hinzugefügt werden.
die werte in den klammern gibt man ein, nachdem das programm gestartet wurde. die formel für den bmi = gewicht/groesse².
ich hab jetzt schonmal angefangen, aber ich komme einfach nicht drauf, wie ich das gewicht in der tabelle verändern kann.
habe mir schon überlegt es mit zwei for-schleifen und einer if-schleife zu versuchen.
hier auf jeden fall mein bisheriges ergebnis:
# include <iostream.h>
# include <iomanip.h>
# include <conio.h>
# include <math.h>
int main()
{
float groesse, gewicht,i,j;
float bmi;
cout<<"Bitte geben Sie Ihre Groesse in cm ein: ";
cin>>groesse;
cout<<"Biite geben Sie Ihr Gewicht in ganzen kg ein: ";
cin>>gewicht;
cout<<" Gewicht"<<setw(10)<<" BMI"<<endl;
cout<<"-------------------------"<<endl<<endl<<endl;
for(i=0;i<=5;i++)
{
bmi=gewicht/(groesse*groesse)*10000;
cout<<setw(5)<<gewicht<<setw(13)<<bmi;
bmi++;
cout<<endl;
}
cout<<"\n\nProgrammende...";
cin.get();cin.get();
return(0);
}
es wär echt cool, wenn du mir da helfen könntest. ich hab das dumme gefühl, das kommt in der klausur dran. |
_________________ 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:
01.02.2009, 19:42 |
  |
achso, formel für bmi is bmi=gewicht/groesse²*10000...wegen einheit;) |
_________________ 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 |
|
   |
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
01.02.2009, 20:05 |
  |
Erstmal zwei Arrays machen und die mit den Werten füllen.
| Code: |
float gewichte[11];
float bmis[11];
int cnt = 0;
for (aktuellesgewicht = gewicht-5; aktuellesgewicht <= gewicht + 5; aktuellesgewicht++) {
gewichte[cnt] = aktuellesgewicht;
bmis[cnt] = aktuellesgewicht / (groesse * groesse) * 10000;
cnt++;
}
|
Dann musst du danach nur noch mit ner for schleife über die beiden arrays rüberlaufen und die werte in der gewünschten Form ausgeben.
| Code: |
for(i=0;i<=gewichte.length;i++)
{
if (gewichte[i] == gewicht) {
cout "--------------------------";
}
cout<<setw(5)<<gewicht<<setw(13)<<bmi;
cout<<endl;
if (gewichte[i] == gewicht) {
cout "--------------------------";
}
}
cout<<"\n\nProgrammende...";
cin.get();cin.get();
return(0);
|
So, oder so ähnlich... |
_________________ 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:
01.02.2009, 20:22 |
  |
hab das jetzt mal in die for schleife geschrieben, aber er gibt folgende fehlermeldung raus:
| Code: |
# include <iostream.h>
# include <iomanip.h>
# include <conio.h>
# include <math.h>
int main()
{
float groesse,gewicht,i,a;
float bmi[11];
int j=0,gew[11];
cout<<"Bitte geben Sie Ihre Groesse in cm ein: ";
cin>>groesse;
cout<<"Biite geben Sie Ihr Gewicht in ganzen kg ein: ";
cin>>gewicht;
cout<<" Gewicht"<<setw(10)<<" BMI"<<endl;
cout<<"-------------------------"<<endl<<endl<<endl;
for(a=gew-5;a<=gew+5;a++)
{
gew[j]=gewicht;
bmi=gew/(groesse*groesse)*10000;
cout<<setw(5)<<gew<<setw(13)<<bmi;
cout<<endl;
j++;
for(i=0;i<=11;i++)
{
if(gew[i] == a){cout<< "--------------------------";}
cout<<setw(5)<<gewicht<<setw(13)<<bmi;
cout<<endl;
if(gew[i]==a){cout<< "--------------------------";}
}
}
cout<<"\n\nProgrammende...";
cin.get();cin.get();
return(0);
}
|
hier die jetzige fehlermeldung:
| Code: |
24 cannot convert `int*' to `float' in assignment
24 invalid operands of types `float' and `int*' to binary `operator<='
26 [Warning] converting to `int' from `float'
29 invalid operands of types `int[11]' and `float' to binary `operator/'
36 invalid types `int[11][float]' for array subscript
39 invalid types `int[11][float]' for array subscript
|
|
_________________ 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 |
|
   |
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
01.02.2009, 21:00 |
  |
Versuch mal das:
| Code: |
# include <iostream>
# include <iomanip>
# include <conio>
# include <math>
int main()
{
float bmi[11];
int gew[11];
int j, a, gewicht, groesse, i;
// EINLESEN
cout<<"Bitte geben Sie Ihre Groesse in cm ein: ";
cin>>groesse;
cout<<"Bitte geben Sie Ihr Gewicht in ganzen kg ein: ";
cin>>gewicht;
cout<<" Gewicht"<<setw(10)<<" BMI"<<endl;
cout<<"-------------------------"<<endl<<endl<<endl;
// ZUNÄCHST NUR DIE ARRAYS MIT DEN WERTEN FÜLLEN
j=0;
for(a=gewicht-5;a<=gewicht+5;a++)
{
gew[j] = a;
bmi[j] = a / (groesse*groesse) * 10000;
j++;
}
// JETZT DIE ARRAYS AUSGEBEN
for(i=0;i<=11;i++)
{
if(gew[i] == a){cout<< "--------------------------";}
cout<<setw(5)<<gew[i]<<setw(13)<<bmi[i];
cout<<endl;
if(gew[i]==a){cout<< "--------------------------";}
}
}
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, 00:01 |
  |
sorry kai, irgendwie is mein pc grad vorhin abgekackt. ich weiß auch nich was da los war.
ich werd mal versuchen, ob ich noch was hinkriege mit dem programm. falls ja werd ich es dich wissen lassen. |
_________________ 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 |
|
   |
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
02.02.2009, 12:29 |
  |
Das problem warum immer 0 berechnet wurde war, dass wir versucht haben einen int durch irgendwas mit "/" zu teilen. Das geht nicht.
Ich hab jetzt zwei extra Variablen für Zähler (float!!!) und Nenner definiert und jetzt funktioniert es wunderbar.
| Code: |
# include <iostream>
# include <iomanip>
# include <cmath>
using namespace std;
int main()
{
float bmi[11];
int gew[11];
int j, a, gewicht, groesse, i;
// EINLESEN
cout << "Bitte geben Sie Ihre Groesse in cm ein: ";
cin>>groesse;
cout<<"Bitte geben Sie Ihr Gewicht in ganzen kg ein: ";
cin>>gewicht;
// ZUNÄCHST NUR DIE ARRAYS MIT DEN WERTEN FÜLLEN
j = 0;
for(a=gewicht-5;a<=gewicht+5;a++)
{
// GEWICHTE-ARRAY FÜLLEN
gew[j] = a;
// ZÄHLER UND NENNER BERECHNEN, ZAEHLER MUSS float SEIN,
// SONST KOMMT 0 ALS ERGEBNIS RAUS
float bmi_zaehler = a;
int bmi_nenner = (groesse * groesse);
// BMI-ARRAY MIT BERECHNETEM WERT FÜLLEN
bmi[j] = (bmi_zaehler / bmi_nenner) * 10000;
j++;
}
// JETZT DIE ARRAYS AUSGEBEN
cout<<" Gewicht"<<setw(10)<<" BMI"<<endl;
cout<<"-------------------------"<<endl<<endl<<endl;
for(i=0;i<11;i++)
{
if(gew[i] == gewicht){cout<< "--------------------------"<<endl;}
cout<<setw(5)<<gew[i]<<setw(15)<<bmi[i];
cout<<endl;
if(gew[i] == gewicht){cout<< "--------------------------"<<endl;}
}
cout<<"\n\nProgrammende...";
cin.get();cin.get();
return(0);
}
|
Output:
| Code: |
kai@kai-desktop:~/Desktop$ ./bmi
Bitte geben Sie Ihre Groesse in cm ein: 183
Bitte geben Sie Ihr Gewicht in ganzen kg ein: 93
Gewicht BMI
-------------------------
88 26.2773
89 26.5759
90 26.8745
91 27.1731
92 27.4717
--------------------------
93 27.7703
--------------------------
94 28.0689
95 28.3675
96 28.6661
97 28.9647
98 29.2633
Programmende...
kai@kai-desktop:~/Desktop$
|
|
_________________ 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, 15:01 |
  |
oh kai...du bist stark übergewichtig!!!
aber vielen dank für deine hilfe! habe auch schon an sowas gedacht. es funktioniert übrigens auch ohne die beiden hilfsvariablen, wenn man die formel so schreibt:
| Code: |
bmi[j]=a*1.0/(groesse*groesse)*10000
|
allerdings gibt er dann die tabelle noch nicht richtig aus. |
_________________ 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, 15:22 |
  |
hier nochmal das ganze. jetzt funktioniert es perfekt. habe noch die vorschleife geändert, er muss sie ja nur 10 mal durchlaufen um 11 werte zu errechnen.
| Code: |
# include <iostream.h>
# include <iomanip.h>
# include <conio.h>
# include <math.h>
int main()
{
float bmi[11];
int gew[11];
int j, a, gewicht, groesse, i;
// EINLESEN
cout<<"Bitte geben Sie Ihre Groesse in cm ein: ";
cin>>groesse;
cout<<"Bitte geben Sie Ihr Gewicht in ganzen kg ein: ";
cin>>gewicht;
// ZUNÄCHST NUR DIE ARRAYS MIT DEN WERTEN FÜLLEN
j=0;
for(a=gewicht-5;a<=gewicht+5;a++)
{
gew[j] = a;
bmi[j] = a*1.0/(groesse*groesse)*10000;
j++;
}
cout<<" Gewicht"<<setw(10)<<" BMI"<<endl;
cout<<"-------------------------"<<endl<<endl;
// JETZT DIE ARRAYS AUSGEBEN
for(i=0;i<=10;i++)
{
if(gew[i] == gewicht){cout<< "--------------------------"<<endl;}
cout<<setw(5)<<gew[i]<<setw(13)<<bmi[i];
cout<<endl;
if(gew[i] == gewicht){cout<< "--------------------------"<<endl;}
}
cout<<"\n\nProgrammende...";
cin.get();cin.get();
return(0);
}
|
wahlweise kann man a auch vom typ float deklarieren!das ist das aller einfachste! |
_________________ 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 |
|
   |
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
02.02.2009, 15:34 |
  |
Sehr gut. Genau so wirds gemacht...  |
_________________ 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 |
|
    |
 |
kleinesfieseswindchen
Anmeldungsdatum: 20.05.2005
Beiträge: 280
|
Verfasst am:
02.02.2009, 15:38 |
  |
Aha......is ja einfach!  |
_________________ Loretta Dazed ( * 05.06.2010 )
Plumi hat nen Knall !!!  |
|
  |
 |
ktimorio
Boardschlampe

Geschlecht: 
Anmeldungsdatum: 10.08.2006
Beiträge: 681
Wohnort: WOB
|
Verfasst am:
02.02.2009, 16:24 |
  |
| Code: |
# include <iostream>
# include <iomanip>
# include <cmath>
using namespace std;
int fakultaet(int a) {
if (a == 1) {
return 1;
}
else {
return a * fakultaet(a - 1);
}
}
float reihenentwicklung(float x) {
int i;
float reihe = 1;
for (i = 1; i <= 12; i++) {
reihe = reihe + (pow(x, i) / fakultaet(i));
cout<<"Glied "<<i<<" : "<<reihe<<endl;
}
}
int main()
{
float x;
// EINLESEN
cout << "Bitte geben Sie x ein: ";
cin>>x;
cout<<endl;
cout<<"TEIL 1:"<<endl;
cout<<"exp(x): "<<exp(x)<<endl;
cout<<endl;
cout<<"TEIL 2:"<<endl;
reihenentwicklung(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 |
|
    |
 |
betanova
Ehrenmitglied

Anmeldungsdatum: 18.05.2005
Beiträge: 700
|
Verfasst am:
02.02.2009, 16:31 |
  |
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? |
_________________ "eine flöte ohne löcher ist keine flöte, aber ein loch ohne flöte ist was ganz anderes!!" |
|
  |
 |
|
|