Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ překlad slov- program.

Zdravím,
Jsem začínající "programátor" a dneska jsem dostal chuť udělat si menší program na překlad slov z čestiny do angličtiny. Jak tušíte jsem opravdu začátečník, zasekl jsem se a potřebuju nějaké to postrčení. Chci udělat překlad takový, že zadám několik slov (4-10...) v čestině zmáčknu enter a nyní zadám anglický překlad. K dispozici budou tři pokusy. Pokud je podmínka (překlad) napsán správně vypíše se ("správně !!"), pokud není ani jeden překlad napsán správně vypíše se ("špatně !!"). Na konci programu chci také vypsan kolik slov jsem přeložil správně a kolik špatně.
Proč píši sem ? Ano, existuje hodně návodů a knížek. Jednu mám i doma C++ za 21 dní, ale knížka je rozdělená na kapitoli tak, že mi neumožňuje tento problém vyřešit hned. Pole a knihovna <string> jsou až na konci knížky, což mi přijde na hlavu.
Nyní k samotnému kodu, který jsem napsal na konci.
Moje znalosti sahají jen do napsání pěti českých slov a následné vyhodnocení pole[0] podmínkou if. Samozřejmě, mohl bych vzít část kodu začínající od while cyklu po podmínku else if, přepsat slovo "dog" a místo proměnné a deklarovat jinou, ale vím, že by to byl jen dlouhý a špatně napsaný kod. Hádám, že budou potřeba přidat funkce možná ukazatele, ale tohle právě nevím přesně a přesně v tomto bych potřeboval pomoct. Co je potřeba na správné řešení a napsaní tohoto kodu ? Stačí napsat tohle pochybuju, že mi někdo pošle celý příklad, i když by to bylo nejlepší.

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string pole[5];
    string slova[5];
    int a=0;
    int b;

    cout<<"zadejte slova, ktera chcete prelozit"<<endl;

    for(b=0;b<5;b++){
        cin>>slova[5];
        }

    while(a<3){
        a++;
        cin>>pole[0];
    if(pole[0]=="dog"){
        a=+3;
        cout<<"spravne !!"<<endl;
        }
    else if(a==3){
        cout<<"spatne !!"<<endl;
        b=+1;
        }
       }

}
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Použijete triedu map<string, string>. Na začiatku si do tej mapy uložíte slová namapované na preklad…
moose 31.08.2017 22:46
moose
Konečně normální odpověd. U té třídy mi to hlásí chybu, ale nevadí. Aspoň vím, že musím použít tuto…
Dominatorcze 31.08.2017 23:07
Dominatorcze
Asi chýba include: #include <map> poslední
moose 01.09.2017 00:02
moose

Použijete triedu map<string, string>. Na začiatku si do tej mapy uložíte slová namapované na preklad a potom už len skontrolujete, či sa dané slovo mapuje na správny preklad.

Nechce sa mi to testovať, tak len zhruba príklad:

map<string, string> slovnik = {
    { "pes", "dog" },
    { "macka", "cat" }
};

if (slovnik[slovo] == preklad)
    cout << "spravne!!" << endl;

Zpět do poradny Odpovědět na původní otázku Nahoru