Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » trunc in math.h » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
kein_plan

Wie gesagt, in VS2013 läuft es. Und das reicht mir auch erstmal.

Vielen Dank für eure Tipps. smile
Karlito

Hallo spazzpp2,

Zitat:
Original von spazzpp2
C sollte unabhängig von den VS-Versionen die selben Ergebnisse liefern, weil C standardisiert ist.


Sollte es und ist es bestimmt auch. Deswegen macht das Tool VS jedoch trotzdem Probleme. Ich hatte auch verschiedenen Optionen probiert um das o.g. Programm zum laufen zu bekommen. Jedoch ohne Erfolg. Und weitere Zeit wollte ich nicht investieren.

VG,

Karlito
spazzpp2

Prinzipiell zu den Rundungsfunktionen:

Weil Python unter der Haube mit C-Code funktioniert, hier eine einfache Zusammenfassung in Python:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
>>> import math
>>> a = [3.4, 3.5, 3.6]
>>> methods = [math.floor, math.ceil, math.trunc, round, int]
>>> for m in method:
...     print m, map(m, a)
<built-in function floor> [3.0, 3.0, 3.0]
<built-in function ceil> [4.0, 4.0, 4.0]
<built-in function trunc> [3, 3, 3]
<built-in function round> [3.0, 4.0, 4.0]
<type 'int'> [3, 3, 3]


Hier wende ich einfach jede der Rundungsfunktionen auf eine Liste [3.4, 3.5, 3.6] an.

C sollte unabhängig von den VS-Versionen die selben Ergebnisse liefern, weil C standardisiert ist.
Karlito

Hi,

bei den Versionen 2010 und 2012 gab es soweit ich weiß irgendwelche Probleme mit der Implementierung der Programmierumgebung für C/C++. So funktionierte auch die Syntaxvervollständigung nicht richtiig. Ich vermute, dass in VS2008 auch alles in Ordnung wäre. Ist aber nur eine Vermutung.

Vielleicht findest du hier hier noch genauere Informationen.

Edit: Ich habe auf meinen Windows-Systemen atm auch nur VS2010, deswegen ist es bei mir auch fehlgeschlagen. Für C verwende ich lieber Linux und für C++ eine andere Programmiersprache, solange ich die Wahl habe Augenzwinkern

VG,

Karlito
kein_plan

Zitat:
Original von eulerscheZahl
Also, Visual Studio 2013 macht, was es machen soll.


Bis jetzt hatte ich es immer in Visual Studio 2012 getestet. Jetzt habe ich mir mal Visual Studio 2013 installiert, und da geht alles: trunc und round (das hatte in 2012 beides nicht funktioniert).

Wieso gehen diese beiden Funktionen denn erst in der neuen Version? verwirrt
eulerscheZahl

Ok, dann hatte ich da was durcheinandergebraucht, ich dachte, Kaufleute würden immer zur nächstgrößeren Zahl runden.
Danke fürs Berichtigen.
Karlito

Hallo euler,

laut wikipedia ist kaufmännisches Runden genau das was man herkömmlich als Runden versteht...

VG,

Karlito
eulerscheZahl

Erwartet man dann bei round(-5.5) nicht eine -5? Gemäß der von dir verlinkten Seite erhält man ja eine -6.
Karlito

Die Funktion Round sollte eigentlich kaufmännische Runden. Eventuell jedoch gebunden an C99.

S. hier.

VG,

Karlito
eulerscheZahl

Also, Visual Studio 2013 macht, was es machen soll.
Ich habe aber schon öfter Unterschiede zwischen Visual Studio und gcc festgestellt, speziell, was das Abstürzen von Programmen angeht.

Für das "kaufmännische Runden" ist mir nichts bekannt.
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.