K
Kaneki
здраствуйте...помогите пжлст...кто знает как можно этот код переделать из С++ на С так что бы он работал или хотя бы какой то есть аналог include <map> , include <locale>или как их можно выразить ?
C++:
#include <locale>
#include <cstdlib>
#include <Windows.h>
#include <iostream>
#include <map>
#include <string>
#include <fstream>
using namespace std;
int main()
{
setlocale (LC_CTYPE, "rus");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
ifstream in("words.txt");
string s1, s2;
map <string, string> words;
while(in >> s1 >> s2)
{
words[s1] = s2;
words[s2] = s1;
}
in.close();
while(true)
{
cout << "Enter the word in Eng or Rus for translation "
"(1 - add word for dictionary or 2 - exit):\n ";
cin >> s1;
if(s1 == "2") break;
if(s1 == "1")
{
string wrd, trn;
FILE *file;
if ((file = fopen("words.txt","a")) == NULL)
{
printf("File not found...\n");
continue;
}
else
{
cout << "Enter the word in English: ";
cin >> wrd;
cout << "Enter translation: ";
cin >> trn;
fprintf(file, "%s%c%s%c", wrd.c_str(), ' ', trn.c_str(), '\n');
words[wrd] = trn;
words[trn] = wrd;
}
cout << "The word and translation are written in the dictionary..." << endl;
fclose(file);
}
else
{
if(words.find(s1) != words.end())
cout << "Word translation: " << words[s1] << endl;
else
cout << "The dictionary did not find it..." << endl;
}
}
system("pause");
return 0;
}