Ellenőriztük az elmélet tesztek eredményét. További, gyakorlati feladatmegoldással párhuzamos házi feladat tanulni a két elméleti témakört.
Továbbhaladtunk a városos feladatsorral.
Házi feladat megoldani végig minden feladatot.
Eddig jutottunk:
using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace varosokOOP
{
class Varosok
{
public string nev;
public int lakszam;
public int bptav;
public string mszek;
public Varosok(string sor)
{
List<string> atmen = sor.Split(' ').ToList();
nev = atmen[0];
lakszam = Convert.ToInt32(atmen[1]);
bptav = Convert.ToInt32(atmen[2]);
if (atmen.Count == 4)
{
mszek = "nem";
}
else
{
mszek = "igen";
}
}
public string kiir()
{
string kiiras = $"Város neve: {nev}, Lakosok száma: {lakszam}, Távolsága Budapesttől: {bptav}, Megyeszékhely: {mszek}";
return kiiras;
}
}
class Program
{
static string messzebbVaros(List<Varosok> a)
{
int messze = a[0].bptav;
int index = 0;
for (int i = 0; i < a.Count; i++)
{
if (messze < a[i].bptav)
{
messze = a[i].bptav;
index = i;
}
}
return a[index].nev;
}
static string kevesebbLakos(List<Varosok> a)
{
int lakos = a[0].lakszam;
int index = 0;
for (int i = 0; i < a.Count; i++)
{
if (lakos > a[i].lakszam)
{
lakos = a[i].lakszam;
index = i;
}
}
return a[index].nev;
}
static void Main(string[] args)
{
//A program neve legyen: varosok.
//A tanult objektum-orientált programszerkezetet használd a megoldásnál.
//Minden képernyőre író feladat előtt írjuk ki a főprogramban a feladat sorszámát.
//A fájl most 5 sort tartalmaz, de a programod készüljön fel arra,
//hogy hosszabb, és más tartalmú fájlt is fel tudjon dolgozni.
//A programban városok adatait tároljuk.
//Az adatok soronként: a város neve, lakosainak száma, Budapesttől mért távolsága,
//illetve amelyik város nem megyeszékhely, ott még ez is szerepel: NO.
//Ez legyen a varosok.txt tartalma:
/*
Békéscsaba 59000 210
Szolnok 72000 119
Kecskemét 112000 93
Nyíregyháza 118000 230 NO
Miskolc 164000 182
*/
//1.feladat:
Console.WriteLine("1. feladat");
//Olvasd be a fájlt, és tárold a tartalmát egy osztálypéldányokat tartalmazó listában.
List<Varosok> adatok = new List<Varosok>();
foreach (var z in File.ReadAllLines("varosok.txt"))
{
adatok.Add(new Varosok(z));
}
//2.feladat:
Console.WriteLine("\n2. feladat");
//Írd ki az adatokat a képernyőre, egy sorba egy város adatait.
for (int i = 0; i < adatok.Count; i++)
{
Console.WriteLine(adatok[i].kiir());
}
//3.feladat:
Console.WriteLine("\n3. feladat");
//Írd ki a képernyőre annak a városnak a nevét, és a népességét, amely nem megyeszékhely.
//(Ha több ilyen lenne, mindet ki kéne írni.) Ha nincs ilyen, írj ki hibaüzenetet.
bool van = false;
for (int i = 0; i < adatok.Count; i++)
{
if (adatok[i].mszek == "Nem")
{
van = true;
Console.WriteLine($"{adatok[i].nev}, Népesség: {adatok[i].lakszam}");
}
}
if (!van)
{
Console.WriteLine("Az összes város megyeszékhely!");
}
//4.feladat:
Console.WriteLine("\n4. feladat");
//Írd ki a Budapesttől legtávolabbi város nevét a képernyőre.
//A feladatot lehetőleg függvénnyel valósítsd meg. Ha nem függvénnyel valósítod meg, kaphatsz részpontokat.
Console.WriteLine($"A legmesszibb város: {messzebbVaros(adatok)}");
//5.feladat:
Console.WriteLine("\n5. feladat");
//Írd ki a legkevesebb lakosú város nevét a képernyőre.
//A feladatot lehetőleg függvénnyel valósítsd meg. Ha nem függvénnyel valósítod meg, kaphatsz részpontokat.
Console.WriteLine($"A legkisebb lakosú város: {kevesebbLakos(adatok)}");
//6.feladat:
Console.WriteLine("\n6. feladat");
//Kérd meg a felhasználót a főprogramban, hogy adjon meg egy lakosságszámot.
//Írd ki a felhasználó által beírt érték fölötti lakosságszámnál nagyobb lakosságú városok neveit, soronként egyet.
//Ha nincs ilyen, írj ki hibaüzenetet.
//7.feladat:
Console.WriteLine("\n7. feladat");
//Döntsd el, hogy van-e 180 km-nél távolabbi város. Ha találsz ilyet,
//írd ki az elsőnek a nevét és a hozzá tartozó km-t.
//Ha nincs ilyen, írj ki hibaüzenetet.
//8. feladat:
Console.WriteLine("\n8. feladat");
//Írd ki egy új fájlba a városok neveit nagybetűsen,
//mögéjük vesszővel elválasztva azt a szót,
//hogy megyeszékhely/nem megyeszékhely
//(a valóságnak megfelelően).
}
}
}
Nincsenek megjegyzések:
Megjegyzés küldése