
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;
}
}
}
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:
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 třídu.
Asi chýba include: