Toon posts:

[QBASIC] DEFINT A-Z rond getallen af... ;( HELP!

Pagina: 1
Acties:
  • 244 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoe kan ik zorgen als ik in een programma geschreven in Q(uick)Basic defint a-z gebruik dat het programma dan niet gaat afronden tot hele getallen?

bv

defint a-z
test=216
procent = 216 / 100
print procent

uitkomst:
code:
1
2

help!..

tnx.

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
erm... geen defint gebruiken?

dim procent as double oid wil misschien ook wel lukken

Verwijderd

Euh,

defint == integer
integer == geheel getal
integer != komma's
integer: 1,9 == 1

Verwijderd

Topicstarter
Ik moet wel DEFINT gebruiken anders kan ik het hele programma over nieuw gaan schrijven :D

  • TimMer
  • Registratie: Februari 2000
  • Niet online
Dan heb ik slecht nieuws voor je...

Verwijderd

Topicstarter
en dat is dat dat dan niet wil? :D

  • joepP
  • Registratie: Juni 1999
  • Niet online
Probeer eens 'procent!' in plaats van 'procent' te gebruiken, volgens mij maakt ie er dan een float van...

* joepP weet het niet zeker, aangezien hij al in geen jaaaaaaren meer QBASIC heeft aangeraakt

Verwijderd

Topicstarter
nee dat heb ik al geprobeerd maar wil ook niet echt lukken ;(... baal er best van ;(

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21-09 12:16

.oisyn

Moderator Devschuur®

Demotivational Speaker

procent! = 216! / 100! misschien?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
ff testen.

Verwijderd

Topicstarter
Op zondag 23 september 2001 16:48 schreef OiSyN het volgende:
procent! = 216! / 100! misschien?
TNX!!!!!!!!!!!

  • GeniusDex
  • Registratie: Augustus 2001
  • Laatst online: 22-06 13:24

GeniusDex

Thumbs up for insanity!

ik weet niet, zo goed ben ik nou ook weer niet in QBasic
Ik gebruikte DEFINT A-Z bijna nooit. Weet nog steeds niet waarom je het nodig hebt :) Maar zover ik weet heb je alleen een soort van float in QBasic, en dat is dan ook het enige soort getal (* GeniusDex heeft dit bijna zeker weten fout)

Please guys, I'm trying to troll here.
If I failed to offend you in this post, please leave a message. I will address you in next post.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21-09 12:16

.oisyn

Moderator Devschuur®

Demotivational Speaker

er was trouwens toch ook een verschil tussen / en \ ?

/ is een floating point uitkomst en \ was een integer uitkomst ofzoiets

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
het werkt wel maar niet tesamen in mijn projectje..

;(

voorbeeldje

counter = 217 (automatisch gelezen)
done = 12 (automatisch gelezen)
procentklaar = (217 /100 * done)

maar dan klopt het nog steeds niet ;(

Verwijderd

Topicstarter
'k heb het al gefixt met

fix(berekening)

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
+-[ File Processor ]-----------------------------------------------------------+
Ŝ                                                   Ŝ
Ŝ +[ Processing : adrianasklenarikova55.jpg ]-+-[ Picture: 133 of 216     Ŝ
Ŝ +[ Galleryname: adriana_lima           ]-+-[ Gallery: 1 of 478     Ŝ
Ŝ                                                   Ŝ
Ŝ +[ Gallery: __________________________________________________ 61%         Ŝ
Ŝ +[   Total: __________________________________________________ 0%     Ŝ
Ŝ                                                   Ŝ
+------------------------------------------------------------------------------+

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 14:51

johnwoo

3S-GTE

Op zondag 23 september 2001 16:51 schreef GeniusDex het volgende:
ik weet niet, zo goed ben ik nou ook weer niet in QBasic
Ik gebruikte DEFINT A-Z bijna nooit. Weet nog steeds niet waarom je het nodig hebt :) Maar zover ik weet heb je alleen een soort van float in QBasic, en dat is dan ook het enige soort getal (* GeniusDex heeft dit bijna zeker weten fout)
In BASIC hoef(de) je niet je variabelen expliciet te declareren (kan natuurlijk wel). Met de DEFxxx statement geef je een default type aan variabelen.
'DEFINT range' gebruik je bijvoorbeeld om aan te geven dat de compiler alle variabelen die beginnen met een letter uit de range van het type Integer (16 bits) zijn. Je kunt ook de andere typen als default gebruiken (DEFLNG, DEFSNG, DEFDBL en DEFSTR geloof ik), en combinaties ervan. Zo kun je bijvoorbeeld zeggen dat alles dat met een s begint een string is.

En BASIC had dus niet alleen een 'soort van float', BASIC had Integer (16 bits), Long integer (32 bits), Single-precision floating point, Double-precision floating point en String. Het Currency type (64 bits) is er geloof ik (samen met Boolean) pas in VB bijgekomen.

Gelukkig kent VB de Option Explicit compiler directive, waarmee je tegen de compiler vertelt dat ie wèl moet gaan blaten als ie een ongedeclareerde variabele tegenkomt.

Je kunt in Basic trouwens variabelen casten met CInt, CLng, CSng, CDbl en CStr. Probeer dit dus eens:
code:
1
2
3
4
5
DIM procentklaar AS SINGLE

counter = 217 ' (automatisch gelezen)
done = 12 ' (automatisch gelezen)
procentklaar = (CSng(counter) / 100 * CSng(done))

Een ander alternatief is om eerst te vermenigvuldigen en daarna pas door 100 te delen. Waarschijnlijk is een precisie tot op 1 procent toch wel genoeg.
code:
1
2
3
counter = 217 (automatisch gelezen)
done = 12 (automatisch gelezen)
procentklaar = (counter * done) / 100

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

defint staat voor define integer.

Het enige wat je nog kunt proberen is NA die defint regel een defdbl <variabele naam> neer te zetten.
Als dat niet werkt, kom je toch je defint aan het wissen

Om het niet te omslachtig te maken
zet je dan vooraan gewoon
dim <var-name> as integer

of, als dat in Qbasic niet werkt (werkte zelf alleen met VB en PowerBasic),

defint <var-name>

dan wordt alleen die var als int gedefined, en de rest blijft vrij

(defint a-z maakt van ALLE vars ints)

Verwijderd

Topicstarter
Klopt idd

DEFINT A-Z = voor alle variablen.
DEFINT <varnane> = alleen die variable.

Ik heb zelf nogal wat variablen dus is A-Z gemakkelijker ;)

/me zijn probleem is opgelost!.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 13:51

Janoz

Moderator Devschuur®

!litemod

Op zondag 23 september 2001 16:56 schreef Xtentic het volgende:
het werkt wel maar niet tesamen in mijn projectje..

;(

voorbeeldje

counter = 217 (automatisch gelezen)
done = 12 (automatisch gelezen)
procentklaar = (217 /100 * done)

maar dan klopt het nog steeds niet ;(
Doe gewoon (217 * done) / 100... Dan werkt het wel

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op zondag 23 september 2001 17:12 schreef Janoz het volgende:

[..]

Doe gewoon (217 * done) / 100... Dan werkt het wel
Idd dat heb ik gedaan ;) tnx!
Pagina: 1