Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переделать программу из Pascal в С++ 
:(
    Опции темы
TinaShir
Дата 21.4.2013, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 14.11.2012

Репутация: нет
Всего: нет



есть программа на 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;
}
 


PM MAIL   Вверх
bsa
Дата 21.4.2013, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Во-первых, избегай использования русских путей к файлам. С большой вероятностью система не сможет найти файлы.
Во-вторых, обратный слэш выполняет функцию экранирования, поэтому его надо указывать парой "\\": "с:\\file.txt"
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0642 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.