Dobrý den
Programuji stejný slovník jako Dutch77 v jazyce c++ . S c++ jsem začal programovat teprve před třemi dny tak se omlouvám předem za příšerný kód. Na slova jsem použil 2-dimenzionálního pole.
Problém je ve volbě "1 - hledat slovo". Uživatel nemusí specifikovat, zda je hledaný výraz česky či anglicky. Pokud slovník nenalezne slovo, které budeme hledat vypíše se hláška "Slovo nebylo ve slovniku nalezeno."a program vyzve zadat volbu. Pokud nalezne vypíše slovo anglicky a česky a pak má program vyzvat zadat volbu, ale můj program vypíše i při správném nalezení s anglickým a českým slovem hlášku "Slovo nebylo ve slovniku nalezeno.". Nevím jak mám správně použít podmínky, aby se hláška nevypsala při nalezení slova.
můj program:
Zadejte volbu: 1
Zadejte slovo: osel
Slovo nebylo ve slovniku nalezeno.
.
.
Zadejte volbu: 1
Zadejte slovo: car
Anglicky: car
Cesky: auto
Slovo nebylo ve slovniku nalezeno.
.
.
Zadejte volbu:
správný program:
Zadejte volbu: 1
Zadejte slovo: osel
Slovo nebylo ve slovniku nalezeno.
.
.
Zadejte volbu: 1
Zadejte slovo: car
Anglicky: car
Cesky: auto
.
.
Zadejte volbu:
Díky moc za jakoukoli radu.
#include <iostream>
using namespace std;
int main ()
{
zacatek:;
cout << "*** Program anglickocesky slovnik ***\n" << endl;
cout << "1 - hledat slovo" << endl;
cout << "2 - vypsat slova" << endl;
cout << "3 - pridat slovo do slovniku" << endl;
cout << "4 - odebrat slovo ze slovniku" << endl;
cout << "5 - Konec programu\n" << endl;
int volbacisla;
cout << "Zadejte volbu: ";
cin >> volbacisla;
int max = 100;
string slovo[max][2];
int pslov;
pslov = 10;
string hledaneslovo ;
slovo[0][0]= "car";
slovo[0][1]= "auto";
slovo[1][0]= "apple";
slovo[1][1]= "jablko";
slovo[2][0]= "brother";
slovo[2][1]= "bratr";
slovo[3][0]= "flat";
slovo[3][1]= "byt";
slovo[4][0]= "key";
slovo[4][1]= "klic";
slovo[5][0]= "spring";
slovo[5][1]= "jaro";
slovo[6][0]= "summer";
slovo[6][1]= "leto";
slovo[7][0]= "autumn";
slovo[7][1]= "podzim";
slovo[8][0]= "winter";
slovo[8][1]= "zima";
slovo[9][0]= "music";
slovo[9][1]= "hudba";
switch (volbacisla) {
case 1:
cout << "Zadejte slovo: ";
cin >> hledaneslovo;
for(int j = 0; j < pslov; j++) {
if ((hledaneslovo == slovo[j][0]) || (hledaneslovo == slovo[j][1])) {
cout << "Anglicky: " << slovo [j][0] << endl << "Cesky: " << slovo [j][1] << endl;
}
}
{
/*else*/ cout << "Slovo nebylo ve slovniku nalezeno." << endl << endl;
}
break;
case 2:
cout << endl << "Slova:" << endl ;
for(int i = 0; i < pslov; i++)
cout << slovo[i][0] << "\t\t\t" << slovo[i][1] << endl;
cout << endl;
break;
/*case 3:
break;
case 4:
break;*/
case 5:
return 0;
break;
default:
cout << "Zadali jste neplatne zadani." << endl;
cout << endl;
}
goto zacatek;
return 0;
}