Type mismatch error

If you have questions about any aspect of QBasic programming, or would like to help fellow programmers solve their problems, check out this board!
Post Reply
flirt85
Coder
Posts: 13
Joined: Sun Mar 12, 2006 2:14 pm

Type mismatch error

Post by flirt85 »

COLOR 7, 0
CLS

DIM b AS STRING 'border drawing character
DIM contestant AS STRING 'contestant name
DIM prize AS INTEGER 'prize won
DIM prizetext AS STRING 'prize won text
DIM printstr AS STRING 'print string
DIM x AS INTEGER 'loop variable

DATA "Jim Jone", 4
DATA "Nancy Nice", 2
DATA "Who Knew", 1
DATA "Tries Hard", 5
DATA "Lota Heart", 3
DATA "xxx", -1

b = "*"
printstr = "The & prize was won by \ \"

PRINT TAB(10); STRING$(20, b) 'heading
PRINT TAB(10); b; SPC(18); b
PRINT TAB(10); b; " Prize Winners "; b
PRINT TAB(10); b; SPC(18); b
PRINT TAB(10); STRING$(20, b)
PRINT
PRINT

FOR x = 1 TO 5 'beginning of loop
IF x = 1 THEN prizetext = "first"
IF x = 2 THEN prizetext = "second"
IF x = 3 THEN prizetext = "third"
IF x = 4 THEN prizetext = "forth"
IF x = 5 THEN prizetext = "fifth"
WHILE place = x
RESTORE
READ printstr, prizetext, contestant
PRINT USING printstr(prizetext, contestant); When I try to run, I get a Type mismatch error on this line.
READ place
WEND
NEXT x

Any help is appreciated!
Antoni
Veteran
Posts: 132
Joined: Wed Jun 15, 2005 3:01 pm
Contact:

Post by Antoni »

I Hope it helps

Code: Select all

COLOR 7, 0
CLS

DIM b AS STRING 'border drawing character
DIM contestant AS STRING 'contestant name
DIM prize AS INTEGER 'prize won
DIM prizetext AS STRING 'prize won text
DIM printstr AS STRING 'print string
DIM x AS INTEGER 'loop variable

DATA "Jim Jone", 4
DATA "Nancy Nice", 2
DATA "Who Knew", 1
DATA "Tries Hard", 5
DATA "Lota Heart", 3
DATA "xxx", -1

b = "*"
printstr = " The \    \ prize was won by \         \ "

PRINT TAB(10); STRING$(20, b) 'heading
PRINT TAB(10); b; SPC(18); b
PRINT TAB(10); b; " Prize Winners    "; b
PRINT TAB(10); b; SPC(18); b
PRINT TAB(10); STRING$(20, b)
PRINT
PRINT

FOR x = 1 TO 5 'beginning of loop
	IF x = 1 THEN prizetext = "first"
	IF x = 2 THEN prizetext = "second"
	IF x = 3 THEN prizetext = "third"
	IF x = 4 THEN prizetext = "forth"
	IF x = 5 THEN prizetext = "fifth"
	RESTORE
	DO
	  READ contestant, place
	LOOP UNTIL place = x
	PRINT USING printstr; prizetext; contestant
NEXT x
flirt85
Coder
Posts: 13
Joined: Sun Mar 12, 2006 2:14 pm

Post by flirt85 »

Thank you Antoni! It's a bit different than what was asked of me, but it runs perfectlly!
Post Reply