Program do slowek na niemiecki...

Program do slowek na niemiecki...
The Hound
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 9 lat
  • Postów:8
0

Witam. Jestem uczniem mam na jutro na uczyć się słowek na niemiecki, więc wpadłem na pomysł że napisze program do nauki tych słówek. Poniżej podam kod do którego wpisałem pare słowek aby wypróbować program. Prosiłbym o rade, czy może to tak zostać czy można zastosować jakiś lepszy sposób?? (slowek będzie ponad 30) Prosze o pomoc.

Kopiuj
 
#include <iostream>
#include <conio.h>

using namespace std;
class slowka
{
public:
string szalik,obuwie,bluzka;



void wczytaj()
{
	
	cout<<"1-szalik :";
	cin>>szalik;
	cout<<"2-obuwie :";
	cin>>obuwie;
    cout<<"3-bluzka :";
    cin>>bluzka;
    
}
void sprawdz()
{
	string a="dobrze";
	string b="zle";
	if(szalik=="halstuch")
	{cout<<"1- "<<a<<endl;} else {cout<<"1- "<<b<<endl;}
	if(obuwie=="schuhe")
	{cout<<"2- "<<a<<endl;} else {cout<<"2- "<<b<<endl;}
	if(bluzka=="bluse")
	{cout<<"3- "<<a<<endl;} else {cout<<"3- "<<b<<endl;}
}
};


int main()
{
slowka s1;
s1.wczytaj();
cout<<endl;
s1.sprawdz();
	getch();
	return 0;
}
Patryk27
Coś mi się wydaje, że po prostu za wszelką cenę unikasz nauki zamiast po prostu usiąść z kartką papieru i się nauczyć ;p
The Hound
Szczerze? koncze pisac program i wiekszosc slowek umiem : )
fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
2

i daj sobie slowek 1000 nadal bedziesz tak to robic?
Bedzie Ci sie chcialo?

uzyj kontenera std::map w tym przypadku

Kopiuj
 std::map <string, string>
The Hound
Właśnie dlatego pytam. Dzięki ; )
The Hound
Móglbyś mi podać przykład jednej linijki z map? nigdy z tym nie pracowałem ;/
fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
1

@The Hound odpowiada sie w postach nie w komentarzach

takie rzeczy sie googluje
http://en.cppreference.com/w/cpp/container/map/operator_at

edytowany 2x, ostatnio: fasadin
gośćabc
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Szczecin
  • Postów:500
1
fasadin napisał(a):

@The Hound odpowiada sie w postach nie w komentarzach

takie rzeczy sie googluje
http://www.cplusplus.com/reference/map/map/operator[]/

Kopiuj
std::map<std::string, std::string> slownik {
	{ "pies", "Der Hund" },
	{ "kot", "Die Katze" },
	{ "lalka", "Die Puppe" }
};

jest seksowniejsze

fasadin
zaraz bedzie "nie kompiluje mi sie" ;)
gośćabc
już mu odpowiedziałem żeby zaakceptował Twoją odpowiedź z powrotem; a to się okaże
fasadin
mi tam nie przeszkadza zaakceptowana odpowiedz ;)
gośćabc
also ja bym wolał żebyś linkował cppreference, jest bardziej aktualne, bez starych postów, którymi się newbsy sugerują
fasadin
zmienione ;) nie wiedzialem o tym ze jest bardziej aktualne, dzieki
The Hound
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 9 lat
  • Postów:8
0

Dzieki, nie wiedziałem nowy jestem na tym forum .

JE
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 9 lat
  • Postów:32
0

Sam uczyłem się w taki sposób.

Kopiuj
#include <string>
#include <iostream>
#include <vector>
#include <random>
#include <fstream>

using namespace std;

int main() {
  random_device re;
  mt19937 generator(re());
  uniform_int_distribution<int> dist(0, 10000);
  string eng, pl;
  vector<pair<string, string>> vec;
  fstream file("input", ios::in);
  while(file >> eng >> pl) {
    vec.push_back(make_pair(pl, eng));
  }  
  file.close();
  while(!vec.empty()) {
    int index = dist(generator) % vec.size();
    auto p = vec[index];
    cout << p.first << '\n';
    cin >> eng;
    if(eng == p.second) {
      cout << "OK\n";
      vec.erase(vec.begin() + index);
    }
    else cout << "NOT OK!\n";
  }
  return 0;
} 
gośćabc
z niemieckim będziesz musiał użyć 'std::getline(std::cin, odpowiedz);', bo nie zaakceptuje odpowiedzi dwuczłonowych
JE
No albo można użyć np. _

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.