Továbbhaladtunk.
Házi feladat: ahhoz képest, ahol tartasz, még 2 feladatot meg kell oldani.
NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2022-23/12B2 csoport 'programozás' órai anyagai
Továbbhaladtunk.
Házi feladat: ahhoz képest, ahol tartasz, még 2 feladatot meg kell oldani.
Ma néhányan Kecskeméten vannak velem együtt, az otthon maradók tartják a frontot. A mai két órán a blog segítségével próbáljátok ügyesen megoldani a következő feladatot. Mindent tudtok hozzá, segítsetek egymásnak, ha kell. Az egyes feladatok megoldásához használjatok metódusokat. Aki szeretné, a fájl beolvasását és a kiírást is szervezheti metódusba. Találjátok ki együtt, hogy a fájlban mi legyen az elválasztó karakter.
Majd mesélünk, ha hazajöttünk!
Feladat: Hegyek
Egy szöveges fájlba írd ki 5 hegy nevét és magasságát (ezt mellékeltem lent).
- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.
- Írd ki a legmagasabb hegy nevét.
- Írd ki a képernyőre a legrövidebb nevű hegy nevét és magasságát.
- Írd ki a képernyőre a következőt: mekkora lenne az a hegy, amibe "beleépítjük" egymás tetejére az összes hegyet?
- Egy földrengés szétrombolta a legalacsonyabb hegyet, és 10%-kal csökkent a magassága. Mekkora lett?
- Tároljuk egy új tömbben, majd írjuk ki a képernyőre és egy új fájlba a hegyek magasságát lábban. Láb: angol mértékegység, nézz utána, hogyan kell átváltani.
//TXT fájl tartalma:
//Elbrusz-5624
//Vinson Massif-4897
//Denali-6194
//Aconcagua-6959
//Kilimandzsáró-5895
//Mount Everest-8846
//Mount Kosciuszko-2229
Mintaprogram:
Feladat: Vezeték és keresztneveket tartalmazó fájlt olvassunk be és írjunk ki. A neveket két tömbben tároljuk.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace fajlKezelesBonyolultabb
{
class Program
{
static string[] nevek = new string[8];
static int[] korok = new int[8];
static void kiir()
{
for (int i = 0; i <
nevek.Length; i++)
{
Console.WriteLine("{0}, {1}",nevek[i], korok[i]);
}
}
static void Main(string[] args)
{
StreamReader sr = new StreamReader("diakok.txt");
string[] atmeneti;
int i = 0;
while (!sr.EndOfStream)
{
atmeneti
= sr.ReadLine().Split(',');
nevek[i]
= atmeneti[0];
korok[i]
= Convert.ToInt32(atmeneti[1]);
i++;
}
sr.Close();
kiir();
StreamWriter nagybetus = new StreamWriter("nagy.txt");
for (int j = 0; j <
korok.Length; j++)
{
nagybetus.WriteLine(nevek[j].ToUpper());
}
nagybetus.Close();
Console.ReadLine();
}
}
}
Teszt fájl:
Öröm Melitta,15
Avon Mór,16
Ordy Bálint,17
Szikla Szilárd,15
Bekre Pál,17
Heu Réka,17
Mérta Nóra,18
Emanci Pál,16
Írtunk önállóan egy fájlkezelést, ami egy 100 elemű tömböt kezel. Kiírtuk fájlba 100-szor a 100 elemű tömböt.
Házi feladat otthon működtetni a programot.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; //ezt pótolni kell!
namespace fajlkezeles
{
class Program
{
static int[] szamTomb = new int[10];
static void kiiras()
{
for (int i = 0; i <
szamTomb.Length; i++)
{
Console.WriteLine(szamTomb[i]);
}
}
static void Main(string[] args)
{
StreamReader sr = new StreamReader("szamok.txt"); //olvasásra megnyitjuk a
fájlt
int i = 0;
while (!sr.EndOfStream) //addig megyünk, míg vége
nincs a fájlnak
{
szamTomb[i]= Convert.ToInt32(sr.ReadLine()); //egyszerre egy sort
beolvasunk, konvertálunk és beteszünk a tömbbe
i++;
}
sr.Close(); //lezárjuk a fájlt: KÖTELEZŐ ELEM!
kiiras();
StreamWriter sw = new StreamWriter("dupla.txt"); //írásra megnyitunk egy
fájlt; ha eddig nem létezett, létre is hozza
for (int j = 0; j <
szamTomb.Length; j++)
{
sw.WriteLine(szamTomb[j]*2); //írunk a fájlba soronként
}
sw.Close(); //lezárjuk a fájlt: KÖTELEZŐ ELEM!
Console.ReadLine();
}
}
}
namespace struktura
{
class Program
{
public struct auto
{
public string gyarto;
public double motor; //köbcenti
public int ulesek; //ülések száma
public bool akcio; //akciós-e
}
static auto[]
autok = new auto[3];
static void bekeres()
{
for (int i
= 0; i < autok.Length; i++)
{
Console.Write("Kérem az {0}. autó
gyártóját: ",i+1);
autok[i].gyarto
= Console.ReadLine();
Console.Write("Kérem az {0}. autó motor térfogatát:
",i+1);
autok[i].motor
= Convert.ToDouble(Console.ReadLine());
Console.Write("Kérem az {0}. autó üléseinek
számát: ",i+1);
autok[i].ulesek
= Convert.ToInt32(Console.ReadLine());
Console.Write("Adja meg, hogy a(z) {0}.
autó akciós-e (true/false)?: ",i+1);
autok[i].akcio
= Convert.ToBoolean(Console.ReadLine());
}
}
static void kiiras()
{
for (int i
= 0; i < autok.Length; i++)
{
Console.WriteLine("{0} autó", i+1);
Console.WriteLine(autok[i].gyarto);
Console.WriteLine(autok[i].motor);
Console.WriteLine(autok[i].ulesek);
Console.WriteLine(autok[i].akcio);
Console.WriteLine();
}
}
static void Main(string[] args)
{
bekeres();
kiiras();
Console.ReadLine();
}
}
}