Help me with my programming please. - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Help me with my programming please.

The_Blue_TigerThe_Blue_Tiger Posts: 2Member
Hello,

I'm a student studying geography and IT. I wanted to combine this 2. So I made a program to see if you can link the capitals to their countries.
below is what I have so far.
I use Dev-Pascal. It compiles but it has a fault it always give you the if option even if it does not need to... try it then you'll see what I mean. This program was first written in Dutch but I translated the tekst to English only the variables are stil in Dutch but that shouldn't be i problem i think (what's in a name...).

questions:
1)how can I solve the fault
2How can I randomize the countries and exclude the countries already shown.(like the lotto)
3)How can I simplify the text by using advanced programming?

Your help is really appreciated.

PROGRAM BENELUX;

USES CRT;

Type
KeypressedType = 1..2;

VAR
Keuze,a : integer;
DeHoofdstad,DeJuisteHoofdstad : String;
HetLand, HetJuisteLand : String;

CONST
Del = 1500;

PROCEDURE VraagKeuze;
BEGIN
GOTOXY(5,6);
WriteLn('This program tests your knowledge of Geografie');
GOTOXY(5,10);
WriteLn('Choose between the folowing');
GOTOXY(5,11);
WriteLn('Press 1 for countries of the Ueropean Union Countries: Given ; Capital: asked');
GOTOXY(5,12);
WriteLn('Press 2 for countries of the Ueropean Union Countries: asked ; Capital: Given (IN progress)');
GOTOXY(5,13);
WriteLn('Press 3 for European countries Countries: Given ; Capital: asked');
GOTOXY(5,14);
WriteLn('Press 4 for European countries Countries: asked ; Capital: Given (IN progress)');
GOTOXY(5,15);
ReadLn(Keuze);
CLRSCR;
END;






PROCEDURE VraagHoofdstad(VAR Hoofdstad : STRING; Land: STRING);
BEGIN
GOTOXY(20,8);
WriteLn('What is the capital of ', Land,'?');
GOTOXY(20,10);
ReadLn(Hoofdstad);
END;

PROCEDURE ControleerHoofdstad( Hoofdstad, JuisteHoofdstad: STRING);
BEGIN
IF UPCASE(JuisteHoofdstad) = UPCASE(Hoofdstad) THEN
BEGIN
GOTOXY(20,12);
TEXTCOLOR(LightGreen);
WriteLn('You are correct ! congratulations');
END
ELSE
BEGIN
GOTOXY(20,12);
Textcolor(LightRed);
WriteLn('Try again...');
END
END;

PROCEDURE ControleerAntwoordHoofdstad(juisteHoofdstad, Hoofdstad: STRING);
VAR
Keypressed: KeypressedType;
Herhaal: BOOLEAN;

BEGIN
REPEAT
Textcolor(LightRed);
WriteLn('Atention umlaut do not show so do not write them.');
TEXTCOLOR(White);
VraagHoofdstad(DeHoofdstad, HetLand);
ControleerHoofdstad(DeHoofdstad, DeJuisteHoofdstad);
repeat
IF (UPCASE(JuisteHoofdstad) <> UPCASE(Hoofdstad)) THEN
BEGIN
GOTOXY(10,14);
WriteLn('Do you want to try again or do you want the solution? press resp. 1 & 2');
GOTOXY(10,16);
ReadLn(Keypressed);
IF KeyPressed = 1 THEN
BEGIN
Herhaal:= TRUE;
END
ELSE
BEGIN
Herhaal := FALSE;
GOTOXY(10,18);
WriteLn('The right capital was ', JuisteHoofdstad);
END;
END
ELSE
BEGIN
WriteLn()
END;
until ((keypressed >0) and (keypressed < 3));
DELAY(Del);
CLRSCR;
UNTIL ((UPCASE(JuisteHoofdstad) = UPCASE(Hoofdstad)) OR (Herhaal = FALSE));
END;
PROCEDURE GenereerNummer(VAR a: INTEGER);
VAR q : INTEGER;
BEGIN

FOR q:= 1 To 27 DO
BEGIN
Randomize();
a:= Random (27) + 1;
END;
END;



PROCEDURE ToonEULand(VAR juisteHoofdstad, Land: STRING; a : INTEGER); // optie 1: Begin EU land --> hoofdstad
VAR Teller: INTEGER;

BEGIN
FOR Teller := 1 To 27 Do
BEGIN
GenereerNummer (a);
CASE a OF

1:
BEGIN
Land := 'Belgium';
JuisteHoofdstad := 'Brussels';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;


2:
BEGIN
Land := 'Bulgaria';
JuisteHoofdstad := 'Sofia';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;

3:
BEGIN
Land := 'Cyprus';
JuisteHoofdstad := 'Nicosia';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
4:
BEGIN
Land := 'Denmark';
JuisteHoofdstad := 'Copenhagen';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;

5:
BEGIN
Land := 'Germany';
JuisteHoofdstad := 'Berlin';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;

6:
BEGIN
Land := 'Estonia';
JuisteHoofdstad := 'Tallinn';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
7:
BEGIN
Land := 'Finland';
JuisteHoofdstad := 'Helsinki';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
8:
BEGIN
Land := 'France';
JuisteHoofdstad := 'Paris';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
9:
BEGIN
Land := 'Greece';
JuisteHoofdstad := 'Athens';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
10:
BEGIN
Land := 'Hungary';
JuisteHoofdstad := 'Budapest';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
11:
BEGIN
Land := 'Ireland';
JuisteHoofdstad := 'Dublin';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
12:
BEGIN
Land := 'Italy';
JuisteHoofdstad := 'Rome';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
13:
BEGIN
Land := 'Latvia';
JuisteHoofdstad := 'Riga';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
14:
BEGIN
Land := 'Lithuania';
JuisteHoofdstad := 'Vilnius';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
15:
BEGIN
Land := 'Luxembourg';
JuisteHoofdstad := 'Luxembourg';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
16:
BEGIN
Land := 'Malta';
JuisteHoofdstad := 'Valletta';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
17:
BEGIN
Land := 'Netherlands';
JuisteHoofdstad := 'Amsterdam';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
18:
BEGIN
Land := 'Austria';
JuisteHoofdstad := 'Vienna';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
19:
BEGIN
Land := 'Poland';
JuisteHoofdstad := 'Warsaw';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
20:
BEGIN
Land := 'Portugal';
JuisteHoofdstad := 'Lisbon';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
21:
BEGIN
Land := 'Romania';
JuisteHoofdstad := 'Bucharest';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
22:
BEGIN
Land := 'Slovenia';
JuisteHoofdstad := 'Ljubljana';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
23:
BEGIN
Land := 'Slovakia';
JuisteHoofdstad := 'Bratislava';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
24:
BEGIN
Land := 'Spain';
JuisteHoofdstad := 'Madrid';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
25:
BEGIN
Land := 'Czech Republic';
JuisteHoofdstad := 'Prague';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
26:
BEGIN
Land := 'United Kingdom';
JuisteHoofdstad := 'London';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
27:
BEGIN
Land := 'Sweden';
JuisteHoofdstad := 'Stockholm';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
END;
END;
END; // optie 1: Einde EU land --> hoofdstad


PROCEDURE ToonEuropeseLanden(VAR juisteHoofdstad, Land: STRING); // optie 3: Begin europa land --> hoofdstad
VAR Teller: INTEGER;

BEGIN
FOR Teller := 1 To 27 Do
BEGIN
CASE Teller OF
1:
BEGIN
Land := 'Albania';
JuisteHoofdstad := 'Tirana';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
2:
BEGIN
Land := 'Andorra';
JuisteHoofdstad := 'Andorra la Vella';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
3:
BEGIN
Land := 'Belgium';
JuisteHoofdstad := 'Brussels';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
4:
BEGIN
Land := ' Bosnia and Herzegovina';
JuisteHoofdstad := 'Sarajevo';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
5:
BEGIN
Land := 'Bulgaria';
JuisteHoofdstad := 'Sofia';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
6:
BEGIN
Land := 'Cyprus';
JuisteHoofdstad := 'Nicosia';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
7:
BEGIN
Land := 'Denmark';
JuisteHoofdstad := 'Copenhagen';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
8:
BEGIN
Land := 'Germany';
JuisteHoofdstad := 'Berlin';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
9:
BEGIN
Land := 'Estonia';
JuisteHoofdstad := 'Tallinn';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
10:
BEGIN
Land := 'Finland';
JuisteHoofdstad := 'Helsinki';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
11:
BEGIN
Land := 'France';
JuisteHoofdstad := 'Paris';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
12:
BEGIN
Land := 'Greece';
JuisteHoofdstad := 'Athens';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
13:
BEGIN
Land := 'Hungary';
JuisteHoofdstad := 'Budapest';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
14:
BEGIN
Land := 'Ireland';
JuisteHoofdstad := 'Dublin';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
15:
BEGIN
Land := 'Iceland';
JuisteHoofdstad := 'Reykjavik';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
16:
BEGIN
Land := 'Italy';
JuisteHoofdstad := 'Rome';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;

17:
BEGIN
Land := 'Kosovo';
JuisteHoofdstad := 'Pristina';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
18:
BEGIN
Land := 'Croatia';
JuisteHoofdstad := 'Zagreb';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
19:
BEGIN
Land := 'Latvia';
JuisteHoofdstad := 'Riga';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
20:
BEGIN
Land := 'Liechtenstein';
JuisteHoofdstad := 'Vaduz';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;

21:
BEGIN
Land := 'Lithuania';
JuisteHoofdstad := 'Vilnius';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
22:
BEGIN
Land := ' Luxembourg';
JuisteHoofdstad := ' Luxembourg';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
23:
BEGIN
Land := 'Macedonia';
JuisteHoofdstad := 'Skopje';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
24:
BEGIN
Land := 'Malta';
JuisteHoofdstad := 'Valletta';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
25:
BEGIN
Land := 'Moldova';
JuisteHoofdstad := 'Chisinau';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
26:
BEGIN
Land := 'Monaco';
JuisteHoofdstad := 'Monaco';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
27:
BEGIN
Land := 'Montenegro';
JuisteHoofdstad := 'Podgorica';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
28:
BEGIN
Land := 'Netherlands';
JuisteHoofdstad := 'Amsterdam';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
29:
BEGIN
Land := 'Norway';
JuisteHoofdstad := 'Oslo';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
30:
BEGIN
Land := 'Ukraine';
JuisteHoofdstad := 'Kiev';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
31:
BEGIN
Land := 'Austria';
JuisteHoofdstad := 'Vienna';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
32:
BEGIN
Land := 'Poland';
JuisteHoofdstad := 'Warsaw';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
33:
BEGIN
Land := 'Portugal';
JuisteHoofdstad := 'Lisbon';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
34:
BEGIN
Land := 'Romania';
JuisteHoofdstad := 'Bucharest';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
35:
BEGIN
Land := 'Russia';
JuisteHoofdstad := 'Moscow';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
36:
BEGIN
Land := 'San Marino';
JuisteHoofdstad := 'San Marino';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
37:
BEGIN
Land := 'Serbia';
JuisteHoofdstad := 'Belgrade';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
38:
BEGIN
Land := 'Slovenia';
JuisteHoofdstad := 'Ljubljana';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
39:
BEGIN
Land := 'Slovakia';
JuisteHoofdstad := 'Bratislava';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
40:
BEGIN
Land := 'Spain';
JuisteHoofdstad := 'Madrid';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
41:
BEGIN
Land := 'Czech Republic';
JuisteHoofdstad := 'Prague';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
42:
BEGIN
Land := 'Turkey';
JuisteHoofdstad := 'Ankara';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
43:
BEGIN
Land := 'Vatican City';
JuisteHoofdstad := 'Vatican City';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
44:
BEGIN
Land := 'United Kingdom';
JuisteHoofdstad := 'London';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
45:
BEGIN
Land := 'Belarus';
JuisteHoofdstad := 'Minsk';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
46:
BEGIN
Land := 'Sweden';
JuisteHoofdstad := 'Stockholm';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
47:
BEGIN
Land := 'Switzerland';
JuisteHoofdstad := 'Bern';
ControleerAntwoordHoofdstad(DeJuisteHoofdstad, DeHoofdstad);
END;
END;
END;
END; // optie 3: Einde Europa land --> hoofdstad






PROCEDURE ControleerKeuze;
BEGIN
CASE Keuze OF
1:ToonEULand( DeJuisteHoofdstad,HetLand,a);
2:
BEGIN
GOTOXY(20,12);
WriteLn('I said it was in progress');
END;
3:ToonEuropeseLanden ( DeJuisteHoofdstad,HetLand);
4:
BEGIN
GOTOXY(20,12);
WriteLn('I said it was in progress');
END;
END;
ReadLn();
END;




BEGIN
VraagKeuze();
ControleerKeuze();

END.


Comments

  • Actor21Actor21 Posts: 35Member
    [blue]: only the variables are stil in Dutch
    : but that shouldn't be i problem i think (what's in a name...).
    : [/blue]

    A well chosen name is descriptive, revealing what the programmer is doing. [b]Rate[/b] says a lot more than [b]x[/b]. Not speaking Dutch "Keuze, DeHoofdstad, DeJuisteHoofdstad, HetLand, HetJuisteLand" may as well be v, w, x, y, z.

    And the comments are still in Dutch.



Sign In or Register to comment.