C# programos feladat, hogy kell befejezni?
Sziasztok! Íme a feladat:
1. Kérje be a felhasználótól a nevét
2. Ellenőrizze, hogy a név csak két szóból áll-e. (pl.: Teszt Elek).
3. Írja ki a képernyőre az ellenőrzés eredményét: Helyes adat, vagy: Hibás adat.
+1: Hibás adat esetén kérje be ismét a nevet addig, amíg a felhasználó végül nem ad meg helyes adatot.
4. Írja ki a képernyőre a nevet "ritkított formában", azaz minden betű után egy szóköz jöjjön. Pl.: Kiss Ede -> K i s s E d e
5. Írja ki a nevet fordítva, a vezetéknevet csupa nagy betűvel. pl.: Kiss Ede -> Ede KISS
A 4. és az 5. lépésnél elakadtam, az eddigi programom:
namespace String_név
{
class Program
{
static void Main(string[] args)
{
/*1.Kérje be a felhasználótól a nevét
2.Ellenőrizze, hogy a név csak két szóból áll - e. (pl.: Teszt Elek).
3.Írja ki a képernyőre az ellenőrzés eredményét: Helyes adat, vagy: Hibás adat.
+1: Hibás adat esetén kérje be ismét a nevet addig, amíg a felhasználó végül nem ad meg helyes adatot.
4.Írja ki a képernyőre a nevet "ritkított formában", azaz minden betű után egy szóköz jöjjön.Pl.: Kiss Ede -> K i s s E d e
5.Írja ki a nevet fordítva, a vezetéknevet csupa nagy betűvel. pl.: Kiss Ede -> Ede KISS
*/
int szdb = 0;
while (szdb != 1)
{
Console.WriteLine("Üdvözlöm, szép napot! Adja meg a teljes nevét, hogy kísérletezhessünk vele! :D");
string név = Console.ReadLine();
foreach (char szóköz in név)
{
if (szóköz == ' ')
{
szdb++;
}
} //foreach
if (szdb != 1)
{
Console.WriteLine("Hibás adat.");
}
else
{
Console.WriteLine("Helyes adat.");
}
} // while
Console.ReadKey();
}
}
}
Szóval szóközöket kell betenni minden betű után, utána pedig fordítva, és beállítani, hogy csupa nagybetű legyen.
Szerintem a kettesnél Split-et kéne használni, ugyanis egyrészt a te megoldásod hibás például " KissElek"-re, másrészt később is jóval egyszerűbb lesz dolgozni.
Szóköz beszúrásra elég sok lehetőség van, Insert, vagy csinálsz egy új tömböt és egy betű az eredetiből, egy szóköz, egy betű az eredetiből, egy szóköz.
Nagybetűsre alakításhoz pedig ToUpper függvény.
+1 jótanács: legyenek a változóid jobban elvenezve.
szdb: Mi ez? Darabja az 'sz'-nek? Mi az az 'sz'? spaceCount például elég egyértelmű.
"foreach (char szóköz in név)
{
if (szóköz == ' ')"
Még rosszabb. Ez nem hogy nem egyértelmű, de kijefezetten megtévesztő. Abban a változóban nem szóközök vannak, hanem a név betűi. Pont azt vizsgálod, hogy szóköz-e...
Ilyen rövid iterációnál meg pont elfogadható a rövid név, pl 'ch'.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!