Cyberlacs 0 Denunciar post Postado Março 19, 2014 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 Compartilhar este post Link para o post Compartilhar em outros sites
João Pellissari 0 Denunciar post Postado Março 19, 2014 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? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Março 19, 2014 [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. Compartilhar este post Link para o post Compartilhar em outros sites
Cyberlacs 0 Denunciar post Postado Março 26, 2014 _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 Compartilhar este post Link para o post Compartilhar em outros sites