Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Addieren bzw. multiplizieren von Feldinhalten

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 ]
000
21.09.2005, 10:44 Uhr
~smash
Gast


Hab da nan Fehler im Programm ,könnt ihr mir helfen?


mfg.



C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>

void main ()
{
int i,Ergebnis;
char wahl ;
float feld[5];

cout << "Bitte geben sie 3 Zahlen ein \n";

for (i=0;i <= 2; i++)
        {
        cout<< " bitte "<< (i+1) <<". Zahl eingeben";
        cin >> feld[i];
        }
cout << " Bitte waehlen sie aus ob sie die Zahlen addieren oder multiplizieren moechten(a/m)\n";
cin >>wahl;

switch (wahl)
        {
        default: cout << "Falsche Eingabe\n";
        case 'a':
        case 'A': Ergebnis = feld[1]+feld[2]+feld[3];
                  printf ("\n %f ,Ergebnis");
        break;
        case 'm':
        case 'M': Ergebnis = feld[0] *feld[2] *feld[3] ;
                  printf ("\n %f ,Ergebnis");
        break;
        }
getch();
}


Dieser Post wurde am 21.09.2005 um 12:23 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.09.2005, 12:28 Uhr
ao

(Operator)



Zitat von ~smash:


C++:
for (i=0;i <= 2; i++)
    cin >> feld[i];
// ....
case 'A': Ergebnis = feld[1]+feld[2]+feld[3];
case 'M': Ergebnis = feld[0] *feld[2] *feld[3] ;
}




Siehst du es selber?

Beim nächsten Mal:

1. cpp-Tags benutzen
2. Dazuschreiben, was nicht funktioniert.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.09.2005, 12:30 Uhr
ao

(Operator)


Ach so, noch was:
Mischen von Funktionen aus verschiedenen IO-Bibliotheken (cin/cout vs. printf) kann spaßige Seiteneffekte haben. Entscheide dich für eins und bleib dabei.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.09.2005, 12:48 Uhr
~smash
Gast


Die eckigen Klammern müssen weg weil ich kein Feld deklarieren will sondern mit dem Inhalt des jeweiligen Elements arbeiten will .

Das ist aber nicht alles, habs ausprobiert und geht dann immer noch nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.09.2005, 12:55 Uhr
ao

(Operator)


Nein, du indizierst falsch. Du füllst feld[0] bis feld[2] und fragst dann feld[1] bis feld[3] ab.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.09.2005, 13:12 Uhr
Zerstreuter




C++:
printf ("\n %f ,Ergebnis");    // falsch
printf ("\n %f ",Ergebnis);    // richtiger; man beachte die Anführungszeichen
printf ("\n %d ",Ergebnis);    // richtig; Ergebnis ist ein int und deswegen %d


Außerdem kommst du, wie ao bereits geschrieben hat, mit den Indices ein wenig durcheinander.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.09.2005, 13:30 Uhr
ao

(Operator)



Zitat von Zerstreuter:

C++:
printf ("\n %d ",Ergebnis);    // richtig; Ergebnis ist ein int und deswegen %d




Stimmt, das auch. smash, du solltest lernen, einen Debugger zu benutzen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.09.2005, 07:58 Uhr
~smash
Gast


ok werd mir mühe geben ,danke schön
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.09.2005, 08:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Mischen von Funktionen aus verschiedenen IO-Bibliotheken (cin/cout vs. printf) kann spaßige Seiteneffekte haben. Entscheide dich für eins und bleib dabei.


Und wo bleibt dann der Spass dabei?

SCNR (Muss gerade eine Vorstandspräsentation basteln und hab vom Zahlenbingo spielen und "hübsch" machen die Schnauze voll)
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 22.09.2005 um 08:52 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
23.09.2005, 09:41 Uhr
~smash
Gast


Kann man das ganze nicht auch mit Schleifen und Zuweisungsopertoren lösen .


case 'A': Ergebnis = feld[1]+feld[2]+feld[3];
case 'M': Ergebnis = feld[0] *feld[2] *feld[3] ;

zb.:
case'A':
for (i=0;i<2;i++)
{
Ergebnis += feld[i];
}

1.1:
ist zwar nicht korrekt aber könnte das nicht umgefähr auch so gehn?
1.2:
wie würdet ihr die Aufgabe lösen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Borland C++ Builder ]  


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: