Indholdsfortegnelse:
- Trin 1: Anvendte begreber
- Trin 2: Hovedfunktion
- Trin 3: Sådan udelades specialtegn?
- Trin 4: Fjernelse af de samme tegn
- Trin 5: Oprettelse af cirkulær dobbeltlinket liste
- Trin 6: Kode for at spille flammerne
- Trin 7: Fortæl resultatet
- Trin 8: Kode for flammer
Video: FLAMES Brug af C ++: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Hej venner, vi kender alle til flammespil. Lol, det er et af de sjoveste spil, der gjorde vores barndom mere lykkelig. I denne instruktive vil vi se, hvordan man koder et flammeprogram ved hjælp af C ++ - sproget.
Trin 1: Anvendte begreber
Her brugte jeg den cirkulære dobbeltlinkede liste.
Trin 2: Hovedfunktion
int main ()
{
strengnavn1, navn2;
int n1, n2; cout << "ENTER FIRST NAME:"; getline (cin, navn1); cout << "ENTER ANDET NAVN:"; getline (cin, navn2);
}
Først skal vi få de to navne med mellemrum, så jeg bruger funktionen getline () til at få strengen med mellemrum.
Trin 3: Sådan udelades specialtegn?
void emit (string & a)
{
for (int i = 0; a ! = '\ 0'; i ++)
{
hvis (a > = 'a' && a <= 'z') {}
ellers hvis (a > = 'A' && a <= 'Z') {}
andet
a = '0';
}
}
Nu skal vi fjerne specialtegnene som &, $, '' '… osv. Ved at bruge denne funktion fjernede vi alle andre tegn end alfabeter. Her, i stedet for at fjerne, erstatter jeg det med '0'.
Trin 4: Fjernelse af de samme tegn
for (i = 0; navn1 ! = '\ 0'; i ++)
for (j = 0; navn2 [j]! = '\ 0'; j ++)
hvis ((navn1 == navn2 [j] || navn1 == navn2 [j] +32))
{
name1 = '0';
name2 [j] = '0';
pause;
}
Det er det første trin i flammer -spillet, at vi skal fjerne de samme tegn, der findes i de to navne. Dette kodestykke hjælper os med at erstatte de samme tegn med '0', og det fungerer også godt, selvom det indeholder både store og små bogstaver. Pausesætningen hjælper os med at undgå fjernelse af gentagne tegn.
j = 0; for (i = 0; navn1 ! = '\ 0'; i ++)
hvis (navn1 ! = '0')
j ++;
for (i = 0; navn2 ! = '\ 0'; i ++)
hvis (name2 ! = '0')
j ++;
hvis (j == 0) cout << "INGEN FLAMMER";
Her fjerner vi alle '0'er, der findes i begge navne. Derfor fjernes endelig alle de samme tegn. Derefter øges j til, at det er antallet af bogstaver, der er til stede i begge navne efter fjernelse af de samme tegn. Nu skal vi kontrollere, om det indeholder mindst et tegn eller ej. For at gøre koden effektiv skal vi fortælle, at der ikke er mulighed for at spille flammespil, hvis det ikke indeholder unikke tegn.
Trin 5: Oprettelse af cirkulær dobbeltlinket liste
string a = "flammer";
Opret først en global streng, der indeholder "flammer".
typedef struct node {
char data;
knude *næste, *forrige;
} node;
knude *top = NULL, *temp;
Opret nu en struktur, der indeholder tegndata, næste adressemarkør og tidligere adressemarkør.
Opret derefter en markør, der peger mod toppen af den linkede liste.
node* ins (tegn a) {
knude *ny1;
new1 = ny node;
new1-> data = a;
new1-> næste = NULL;
new1-> prev = NULL;
hvis (top == NULL)
{
top = ny1;
temp = top;
}
andet
{
temp-> næste = ny1;
new1-> prev = temp;
temp = ny1;
}
return top;
}
Indsæt derefter "flammer" -strengen i den dobbeltkædede liste ved hjælp af tegn.
ugyldig kontrol (int j) {
int count1, flag = 0;
for (int i = 0; a ! = '\ 0'; i ++)
top = ins (a );
}
Trin 6: Kode for at spille flammerne
ugyldig kontrol (int j)
{
int count1, flag = 0;
for (int i = 0; a ! = '\ 0'; i ++)
top = ins (a );
knude *cur = top, *prev1;
temp-> næste = top;
top-> prev = temp;
mens (1)
{
count1 = 1;
mens (count1 <j)
{
cur = cur-> næste;
count1 ++;
}
node *temp1 = cur;
prev1 = cur-> prev;
cur-> prev-> next = cur-> next;
cur-> next-> prev = cur-> prev;
temp1-> næste = NULL;
fri (temp1);
cur = prev1-> næste;
node *test = cur;
hvis (test-> data == test-> næste-> data)
pause;
}
}
vi skal køre den cirkulære liste, der er "flammer" -strengen i henhold til antallet af unikke tegn. Derefter skal vi fjerne tegnet i "flammer", der falder sammen med tællingen. Vi bør indse brugen af en dobbelt linket liste i dette kodestykke. Det hjælper meget med at fjerne en bestemt karakter. Det fjernes kontinuerligt. Indtil det når den betingelse, at de samme tegn kommer gentagne gange.
hvis (test-> data == test-> næste-> data) pause;
Trin 7: Fortæl resultatet
switch (cur-> data)
{
case 'f': cout << "VENNER &&";
pause;
case 'l': cout << "LOVE <3";
pause;
case 'a': cout << "AFFECTION $";
pause;
case 'm': cout << "Ægteskab:)";
pause;
case 'e': cout << "FJENDE:(";
pause;
case 's': cout << "SIBLING";
pause; }
Brug denne switch -sætning til at fortælle det endelige resultat, der er det sidste tegn, der er tilbage, efter at alle andre tegn er fjernet i henhold til tællingen.
Nu kan du nemt spille flammer ved blot at indtaste navnene, det er sjovt rigtigt. Spil dette spil ved hjælp af din vens navne og gør dem vrede LOL. Tak skal du have.
Trin 8: Kode for flammer
Den komplette kode til FLAMES er tilgængelig her, github.com/naveeen684/Flames-code-using-C-/tree/master