Howdy, Stranger!

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

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

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.