/* Olympialaiset.cs (c) 2005 Kari Laitinen Tama ohjelma nayttaa kuinka kaytetaan olioita sisaltavaa taulukkoa, tai tarkemmin sanottuna taulukkoa joka sisaltaa viittauksia olioihin. Ohjelmassa esitellaan ensin luokka nimelta Olympialaiset. Tuon luokan olio pitaa sisallaan yksien olympiakisojen tiedot. Olympialaiset-luokkaan perustuen maaritellaan taulukko johon talletetaan kaikkien tunnettujen kesaolympialaisten tiedot. Ohjelma sitten etsii tietoja kyseisesta taulukosta. */ using System ; class Olympialaiset { int olympiavuosi ; string olympiakaupunki ; string olympiamaa ; public Olympialaiset( int annettu_olympiavuosi, string annettu_olympiakaupunki, string annettu_olympiamaa ) { olympiavuosi = annettu_olympiavuosi ; olympiakaupunki = annettu_olympiakaupunki ; olympiamaa = annettu_olympiamaa ; } public int lue_vuosi() { return olympiavuosi ; } public void tulosta_olympialaisten_tiedot() { Console.Write( "\n Vuonna " + olympiavuosi + " olympiakisojen kaupunki oli " + olympiakaupunki + " (" + olympiamaa + ").\n" ) ; } } class OlympiatietojenEtsija { static void Main() { Olympialaiset[] kisataulukko = new Olympialaiset[ 40 ] ; kisataulukko[ 0 ] = new Olympialaiset( 1896, "Ateena", "Kreikka" ) ; kisataulukko[ 1 ] = new Olympialaiset( 1900, "Pariisi", "Ranska" ) ; kisataulukko[ 2 ] = new Olympialaiset( 1904, "St. Louis", "U.S.A." ); kisataulukko[ 3 ] = new Olympialaiset( 1906, "Ateena", "Kreikka" ) ; kisataulukko[ 4 ] = new Olympialaiset( 1908, "Lontoo", "Iso-Britannia"); kisataulukko[ 5 ] = new Olympialaiset( 1912, "Tukholma", "Ruotsi" ) ; kisataulukko[ 6 ] = new Olympialaiset( 1920, "Antwerpen","Belgia" ) ; kisataulukko[ 7 ] = new Olympialaiset( 1924, "Pariisi", "Ranska" ) ; kisataulukko[ 8 ] = new Olympialaiset( 1928, "Amsterdam","Alankomaat"); kisataulukko[ 9 ] = new Olympialaiset( 1932, "Los Angeles", "U.S.A."); kisataulukko[ 10 ] = new Olympialaiset( 1936, "Berliini","Saksa" ) ; kisataulukko[ 11 ] = new Olympialaiset( 1948, "Lontoo", "Iso-Britannia"); kisataulukko[ 12 ] = new Olympialaiset( 1952, "Helsinki","Suomi" ) ; kisataulukko[ 13 ] = new Olympialaiset( 1956, "Melbourne","Australia" ) ; kisataulukko[ 14 ] = new Olympialaiset( 1960, "Rooma", "Italia" ) ; kisataulukko[ 15 ] = new Olympialaiset( 1964, "Tokio", "Japani" ) ; kisataulukko[ 16 ] = new Olympialaiset( 1968, "Mexico City","Meksiko" ) ; kisataulukko[ 17 ] = new Olympialaiset( 1972, "Munchen", "Lansi-Saksa"); kisataulukko[ 18 ] = new Olympialaiset( 1976, "Montreal", "Kanada" ) ; kisataulukko[ 19 ] = new Olympialaiset( 1980, "Moskova","Neuvostoliitto"); kisataulukko[ 20 ] = new Olympialaiset( 1984, "Los Angeles","U.S.A."); kisataulukko[ 21 ] = new Olympialaiset( 1988, "Seoul", "Etela-Korea"); kisataulukko[ 22 ] = new Olympialaiset( 1992, "Barcelona","Espanja" ) ; kisataulukko[ 23 ] = new Olympialaiset( 1996, "Atlanta", "U.S.A." ); kisataulukko[ 24 ] = new Olympialaiset( 2000, "Sydney", "Australia" ) ; kisataulukko[ 25 ] = new Olympialaiset( 2004, "Ateena", "Kreikka" ) ; kisataulukko[ 26 ] = new Olympialaiset( 2008, "Peking", "Kiina" ) ; kisataulukko[ 27 ] = new Olympialaiset( 9999, "datan", "loppu" ) ; Console.Write("\n Tama ohjelma osaa kertoa missa olympiakisat" + "\n pidettiin jonain tiettyna vuonna. Anna vuosi " + "\n neljalla numerolla: " ) ; int annettu_vuosi = Convert.ToInt32( Console.ReadLine() ) ; int kisojen_indeksi = 0 ; bool haku_taulukosta_valmis = false ; while ( haku_taulukosta_valmis == false ) { if ( kisataulukko[ kisojen_indeksi ].lue_vuosi() == annettu_vuosi ) { kisataulukko[ kisojen_indeksi ].tulosta_olympialaisten_tiedot() ; haku_taulukosta_valmis = true ; } else if ( kisataulukko[ kisojen_indeksi ].lue_vuosi() == 9999 ) { Console.Write( "\n Kesaolympialaisia ei pidetty vuonna " + annettu_vuosi + ".\n" ) ; haku_taulukosta_valmis = true ; } else { kisojen_indeksi ++ ; } } } }