Tartalomjegyzék:

LÁNGOK A C ++ használatával: 8 lépés
LÁNGOK A C ++ használatával: 8 lépés

Videó: LÁNGOK A C ++ használatával: 8 lépés

Videó: LÁNGOK A C ++ használatával: 8 lépés
Videó: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Július
Anonim
LÁNGOK A C ++ használatával
LÁNGOK A C ++ használatával
LÁNGOK A C ++ használatával
LÁNGOK A C ++ használatával

Helló barátok, Mindannyian ismerjük a lángok játékot. Lol, ez az egyik legviccesebb játék, amely boldogabbá tette gyermekkorunkat. Ebben az utasításban látni fogjuk, hogyan kell kódolni a flames programot a C ++ nyelv használatával.

1. lépés: Használt fogalmak

Használt fogalmak
Használt fogalmak

Itt a Körlevél kétszer linkelt listáját használtam.

2. lépés: Fő funkció

int main ()

{

karakterlánc neve1, név2;

int n1, n2; cout << "ELSŐ NEV ÍRÁSA:"; getline (cin, név1); cout << "Második név megadása:"; getline (cin, név2);

}

Először is meg kell kapnunk a két nevet szóközzel, így a getline () függvényt használom a karakterlánc szóközzel való megkapásához.

3. lépés: Hogyan hagyja ki a különleges karaktereket?

void emit (karakterlánc és a)

{

for (int i = 0; a ! = '\ 0'; i ++)

{

ha (a > = 'a' && a <= 'z') {}

egyébként ha (a > = 'A' && a <= 'Z') {}

más

a = '0';

}

}

Most el kell távolítanunk a speciális karaktereket, mint a &, $, '' … stb. Ezzel a funkcióval az ábécén kívül minden karaktert eltávolítottunk. Itt ahelyett, hogy eltávolítanám, „0” -ra cserélem.

4. lépés: Ugyanazok a karakterek eltávolítása

for (i = 0; name1 ! = '\ 0'; i ++)

(j = 0; név2 [j]! = '\ 0'; j ++)

ha ((név1 == név2 [j] || név1 == név2 [j] +32))

{

név1 = '0';

név2 [j] = '0';

szünet;

}

Ez a lángjáték első lépése, hogy el kell távolítanunk a két névben szereplő karaktereket. Ez a kódrészlet segít abban, hogy ugyanazokat a karaktereket 0 -ra cseréljük, és jól működik, még akkor is, ha a nagy- és kisbetűket is tartalmazza. A break utasítás segít elkerülni az ismétlődő karakterek eltávolítását.

j = 0; for (i = 0; name1 ! = '\ 0'; i ++)

ha (név1 ! = '0')

j ++;

(i = 0; név2 ! = '\ 0'; i ++)

ha (név2 ! = '0')

j ++;

if (j == 0) cout << "NO FLAMES";

Itt eltávolítjuk az összes 0 -t, amely mindkét névben megtalálható. Ezért végül a karaktereket eltávolítjuk. Ezután a j értéket növeljük, hogy a betűk száma, amelyek mindkét névben megtalálhatók ugyanazok a karakterek eltávolítása után. Most ellenőriznünk kell, hogy tartalmaz -e legalább egy karaktert. A kód hatékonyabbá tételéhez meg kell mondanunk, hogy nincs lehetőség a lángok játékra, ha nem tartalmaz egyedi karaktereket.

5. lépés: Körkörös, duplán linkelt lista létrehozása

karakterlánc a = "lángok";

Először hozzon létre egy globális karakterláncot, amely "lángokat" tartalmaz.

typedef szerkezet csomópont {

char adatok;

csomópont *következő, *előző;

}csomópont;

node *top = NULL, *temp;

Most hozzon létre egy struktúrát, amely karakter adatokat, következő címmutatót és előző címmutatót tartalmaz.

Ezután hozzon létre egy mutatót, amely a linkelt lista teteje felé mutat.

csomópont* ins (karakter a) {

csomópont *új1;

new1 = új csomópont;

új1-> adatok = a;

új1-> következő = NULL;

új1-> előző = NULL;

ha (felül == NULL)

{

felső = új1;

temp = felső;

}

más

{

temp-> next = new1;

új1-> előző = hőmérséklet;

hőmérséklet = új1;

}

visszatérő felső;

}

Ezután illessze be a "lángok" karakterláncot a kétszer linkelt listába karakter szerint.

érvénytelen csekk (int j) {

int count1, zászló = 0;

for (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

}

6. lépés: Kód a Flames játékához

A Flames játék kódja
A Flames játék kódja

érvénytelen csekk (int j)

{

int count1, zászló = 0;

for (int i = 0; a ! = '\ 0'; i ++)

top = ins (a );

csomópont *cur = felül, *prev1;

temp-> next = top;

top-> prev = temp;

míg (1)

{

szám1 = 1;

míg (szám1 <j)

{

cur = cur-> next;

count1 ++;

}

csomópont *temp1 = cur;

prev1 = cur-> előző;

cur-> előző-> következő = cur-> következő;

cur-> next-> prev = cur-> prev;

temp1-> next = NULL;

ingyenes (temp1);

cur = prev1-> next;

csomópont *teszt = cur;

ha (teszt-> adatok == teszt-> következő-> adatok)

szünet;

}

}

futtatnunk kell a körlistát, amely az egyedi karakterek száma szerint a "lángok" karakterlánc. Ezután el kell távolítanunk a karaktert a "lángokból", amelyek egybeesnek a számlálással. Meg kell értenünk, hogy ebben a kódrészletben kétszer linkelt lista használható. Sokat segít eltávolítani egy adott karaktert. Folyamatosan eltávolítja. Amíg el nem éri azt a feltételt, hogy ugyanazok a karakterek ismétlődjenek.

if (teszt-> adatok == teszt-> következő-> adatok) szünet;

7. lépés: Mondja el az eredményt

kapcsoló (cur-> data)

{

'f' eset: cout << "FRIENDS &&";

szünet;

'l' eset: cout << "SZERETET <3";

szünet;

'a' eset: cout << "AFFECTION $";

szünet;

„m” eset: cout << "HÁZASSÁG:)";

szünet;

„e” eset: cout << "ENEMY:(";

szünet;

case 's': cout << "SIBLING";

szünet; }

Ezzel a kapcsoló utasítással megmondhatja a végeredményt, amely az utolsó karakter marad, miután az összes többi karaktert eltávolította a szám szerint.

Most már könnyedén játszhat lángokkal, ha csak beírja a neveket. Játszd ezt a játékot a barátod nevével, és dühítsd fel őket LOL. Köszönöm.

8. lépés: A lángok kódja

A FLAMES teljes kódja itt érhető el, github.com/naveeen684/Flames-code-using-C-/tree/master