Pascal/Turbo Pascal - Programa de paises y capitales. ayuda!!

   
Vista:

Programa de paises y capitales. ayuda!!

Publicado por David dviquez28@gmail.com (2 intervenciones) el 13/04/2011 18:51:17
Nesecito hacer un programa en pascal como un juego en donde de 1 a 4 jugadores debeb aparecer y cada uno de ellos se les hace 5 preguntas sobre un paises y ellos deben responder la capital de estos. si responde bien se le suma 100 puntos y si no, se le da cero puntos en esa pregunta.
Espero que me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Programa de paises y capitales. ayuda!!

Publicado por ramon (2072 intervenciones) el 14/04/2011 19:36:27
{Esto te muestra como realizar lo que pides pero ten en cuenta que la base de datos de países
y capitales de vería de ir en un archivo de datos bien de registro o como texto esto es una
iniciación pera que comprendas las formas en pascal luego lo puedes crear en gráfico o
texto eso seras tu quien decida lo mejor suerte un tipo de registro seria.
naciones = record
numero : integer;
nacion : string;
capital Ñ string;
end;
y de texto como el array que veras pero en lineas no como array}


program juego;
uses
crt, dos;
const
paises : array[1..216] of string[45] = (
'001=Afganistan:Kabul;',
'002=Albania:Tirana;',
'003=Alemania:Berlin;',
'004=Andorra:Andorra la Vella;',
'005=Angola:Luanda;',
'006=Anguila:The Valley;',
'007=Antigua y Barbuda:Saint John;',
'008=Antillas Holandesas:Willemstad;',
'009=Arabia Saudi:Riad;',
'010=Argelia:Argel;',
'011=Argentina:Buenos Aires;',
'012=Armenia:Erevan;',
'013=Aruba:Oranjestad;',
'014=Australia:Canberra;',
'015=Austria:Vienna;',
'016=Azerbaijan:Baku;',
'017=Bahrein:Manama;',
'018=Bangladesh:Dacca;',
'019=Barbados:Bridgetown;',
'020=Belice:Belmopan;',
'021=Benin:Porto-Novo;',
'022=Bermudas:Hamilton;',
'023=Bielorusia:Minsk;',
'024=Bolivia:Sucre;',
'025=Bosnia y Herzegovina:Sarajevo;',
'026=Botswana:Gaborone;',
'027=Brasil:Brasilia;',
'028=Brunei:Bandar Seri Begawan;',
'029=Bulgaria:Sofia;',
'030=Burkina Faso:Ouagadougou;',
'031=Burundi:Bujumbura;',
'032=Butan:Thimphu;',
'033=Belgica:Bruxelles;',
'034=Camboya:Phnom Penh;',
'035=Camerun:Yaounde;',
'036=Canada:Ottawa;',
'037=Cavo Verde:Praia;',
'038=Chile:Santiago;',
'039=China:Pekin;',
'040=Chipre:Nicosia;',
'041=Colombia:Bogota;',
'042=Comores:Moroni;',
'043=Congo:Brazzaville;',
'044=Corea del Norte:Pyongyang;',
'045=Corea del Sur:Seul;',
'046=Costa Rica:San Jose;',
'047=Costa de Marfil:Yamoussoukro;',
'048=Croacia:Zagreb;',
'049=Cuba:La Habana;',
'050=Dinamarca:Copenhagen;',
'051=Djibouti:Djibouti;',
'052=Dominica:Roseau;',
'053=Ecuador:Quito;',
'054=Egipto:Cairo;',
'055=El Salvador:San Salvador;',
'056=Emiratos arabes Unidos:Abu Dhabi;',
'057=Eritrea:Asmara;',
'058=Eslovaquia:Bratislava;',
'059=Eslovenia:Lubliano;',
'060=Espa¤a:Madrid;',
'061=Estonia:Tallin;',
'062=Etiopia:Addis Abeba;',
'063=Fiji:Suva;',
'064=Filipinas:Manila;',
'065=Finlandia:Helsinki;',
'066=Francia:Paris;',
'067=Gabon:Libreville;',
'068=Gambia:Banjul;',
'069=Georgia:Tbilisi;',
'070=Ghana:Accra;',
'071=Granada:Saint George;',
'072=Grecia:Athens;',
'073=Groenlandia:Nuuk;',
'074=Guadalupe:Basse-Terre;',
'075=Guatemala:Ciudad de Guatemala;',
'076=Guernsey:Saint Peter Port;',
'077=Guinea:Conakry;',
'078=Guinea Ecuatorial:Malabo;',
'079=Guinea Francesa:Cayenne;',
'080=Guinea-Bissau:Bissau;',
'081=Guyana:Georgetown;',
'082=Haiti:Port-au-Prince;',
'083=Honduras:Tegucigalpa;',
'084=Hong Kong:Hong Kong;',
'085=Hungria:Budapest;',
'086=India:New Delhi;',
'087=Indonesia:Jacarta;',
'088=Irak:Bagdad;',
'089=Irlanda:Dublin;',
'090=Iran:Teheran;',
'091=Isla de Jersey:Saint Helier;',
'092=Isla de Man:Douglas;',
'093=Islandia:Reykjavik;',
'094=Islas Caiman:George Town;',
'095=Islas Christmas:The Settlement;',
'096=Islas Cook:Avarua;',
'097=Islas Feroe:Torshavn;',
'098=Islas Malvinas:Port Stanley;',
'099=Islas Marshall:Majuro;',
'100=Islas Pitcairn:Adamstown;',
'101=Islas Salomon:Honiara;',
'102=Islas Turcas y Caicos:Cockburn Town;',
'103=Islas Virgenes Britanicas:Road Town;',
'104=Italia:Roma;',
'105=Jamaica:Kingston;',
'106=Japon:Tokio;',
'107=Jordania:Amman;',
'108=Kazajstan:Astana;',
'109=Kenia:Nairobi;',
'110=Kiribati:Tarawa;',
'111=Kuwait:Kuwait;',
'112=Kyrgyzstan:Bishkek;',
'113=Laos:Vientiane;',
'114=Las Bahamas:Nassau;',
'115=Lesoto:Maseru;',
'116=Liberia:Monrovia;',
'117=Libia:Tripoli;',
'118=Liechtenstein:Vaduz;',
'119=Lituania:Vilna;',
'120=Luxemburgo:Luxembourg;',
'121=Libano:Beirut;',
'122=Macao:Macao;',
'123=Macedonia:Skopje;',
'124=Madagascar:Antananarivo;',
'125=Malasia:Kuala Lumpor;',
'126=Malawi:Lilongwe;',
'127=Maldivas:Male;',
'128=Malta:La Valette;',
'129=Mali:Bamako;',
'130=Marruecos:Rabat;',
'131=Martinica:Fort-de-France;',
'132=Mauricio:Port Louis;',
'133=Mauritania:Nouakchott;',
'134=Mayotte:Mamoudzou;',
'135=Micronesia:Palikir;',
'136=Moldavia:Chisinau;',
'137=Mongolia:Ulan Bator;',
'138=Montserrat:Plymouth;',
'139=Mozambique:Maputo;',
'140=Myanmar-Burma:Yangon;',
'141=Mejico:Ciudad de Mexico;',
'142=Monaco:Monaco;',
'143=Namibia:Windhoek;',
'144=Nepal:Katmandu;',
'145=Nicaragua:Managua;',
'146=Niger:Niamey;',
'147=Nigeria:Abuja;',
'148=Niue:Alofi;',
'149=Noruega:Oslo;',
'150=Nueva Caledonia:Noumea;',
'151=Nueva Zelanda:Wellington;',
'152=Oman:Mascat;',
'153=Palau:Koror;',
'154=Panama:Panama;',
'155=Papua Nueva Guinea:Port Moresby;',
'156=Paquistan:Islamabad;',
'157=Paraguay:Asuncion;',
'158=Paises Bajos:Amsterdam;',
'159=Peru:Lima;',
'160=Polinesia Francesa:Papeete;',
'161=Polonia:Varsovie;',
'162=Portugal:Lisboa;',
'163=Qatar:Doha;',
'164=Reino Unido:London;',
'165=Republica Centroafricana:Bangui;',
'166=Republica Checa:Praga;',
'167=Republica Democratica del Congo:Kinshasa;',
'168=Republica Dominicana:Santo Domingo;',
'169=Republica del Chad:Ndjemena;',
'170=Reunion:Saint-Denis;',
'171=Ruanda:Kigali;',
'172=Rumania:Bucarest;',
'173=Rusia:Moscow;',
'174=Saint Kitts y Nevis:Basseterre;',
'175=Samoa:Apia;',
'176=San Marino:San Marino;',
'177=San Pedro y Miquelon:Saint-Pierre;',
'178=San Vicente y las Granadinas:Kingstown;',
'179=Santa Helena:Jamestown;',
'180=Santa Lucia:Castries;',
'181=Senegal:Dakar;',
'182=Serbia y Montenegro:Belgrado;',
'183=Seychelles:Victoria;',
'184=Sierra Leona:Freetown;',
'185=Singapur:Singapore;',
'186=Siria:Damasco;',
'187=Somalia:Mogadiscio;',
'188=Sri Lanka:Colombo;',
'189=Suacilandia:Mbabane;',
'190=Sudafrica:Pretoria;',
'191=Sudan:Khartoum;',
'192=Suecia:Stockholm;',
'193=Suiza:Berna;',
'194=Surinam:Paramaribo;',
'195=Svalbard:Longyearbyen;',
'196=Tailandia:Bangkok;',
'197=Taiwan:Taipei;',
'198=Tanzania:Dar es Salaam;',
'199=Tayikistan:Dushambe;',
'200=Togo:Loma;',
'201=Tonga:Nuku`alofa;',
'202=Trinidad y Tobago:Port-of-Spain;',
'203=Turkmenistan:Ashgabat;',
'204=Turquia:Ankara;',
'205=Tuvalu:Funafuti;',
'206=Tunez:Tunez;',
'207=Ucrania:Kiev;',
'208=Uganda:Kampala;',
'209=Uruguay:Montevideo;',
'210=Uzbekistan:Tashkent;',
'211=Vanuatu:Port-Vila;',
'212=Venezuela:Caracas;',
'213=Vietnam:Hanoi;',
'214=Yemen:Sanaa;',
'215=Zambia:Lusaka;',
'216=Zimbabwe:Harare;');
type
jugador = record
nume : integer;
nombre : string[20];
preguntas : array[1..5] of string;
respuesta : array[1..5] of string;
tomada : array[1..5] of string;
puntos : array[1..5] of integer;
end;

var
erro, toma, cont, numero, i, x, y : integer;
jugar : array[1..4] of jugador;
nu : string[3];
sal : boolean;
nujugadores : integer;



procedure tomadatos(n, pre : integer; code : string);
var
d1, c1 : integer;
final : boolean;
begin
d1 := 5;
c1 := 1;
final := false;
repeat
if code[d1] <> ':' then
begin
jugar[n].preguntas[pre][c1] := code[d1];
jugar[n].preguntas[pre][0] := chr(c1);
c1 := c1 + 1;
end
else
final := true;
d1 := d1 + 1;
until (final = true) or (c1 > length(code));
if final = true then
begin
final := false;
c1 := 1;
repeat
if code[d1] <> ';' then
begin
jugar[n].respuesta[pre][c1] := code[d1];
jugar[n].respuesta[pre][0] := chr(c1);
c1 := c1 + 1;
end
else
final := true;
d1 := d1 + 1;
until (final = true) or (d1 > length(code));
if final = true then
begin
final := false;
end;
end;
end;

procedure presenta_inicio(n, x1, y1 : integer);
begin
clrscr;
textcolor(15);
gotoxy(x1,y1);write('Jugador Numero : ',n);
jugar[n].nume := n;
y1 := y1 + 1;
gotoxy(x1,y1);write('Jugador Nombre : ');
gotoxy(x1 + 17,y1);readln(jugar[n].nombre);
randomize;
i := 1;
cont := 1;
repeat
repeat
numero := random(216);
until (numero > 0) and (numero < 216);
sal := false;
toma := 0;
nu := ' ';
repeat
nu := copy(paises[cont],1,3);
val(nu,toma,erro);
if toma = numero then
begin
tomadatos(n,i,paises[cont]);
sal := true;
end;
cont := cont + 1;
until (sal = true) or (cont > 216);
cont := 1;
i := i + 1;
until i > 5;
end;

procedure ajugar;
var
t, ip, x1, y1, l1 : integer;
terminado : boolean;
capi : string;
total : integer;
begin
for nujugadores := 1 to 4 do
presenta_inicio(nujugadores,2,2);
l1 := 1;
x1 := 1;
y1 := 1;
ip := 1;
repeat
clrscr;
textcolor(14);
terminado := false;
gotoxy(x1,y1);write(jugar[l1].nombre);
gotoxy(x1,y1 + 2);write(jugar[l1].preguntas[ip],'= ');
ip := ip + 1;
gotoxy(x1,y1 + 3);write(jugar[l1].preguntas[ip],'= ');
ip := ip + 1;
gotoxy(x1,y1 + 4);write(jugar[l1].preguntas[ip],'= ');
ip := ip + 1;
gotoxy(x1,y1 + 5);write(jugar[l1].preguntas[ip],'= ');
ip := ip + 1;
gotoxy(x1,y1 + 6);write(jugar[l1].preguntas[ip],'= ');
ip := 1;
textcolor(15);
repeat
gotoxy(x1 + length(jugar[l1].preguntas[ip]) + 2,y1 + 2);
readln(capi);
jugar[l1].tomada[ip] := capi;
if capi = jugar[l1].respuesta[ip] then
begin
jugar[l1].puntos[ip] := 100;
end
else
begin
jugar[l1].puntos[ip] := 0;
end;
ip := ip + 1;
y1 := y1 + 1;
if ip > 5 then
terminado := true;
until terminado = true;
terminado := false;
y1 := 1;
x1 := 1;
ip := 1;
l1 := l1 + 1;
until l1 > 4;
clrscr;
for i := 1 to 4 do
begin
writeln(jugar[i].nombre);
writeln;
for t := 1 to 5 do
begin
writeln(jugar[i].preguntas[t],' Respuesta Dada =',jugar[i].tomada[t],
' Respuesta Real =',jugar[i].respuesta[t]);
end;
total := jugar[i].puntos[1] + jugar[i].puntos[2] + jugar[i].puntos[3] +
jugar[i].puntos[4] + jugar[i].puntos[5];
writeln('Puntos Totales = ',total);
writeln;
end;
end;


begin
clrscr;
ajugar;
readln;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Programa de paises y capitales. ayuda!!

Publicado por David (2 intervenciones) el 15/04/2011 05:30:11
Muchas Gracias Ramon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Programa de paises y capitales. ayuda!!

Publicado por julio miranda (1 intervención) el 18/08/2011 15:57:51
Buenas, y como quedaría entonces si se hace utilizanod un archivo de datos? tengo que hacer el mismo trabajo! pero utilizanod archivo .dat , y mostrar un menu inicial con lo siguiente: 1. jugar, 2: consulta, 3: matenimiento, 4: jugar, 5: salir, espero me ´puedan ayudar. saludar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar