есть программа на pascal для поиска перевода слов в файлах. нужно переделать эту программу на c++. Код | uses crt; var ru,en: text; r: byte; procedure FindEn; var s,ss,se: string; n: integer; begin clrscr; reset(ru); reset(en); write('Введите слово на английском языке для перевода: '); readln(s); n:=0; while not (eof(en)) do begin readln(en,ss); readln(ru,se); if ss=s then begin inc(n); if n=1 then writeln (ss,':'); writeln(se); end; end; close(ru); close(en); if n=0 then writeln('Этого слова нет в словаре); readln; end; procedure FindRu; var s,ss,se: string; n: integer; begin clrscr; reset(ru); reset(en); write('Введите слово на русском языке для перевода: '); readln(s); n:=0; while not (eof(ru)) do begin readln(ru,ss); readln(en,se); if ss=s then begin inc(n); if n=1 then writeln (ss,':'); writeln(se); end; end; close(ru); close(en); if n=0 then writeln('Этого слова нет в словаре); readln; end; begin assign(ru,'D:\ru.txt'); assign(en,'D:\en.txt'); repeat writeln('0-завершение работы'); writeln('1-перевод с английского'); writeln('2-перевод с русского'); readln(r); case r of 1: FindEn; 2: FindRu; else r:=0; end; until r=0; end.
|
я попыталась переделать, можете проверить и испраить ошибки. Код | #include <graphics.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <locale> #include <string.h> struct string string FindEn (string s) { string ss,se; FILE *fen, *fru; int n; clrscr; fen=fopen("c:\си\en.txt","r"); fru=fopen("c:\си\ru.txt","r"); printf("Введите слово на английском языке для перевода: "); scanf("%s",&s); n=0; while (!eof(en)) { fscanf(fen,"%s",&ss); fscanf(fru,"%s",&se); if (ss=s) { inc(n); if (n=1) printf ("%s",ss,":"); printf("%s",se); } } fclose(fru); fclose(fen); if (n=0) printf("Этого слова нет в словаре"); } string FindRu (string s) { string ss,se; FILE *fen, *fru; int n; clrscr; fru=fopen("c:\си\ru.txt","r"); fen=fopen("c:\си\en.txt","r"); printf("Введите слово на английском языке для перевода: "); scanf("%s",&s); n=0; while (!eof(ru)) { fscanf(fru,"%s",&ss); fscanf(fen,"%s",&se); if (ss=s) { inc(n); if (n=1) printf ("%s",ss,":"); printf("%s",se); } } fclose(fru); fclose(fen); if (n=0) printf("Этого слова нет в словаре"); } string vivod (string en, string ru) { FILE *fen, *fru; clrscr; fru=fopen("c:\си\ru.txt","r"); fen=fopen("c:\си\en.txt","r"); fprintf(fen, fru); fclose(fru); fclose(fen); } int main () { setlocale(LC_CTYPE, "russian"); byte r; FALE *en, *ru; ru=fopen("c:\си\ru.txt","r"); en=fopen("c:\си\en.txt","r"); do{ printf("0-завершение работы"); printf("1-перевод с английского"); printf("2-перевод с русского"); printf("3-вывод словоря"); scanf(&r); switch (r) { case 1: FindEn; case 2: FindRu; case 3:vivod; break; } else r=0; end; while (r=0); } getch(); return 0; }
|
|