Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Formatador de Texto - Suponha um arquivo texto que possua algumas marcações específicas descorrentes de ações do usuário:
1 - Apaga caracter: #
2- Apaga linha: \
3 - Salta Linha: @
4 - Cada linha tem no máximo 70 caracteres.
Estou tentando resolver este problema, mas não estou conseguindo, favor se alguém puder me ajudar, agradeço.
Fico no aguardo
[Estou tentando resolver este problema, mas não estou conseguindo, favor se alguém puder me ajudar, agradeço.
Fico no aguardo
Não entregamos trabalhos prontos.
_ISIS_ tentei fazer aqui mas não sei o que esta acontecendo será que agora vc pode me ajudar a resolver este problema ?
Veja o código que fiz
ARQUIVO CPP
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include <windows.h>
#include"pilha_char.h"
void DesvertimanentoDeFrase(TpPilha p, TpPilha aux)
{
while(!Vazia(p.topo))
{
Insere(aux, Retira(p));
}
if(!Vazia(aux.topo))
{
Exibe1(aux);
Inicializa(aux);
Inicializa(p);
}
}
void jogaNaPilha(FILE *arq, TpPilha p)
{
arq = fopen("arquivo.txt", "r");
TpPilha aux;
Inicializa(aux);
char c;
while((c = fgetc(arq)) != EOF)
{
if(!Cheia(p.topo))
{
if(c == '#')
{
Retira(p);
}
else if(c == '\\')
{
Inicializa(p);
}
else if(c == '@')
{
DesvertimanentoDeFrase(p, aux);
}
else
{
Insere(p, c);
}
}
else
{
DesvertimanentoDeFrase(p, aux);
}
}
}
int main()
{
FILE *arq;
TpPilha p;
Inicializa(p);
jogaNaPilha(arq, p);
getch();
}
ARQUIVO H
#define MAXPILHA 70
struct TpPilha
{
int topo;
char pilha[MAXPILHA];
};
void Inicializa(TpPilha &p)
{
p.topo = -1;
}
char ElementoTopo(TpPilha p)
{
return p.pilha[p.topo];
}
int Vazia(int t)
{
if(t == -1)
return 1;
else
return 0;
}
int Cheia(int t)
{
if(t == MAXPILHA-1)
return 1;
else
return 0;
}
void Insere(TpPilha &p, char elem)
{
p.pilha[++p.topo] = elem;
}
char Retira(TpPilha &p)
{
return p.pilha[p.topo--];
}
void Exibe(TpPilha p)
{
while(!Vazia(p.topo))
printf("\n%c", Retira(p));
}
void Exibe1(TpPilha &p)
{
while(!Vazia(p.topo))
printf("%c ", Retira(p));
}
FICO NO AGUARDO
OBRIGADO
Não sei se entendi o problema, mas tu quer fazer um programa que caso o usuário aperte "#" ele apaga um caractere e assim por diante?