Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » modulo befehl?

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 ] [ 3 ]
000
13.06.2007, 10:25 Uhr
~Paze_again_and_return
Gast


Meine aufgabenstellung:


Code:

Die Zahl 34.55 ist durch 5 zu dividieren. Der [b]Restwert[/b] soll in der Variablen mit dem Namen v_ergebnis gespeichert werden. Dieses Ergebnisfeld ist auszugeben.

DIe Variable mit dem Namen v_zahl_1 ist als float und die Variable v_ergebnis ist als int zu definieren.



So....ich hab gehört, das geht mit dem sogenannten "modulo" befehl, ich kenne den aber nicht. Kann mir eventuell jmd dabei helfen.

Ich arbeite mit normalem C++, sprich -> cout << "Text" << endl; und nicht mit dem hier oft vokommenden std:: (was das auch immer heissen mag).

Für eure hilfe schonmal im vorraus danke.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.06.2007, 12:03 Uhr
KFC Embryo
Ein Huhn


Hallo,

ich denke das könnte so ausehen:




C++:


#include <iostream>

using namespace std;

int main()
{
    float     v_zahl_1 = 0.0, v_zahl_2 = 0.0;
    int    v_ergebnis = 0;

    cout << "Eingabe der zu teilenden Zahl: ";
    cin >> v-zahl_1;
    cout << endl;

    v_ergebnis = v_zahl_1%v_zahl_2;
    cout << "Der Restwert ist: " << v_ergebnis;
    getch();
}



Man muss halt noch ne Eingabe für v_zahl_2 fordern.
mfg
KFC Embryo
--
An nescis, mi fili, quantilla prudentia mundus regatur?

Dieser Post wurde am 13.06.2007 um 12:04 Uhr von KFC Embryo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.06.2007, 12:03 Uhr
RedEagle



std:: ist der Namensraum (namespace) von cout


C++:
std::cout << "hallo";


entspricht

C++:
using namespace std;
//...
cout << "hallo";



Der Modulo-Operator ist %
5%2 = 1
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.06.2007, 12:07 Uhr
Kest
saint


Hi!

Modulo lässt sich nicht auf Gleitkommazahlen anwenden.
Um den Rest zu erhalten, benutze >fmod< auf >cmath<
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.06.2007, 12:28 Uhr
KFC Embryo
Ein Huhn


Stimmt Kest hat recht.
Hatte keine Möglichkeit das Programm zu kompilieren.

mfg
--
An nescis, mi fili, quantilla prudentia mundus regatur?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.06.2007, 13:44 Uhr
~Paze_hats_geschafft
Gast


Erstmal danke an euch, ich hab es dank euch geschaft.

Und es geht auch bei Gleitpunkt zahlen (float), allerdings ist das ergebnis wieder eine Ganzzahl und keine Gleitpunktzahl mehr. Aber es geht mit Modulo Befehl.

Es liegt an der Datentyp umwandlung.

Hier mal mein Quelltext:

#include <iostream.h>


C++:
void main()

{
    float v_zahl_1 = 34.55f;
    int v_ergebnis;

    cout << "Die Zahl 34.55 ist durch 5 zu dividieren. Der Restwert soll ausgegeben werden." << endl << endl;


    v_ergebnis = (int) v_zahl_1 % 5;

    cout << "Das Ergebnis ist: " << v_ergebnis << endl << endl;

}




Durch das

C++:
(int) v_zahl_1 % 5;



wir die float Zahl wieder in eine Ganzzahl (34) umgewandelt, und die 0.55 entfahlen einfach.

[und danke für die erklärung des std::]
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.06.2007, 15:43 Uhr
0xdeadbeef
Gott
(Operator)


Also bitte, wir wollen doch hier ein bisschen am Standard bleiben.

C++:
#include <iostream> // iostream.h gibts nicht im C++-Standard

using namespace std; // Oder halt std:: vor die Bezeichner schreiben

int main() {  // main ist immer int
    float v_zahl_1 = 34.55f;
    int v_ergebnis;

    cout << "Die Zahl 34.55 ist durch 5 zu dividieren. Der Restwert soll ausgegeben werden." << endl << endl;


    v_ergebnis = int(v_zahl_1) % 5; // C style casts in C++ - besser garnicht erst angewöhnen.

    cout << "Das Ergebnis ist: " << v_ergebnis << endl << endl;

    // return 0; möglich, aber in diesem speziellen Fall nicht notwendig. main gibt per default 0 zurück.
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.06.2007, 16:03 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


vor allem die c++-c-style-casts mögen diverse Windows-Compiler nicht so wirklich ;-)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.06.2007, 21:20 Uhr
öni



Wieso kann ich dann bei meinem compiler wenn ich

#include <iostream.h>

schreibe das

using namespace std;

weglassen?Hat bis jetzt immer funktioniert ohne zu meckern.
Benutze den BCB5
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.06.2007, 21:53 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


weil der bcb5 wie der VC6 schweine alt ist und noch keinen Standard in der heutigen Form kennt.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (ANSI-Standard) ]  


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: