Aew galera beleza, seguinte estou com um trabalho de faculdade e queria ajuda de vocês, tipo na verdade eu sei mais Flash e PHP e em C++ so sei o basico de progamação e não sei nada de arquivos TXT queria saber de vocês ate uma ajuda quanto a este trabalho de faculdade que me foi passado:
"Você deverá construir um tradutor que deverá fazer uso também dos TADs implementado para traduzir um texto. Para isso, o sistema deverá receber um arquivo texto e traduzir palavra a palavra o texto de português para inglês ou de inglês para português. A mesma saída deverá ser impressa na tela e em um arquivo de saída. Quando a palavra lida não existir no dicionário o tradutor deverá manter a palavra original.
Você pode assumir que as palavras no arquivo de entrada e no dicionário não estarão acentuadas.
Por exemplo, suponha o dicionário:
aniversario - birthday
bolo – cake
de – of
e – is
eu – I
festa – party
gosto – like
hoje – today
meu - my
presente – gift
Neste caso, se o usuário entrar um arquivo contendo:
Hoje e meu aniversario. Eu adoro bolo.
O sistema vai gerar a saída:
Today is my birthday. I adoro cake.
O usuário pode então interagir com o sistema para entrar uma nova palavra e acrescentar
adoro – love no dicionário. Fazendo a tradução do mesmo arquivo, então se obteria:
Today is my birthday. I love cake.
Formato Exemplo:
<palavra português 1> <palavra inglês 1>
<palavra português 2> <palavra inglês 2>
<palavra português 3> <palavra inglês 3>
...
<palavra português n> <palavra inglês n>
Observe que o arquivo contendo o dicionário deve ser carregado automaticamente a partir de um dicionário no mesmo diretório do programa principal de nome dicionario.txt. O dicionário deverá conter apenas palavras simples, sem acento e sem hífen. Palavras compostas ou expressões não precisam ser consideradas.
Para o desenvolvimento do trabalho, deverão ser implementadas 3 (três) TAD (Tipos Abstratos de Dados):
• Palavra: este TAD deve representar uma palavra em uma língua específica (inglês ou português). Uma palavra é definida como um conjunto de até M caracteres do alfabeto (a-z, A-Z).
• Verbete: este TAD representa um par de palavras, uma em português e a sua tradução em inglês.
• Dicionário: este TAD contém um conjunto de verbetes.
Algumas das funções que você deverá implementar no TAD Verbete são:
• void inicializaVerbete(Verbete *v, Palavra p1, Palavra p2) Inicializa o Verbete v com as palavras p1 e p2, garantindo que elas estejam em línguas
diferentes, uma em PORTUGUES, outra em INGLES.
• Palavra obtemTraducao(Verbete v, Palavra p)
Dada a palavra p contida no verbete v, retorne a sua tradução.
• Palavra retornaPort(Verbete v)
Dado um verbete v, retorna a tradução em português.
• Palavra retornaIng(Verbete v)
Dado um verbete v, retorna a tradução em inglês.
Algumas das funções que você deverá implementar no TAD Dicionário são:
• void InicializaDicionario(Dicionario *dic)
Inicializa o dicionário dic como vazio.
• int CarregaDic(char *NomeArq, Dicionario *dic);
Dado um string contendo o nome de um arquivo, abre o arquivo e carrega o dicionário em dic. Retorna 1, caso tenha conseguido carregar corretamente o dicionário e 0 se não conseguir.
• int InsereDic(Dicionario *dic, Verbete v);
Dado um dicionário dic e um Verbete v, acrescenta-a no dicionário. Retorna 1, caso tenha conseguido acrescentá-la (caiba no dicionário) e 0 se não conseguir.
• void RetiraDic(Dicionario *dic, Palavra *p);
Dado um dicionário dic e uma palavra p, retira o VERBETE que contenha p do dicionario dic. Retorna 1, caso tenha conseguido retirá-la e 0 se não conseguir (e.x. não a encontrar).
• int retornaTraducaoPort(Palavra p, Palavra *p2);
Dada uma palavra em inglês p, retorna 1, caso tenha conseguido traduzi-la para português, inserindo em p2 a sua tradução. Retorna 0 se não conseguir (e.x. não a encontrar).
• int retornaTraducaoIng(Palavra p, Palavra *p2);
Dada uma palavra em português p, retorna 1, caso tenha conseguido traduzi-la para inglês inserindo em p2 a sua tradução. Retorna 0 se não conseguir (e.x. não a encontrar)."
----------------------------
Agora o que eu já fiz com ajuda de um colega e de pessoas um codigo que traduz as palavras por String, mais eu precisava mesmo como pede no trabalho é para fazer por manipulação de arquivos .TXT sendo que o TXT seria o banco de dados:
Problema é que traduz a frase por palavras mais sem manipulação de arquivos pelo que um colega meu ajudou, ai terei que refazer o codigo para manipular arquivos .TXT tambêm e esta é minha duvida.
Mais tipo eu teria que entender adicionar arquivos .TXT em C, a ideia minha seria trabalhar então com um banco de dados adicionados a um arquivo .TXT onde la abrindo o .TXT sem precisar ir ao progama (no progama no caso você so conferia so escolhia um idioma e digitava a palavra e la viria o significado) você teria as palavras em ingles e portugues alem de poder adicionar varias outras palavras, seria algo assim no .TXT:
"No caso as palavras ingês e portugues seriam traduzidas pela sequencia, tipo a 1a palavra em ingles seria traduzida na 1a em portugues."
Eu achei um codigo para escrever no TXT:
Mais eu queria no caso implementar o codigo já feito mais acima por string e como não sei muito de manipulação de arquivos .TXT queria ajuda de vocês, bom se alguém puder me ajudar a refazer o codigo para chamar um .TXT por manipulação de arquivos.
Pergunta
babylon
Aew galera beleza, seguinte estou com um trabalho de faculdade e queria ajuda de vocês, tipo na verdade eu sei mais Flash e PHP e em C++ so sei o basico de progamação e não sei nada de arquivos TXT queria saber de vocês ate uma ajuda quanto a este trabalho de faculdade que me foi passado:
"Você deverá construir um tradutor que deverá fazer uso também dos TADs implementado para traduzir um texto. Para isso, o sistema deverá receber um arquivo texto e traduzir palavra a palavra o texto de português para inglês ou de inglês para português. A mesma saída deverá ser impressa na tela e em um arquivo de saída. Quando a palavra lida não existir no dicionário o tradutor deverá manter a palavra original.
Você pode assumir que as palavras no arquivo de entrada e no dicionário não estarão acentuadas.
Por exemplo, suponha o dicionário:
aniversario - birthday
bolo – cake
de – of
e – is
eu – I
festa – party
gosto – like
hoje – today
meu - my
presente – gift
Neste caso, se o usuário entrar um arquivo contendo:
Hoje e meu aniversario. Eu adoro bolo.
O sistema vai gerar a saída:
Today is my birthday. I adoro cake.
O usuário pode então interagir com o sistema para entrar uma nova palavra e acrescentar
adoro – love no dicionário. Fazendo a tradução do mesmo arquivo, então se obteria:
Today is my birthday. I love cake.
Formato Exemplo:
<palavra português 1> <palavra inglês 1>
<palavra português 2> <palavra inglês 2>
<palavra português 3> <palavra inglês 3>
...
<palavra português n> <palavra inglês n>
Observe que o arquivo contendo o dicionário deve ser carregado automaticamente a partir de um dicionário no mesmo diretório do programa principal de nome dicionario.txt. O dicionário deverá conter apenas palavras simples, sem acento e sem hífen. Palavras compostas ou expressões não precisam ser consideradas.
Para o desenvolvimento do trabalho, deverão ser implementadas 3 (três) TAD (Tipos Abstratos de Dados):
• Palavra: este TAD deve representar uma palavra em uma língua específica (inglês ou português). Uma palavra é definida como um conjunto de até M caracteres do alfabeto (a-z, A-Z).
• Verbete: este TAD representa um par de palavras, uma em português e a sua tradução em inglês.
• Dicionário: este TAD contém um conjunto de verbetes.
Algumas das funções que você deverá implementar no TAD Verbete são:
• void inicializaVerbete(Verbete *v, Palavra p1, Palavra p2) Inicializa o Verbete v com as palavras p1 e p2, garantindo que elas estejam em línguas
diferentes, uma em PORTUGUES, outra em INGLES.
• Palavra obtemTraducao(Verbete v, Palavra p)
Dada a palavra p contida no verbete v, retorne a sua tradução.
• Palavra retornaPort(Verbete v)
Dado um verbete v, retorna a tradução em português.
• Palavra retornaIng(Verbete v)
Dado um verbete v, retorna a tradução em inglês.
Algumas das funções que você deverá implementar no TAD Dicionário são:
• void InicializaDicionario(Dicionario *dic)
Inicializa o dicionário dic como vazio.
• int CarregaDic(char *NomeArq, Dicionario *dic);
Dado um string contendo o nome de um arquivo, abre o arquivo e carrega o dicionário em dic. Retorna 1, caso tenha conseguido carregar corretamente o dicionário e 0 se não conseguir.
• int InsereDic(Dicionario *dic, Verbete v);
Dado um dicionário dic e um Verbete v, acrescenta-a no dicionário. Retorna 1, caso tenha conseguido acrescentá-la (caiba no dicionário) e 0 se não conseguir.
• void RetiraDic(Dicionario *dic, Palavra *p);
Dado um dicionário dic e uma palavra p, retira o VERBETE que contenha p do dicionario dic. Retorna 1, caso tenha conseguido retirá-la e 0 se não conseguir (e.x. não a encontrar).
• int retornaTraducaoPort(Palavra p, Palavra *p2);
Dada uma palavra em inglês p, retorna 1, caso tenha conseguido traduzi-la para português, inserindo em p2 a sua tradução. Retorna 0 se não conseguir (e.x. não a encontrar).
• int retornaTraducaoIng(Palavra p, Palavra *p2);
Dada uma palavra em português p, retorna 1, caso tenha conseguido traduzi-la para inglês inserindo em p2 a sua tradução. Retorna 0 se não conseguir (e.x. não a encontrar)."
----------------------------
Agora o que eu já fiz com ajuda de um colega e de pessoas um codigo que traduz as palavras por String, mais eu precisava mesmo como pede no trabalho é para fazer por manipulação de arquivos .TXT sendo que o TXT seria o banco de dados:
Problema é que traduz a frase por palavras mais sem manipulação de arquivos pelo que um colega meu ajudou, ai terei que refazer o codigo para manipular arquivos .TXT tambêm e esta é minha duvida. Mais tipo eu teria que entender adicionar arquivos .TXT em C, a ideia minha seria trabalhar então com um banco de dados adicionados a um arquivo .TXT onde la abrindo o .TXT sem precisar ir ao progama (no progama no caso você so conferia so escolhia um idioma e digitava a palavra e la viria o significado) você teria as palavras em ingles e portugues alem de poder adicionar varias outras palavras, seria algo assim no .TXT: "No caso as palavras ingês e portugues seriam traduzidas pela sequencia, tipo a 1a palavra em ingles seria traduzida na 1a em portugues." Eu achei um codigo para escrever no TXT:Mais eu queria no caso implementar o codigo já feito mais acima por string e como não sei muito de manipulação de arquivos .TXT queria ajuda de vocês, bom se alguém puder me ajudar a refazer o codigo para chamar um .TXT por manipulação de arquivos.
Desde já vlw e falou!!!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.