Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Nachkommastellen abschneiden

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
spawn



Anmeldungsdatum: 09.08.2005
Beiträge: 45

BeitragVerfasst am: 18.08.2005, 22:26    Titel: Nachkommastellen abschneiden Antworten mit Zitat

Hi,

Ich muss in einem Prog. die Nachkommastellen abschneiden um aus z.B.:90 min., 1Std und 30min zu machen.

Ich denke der Logaritmus dafür dürfte recht einfach sein, aber ich muss ein Programm schnell fertigstellen - da habe ich keine Zeit um alles zu lernen und anzulesen.

MFG Guido
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 18.08.2005, 22:46    Titel: Antworten mit Zitat

Ich bin mir jetzt nicht ganz sicher, was du meinst...

Um aus einer Kommazahl eine Ganzzahl zu machen, verwendest du
CINT
Allerdings bräuchtest du für eine Berechnung, die aus Minuten eine Zeit im Format hh:mm macht, diesen code:

Code:
INPUT "Minuten?", min
std = min \ 60
min = min MOD 60
PRINT "Das sind"; std; " Stunden und"; min; " Minuten."


Beachte, dass bei der Division ein Backslash (\, also [ALT] + [ß] anstatt /, also [SHIFT] + [7]) verwendet wurde. Das bewirkt eine Integerdivision, bei der keine Nachkommastellen berechnet werden. Kann Fehler bei der Rundung verhindern, die zumindest unter QB auftraten (unter FB hab ichs noch nicht getestet).
Zu MOD kann ich dir nur die Referenz empfehlen:
http://fb.exp-soft.de/r.php?s=MOD

//EDIT: Anmerkung: bei dieser URL ist natürlich der zweite Eintrag gemeint. INPUT wird nur aufgeführt, weil "mod" in "Dateimodus" vorkommt.//


Hoffe, das hilft dir!


Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
psygate



Anmeldungsdatum: 05.04.2005
Beiträge: 304
Wohnort: Wien und der Computer

BeitragVerfasst am: 22.08.2005, 16:29    Titel: Antworten mit Zitat

Nur so nebenbei: Logarithmus <> Algorithmus. Das was du meinst ist ein Algorithmus, eine vorgehensvorschrift.

Code:

min=90´
minuten=90 mod 60
stunden=min-minuten
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 23.08.2005, 21:06    Titel: Antworten mit Zitat

@psygate:
Deine Unterscheidung und Erklärung ist richtig. Dein Code leider nicht; da würde für Stunden 60 rauskommen.
Um die Stunden zu bekommen, musst du (wie bei mir oben im Beispiel) eine Integerdivision benutzen, also

stunden = min \ 60

Nichts für ungut zwinkern

Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Progger_X
Mr. Lagg


Anmeldungsdatum: 24.11.2004
Beiträge: 784
Wohnort: Leipzig

BeitragVerfasst am: 24.08.2005, 00:49    Titel: Antworten mit Zitat

Mein Mathelehrer hat gesagt, nen Algorythmus ist was, was man immer wieder machen muss, wie z.B. beim Wurzelziehen wenn man immer schaut, ob die zahl größer oder kleiner als die mitte der vorherigen Zahlen ins quadrat ist. D.h. so was, was man immer wiederhohlt.
Dafür wäre dann ein Algorythmus:

Code:
INPUT minuten
WHILE minuten>60
   minuten=minuten-1
   stunden=stunden+1
WEND
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d.j.peters
Gast





BeitragVerfasst am: 24.08.2005, 06:50    Titel: Antworten mit Zitat

hi Progger_X,
ein Algo. könnte so aussehen.

Grüsse Joshy
Code:
option explicit
dim as integer m,s
input "Minuten";m
if m<1 then end
while m-(m mod 60):m-=60:s+=1:wend
print str(s) + ":" + str(m)
sleep
end
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz