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
schranzo
Moderator



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

BeitragVerfasst am: 01.02.2009, 15:17 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
Anzeige







BeitragVerfasst am: 01.02.2009, 15:17 Nach oben

ktimorio
Boardschlampe


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

BeitragVerfasst am: 01.02.2009, 19:30 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenICQ-Nummer
schranzo
Moderator



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

BeitragVerfasst am: 01.02.2009, 19:38 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



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

BeitragVerfasst am: 01.02.2009, 19:42 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
ktimorio
Boardschlampe


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

BeitragVerfasst am: 01.02.2009, 20:05 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenICQ-Nummer
schranzo
Moderator



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

BeitragVerfasst am: 01.02.2009, 20:22 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
ktimorio
Boardschlampe


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

BeitragVerfasst am: 01.02.2009, 21:00 Antworten mit ZitatNach oben

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
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, 00:01 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
ktimorio
Boardschlampe


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

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

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
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, 15:01 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
schranzo
Moderator



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

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

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
ktimorio
Boardschlampe


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

BeitragVerfasst am: 02.02.2009, 15:34 Antworten mit ZitatNach oben

Sehr gut. Genau so wirds gemacht... Winken Cool

_________________
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
kleinesfieseswindchen




Anmeldungsdatum: 20.05.2005
Beiträge: 280

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

Aha......is ja einfach! Geschockt

_________________
Loretta Dazed ( * 05.06.2010 )
Plumi hat nen Knall !!! Smilie
Benutzer-Profile anzeigenPrivate Nachricht senden
ktimorio
Boardschlampe


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

BeitragVerfasst am: 02.02.2009, 16:24 Antworten mit ZitatNach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenICQ-Nummer
betanova
Ehrenmitglied



Anmeldungsdatum: 18.05.2005
Beiträge: 700

BeitragVerfasst am: 02.02.2009, 16:31 Antworten mit ZitatNach oben

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?

_________________
"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