Ir para conteúdo
Fórum Script Brasil
  • 0

Arquivo Em C++


Guest - Alex -

Pergunta

Sou iniciante em c++; como é a 1ª vez que vejo a linguagem e todos sabem que nenhuma faculdade

ensina adequadamente, venho a este obter um auxílio a seguinte questão:

consegui criar um programinha em c++ para ordenar palavras que o usuário digita.

Agora, o professor da faculdade quer que o programa ordene as palavras que já existem em um

arquivo texto qualquer., ou seja não sera mais necessario digitar as palavras.

Como implementar isso ?

Obs: deve ser feito usando função.

obs2: segue o código abaixo(aqui o usuario é que digita a palavra):

#include <cstdlib>

#include <iostream>

#include <string.h>

#define MAX 7

using namespace std;

void leia(char palavra[][50], int n)

{

for(int i=0; i<n; i++)

{

cout<<"Digite a palavra:";

gets(palavra);

}

}

void bolha(char palavra[][50],int n)

{

char aux[50];

for(int i=0; i<n-1; i++)

for(int j=i+1; j<n; j++)

{

if(strcmp(palavra,palavra[j]) > 0)

{

strcpy(aux,palavra);

strcpy(palavra,palavra[j]);

strcpy(palavra[j],aux);

}

}

}

void escreva(char palavra[][50],int n)

{

for(int i=0; i<n;i++)

cout<<palavra<< endl;

}

int main(int argc, char *argv[])

{

int n=MAX;

char palavra[MAX][50];

leia(palavra,n);

bolha(palavra,n);

escreva(palavra,n);

system("PAUSE");

return EXIT_SUCCESS;

}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Salve!

Primeiramente, seja bem vindo.

Só para facilitar: Você já aprendeu a abrir arquivo .txt e fazer a leitura do mesmo?

Abraços,

William Rodrigues

valeu, pelo interesse em me ajudar. O que eu aprendi até agora foi que ao se trabalhar

com arquivos deve-se usar a biblioteca fstream.h e as sintaxes ifstream e ofstream.

inclusive, eu consegui fazer um programinha que recebe datas e grava em um arquivo .txt

mas esse último trabalho, não estou conseguindo sair do lugar.

agradeço pela atenção.

Obs: como não estou conseguindo anexar o arquivo segue-o abaixo

#include <cstdlib>

#include <iostream>

#include <fstream.h>

#include<conio.h>

#include<string>

#define TAMVETOR 10

#define TAMANHO 256

#define ARQUIVO "data.txt"

using namespace std;

enum {LEITURA = 0, GRAVACAO = 1, ALTERACAO = 2};

typedef struct

{

char dia[3];

char mês[3];

char ano[5];

char dia1[3];

char mes1[3];

char ano1[5];

}calendario;

void listar();

void gravar();

int main(int argc, char *argv[])

{

char op;

do

{

cout << "Escolha uma das opcoes abaixo\n";

cout << "1 Listar\n";

cout << "2 Gravar\n";

cout << "[ESC] Sair\n";

op=getch();

switch(op)

{

case '1': listar(); break;

case '2': gravar(); break;

case 27 : break;

default : continue;

}

}while (op!=27);

system("PAUSE");

return 0;

}

void listar()

{

int cont=0;

char cabecalho[TAMANHO];

char linha[TAMANHO];

ifstream arq;

arq.open(ARQUIVO);

arq.getline(cabecalho, TAMANHO);

cout << cabecalho << "\n\n";

arq.getline(linha, TAMANHO);

while (arq.gcount()!=0)

{

cout << linha << "\n";

arq.getline(linha, TAMANHO);

++ cont;

if (cont ==20)

{

cout << "\nPressione qualquer tecla...";

getch();

cout << cabecalho << "\n\n";

cont=0;

}

}

cout << "\nPressione qualquer tecla...";

getch();

arq.close();

}

void gravar()

{

calendario t;

char linha[TAMANHO], caractere;

ofstream arqsai;

arqsai.open(ARQUIVO, ios::out|ios::ate);

cout << "\nDia:"; gets(t.dia);

cout << "\nMes:"; gets(t.mês);

cout << "\nAno:"; gets(t.ano);

cout << "\nDia1:"; gets(t.dia1);

cout << "\nMes1:"; gets(t.mes1);

cout << "\nAno1:"; gets(t.ano1);

arqsai << t.dia << "/"

<< t.mês << "/"

<< t.ano << "\t";

arqsai << t.dia1<< "/"

<< t.mes1 << "/"

<< t.ano1 << "\n";

arqsai.close();

}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --radak --
Sou iniciante em c++; como é a 1ª vez que vejo a linguagem e todos sabem que nenhuma faculdade

ensina adequadamente, venho a este obter um auxílio a seguinte questão:

consegui criar um programinha em c++ para ordenar palavras que o usuário digita.

Agora, o professor da faculdade quer que o programa ordene as palavras que já existem em um

arquivo texto qualquer., ou seja não sera mais necessario digitar as palavras.

Como implementar isso ?

Obs: deve ser feito usando função.

obs2: segue o código abaixo(aqui o usuario é que digita a palavra):

#include <cstdlib>

#include <iostream>

#include <string.h>

#define MAX 7

using namespace std;

void leia(char palavra[][50], int n)

{

for(int i=0; i<n; i++)

{

cout<<"Digite a palavra:";

gets(palavra);

}

}

void bolha(char palavra[][50],int n)

{

char aux[50];

for(int i=0; i<n-1; i++)

for(int j=i+1; j<n; j++)

{

if(strcmp(palavra,palavra[j]) > 0)

{

strcpy(aux,palavra);

strcpy(palavra,palavra[j]);

strcpy(palavra[j],aux);

}

}

}

void escreva(char palavra[][50],int n)

{

for(int i=0; i<n;i++)

cout<<palavra<< endl;

}

int main(int argc, char *argv[])

{

int n=MAX;

char palavra[MAX][50];

leia(palavra,n);

bolha(palavra,n);

escreva(palavra,n);

system("PAUSE");

return EXIT_SUCCESS;

}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

E ai Alex!

Cara o programa para ordenar palavras parece ótimo.

Estou necessitando de algo parecido para C. não conheço programação C, estou tentando aprender...

Muda muito a versão C++ para C, deste teu programa de ordenação?

valeu, sucesso!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...