RBCOL
(usa Outra)
Enviado em 22/05/2015 - 07:18h
Amigos eu agradeço a todos pelo esforço para me ajudar, talvez eu não consegui ser claro na minha explicação, vou tentar ser claro.
no momento que eu digitar um texto no comando o texto vai ser mais ou menos assim:
INSERE('MINHA NOTA EM BD','TIREI NOTA 10')
quando eu apertar a tecla enter será cortada a palavra INSERE para o comando inserir, a frase MINHA NOTA EM BD será incluída no titulo e a frase TIREI NOTA 10 será incluída no texto, a minha dificuldade é que eu não estou conseguindo separar as frases com substring e incluí-las no titulo e no texto da struct LISTA, pois a frase trata-se de sttring enquanto na struct eu tenho char, depois disto salvar em arquivo txt. Se alguém conseguir me ajudar eu agradeço. postei novamente os meus códigos. Obrigado.
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
int incremento = 1;
using namespace std;
struct lista{
int codigo;
char titulo[101];
char texto[501];
struct lista *prox;
};
typedef struct lista *Lista;
Lista inicializa(void){
return NULL;
}
Lista insere (Lista p){
Lista novo = (Lista)malloc(sizeof(lista));
Lista aux = p;
Lista aux2 = aux;
novo->codigo = incremento;
incremento++;
a frase deverá entrar aqui separada por substring sem ser digitada neste trecho
//getchar();
//cout <<" Digite um titulo: ";
//gets(novo->titulo);
//cout << " Digite um texto : ";
//gets(novo->texto);
novo->prox =NULL;
if(aux == NULL)
return novo;
else{
while(aux->prox != NULL)
aux = aux->prox;
aux->prox = novo;
return p;
}
}
void imprime(Lista p){
Lista aux = p;
if(p == NULL){
cout << " Lista vazia\n";
return ;
}
while(aux != NULL){
cout << " Codigo: " << aux->codigo;
cout << "\n";
cout << " Titulo: " << aux->titulo << "\n Texto: " << " " << aux->texto;
cout << "\n\n";
aux = aux->prox;
}
}
bool vazia (Lista* l){
return(l == NULL);
}
Lista altera (Lista l){
Lista ant = NULL;
Lista p = l;
int codigo;
char titulo[501], titulo2[501];
cout << " Digite o codigo que deseja alterar: ";
cin >> codigo;
while(p != NULL && p->codigo != codigo){
ant = p;
p = p->prox;
}
if(p == NULL){
cout << " Comando nao encontrado";
return l;
}
cout << " Codigo encontrado: ";
cout << " Codigo: " << codigo << "\n" << " " << p->titulo << p->texto;
cout << "\n\n";
cout << " Digite um novo titulo: ";
getchar();
gets(p->titulo);
cout << " Digite um novo texto : ";
gets(p->texto);
return l;
}
Lista exclui (Lista l){
Lista ant = NULL;
Lista p = l;
int codigo;
cout << " Digite o codigo que deseja remover: ";
cin >> codigo;
while(p != NULL && p->codigo != codigo){
ant = p;
p = p->prox;
}
if(p == NULL)
return l;
if(ant == NULL){
l = p->prox;
}
else{
ant->prox = p->prox;
}
free(p);
return l;
}
int main(void){
Lista lista = inicializa();
string comando;
cout << "\n\t\t ANOTAI\n\n\n";
while(comando != "SAIR"){
cout << "\n Linha de comando: ";
//cout << "\n 1 - INSERE \n 2 - ATUALIZA \n 3 - DELETA \n 4 - SELECIONA \n 0 - SAIR\n\n";
cin >> comando;
if (comando == "INSERE"){
lista = insere (lista);
}else if(comando == "ATUALIZA"){
lista = altera(lista);
}else if (comando == "DELETA"){
lista = exclui(lista);
}else if (comando == "SELECIONA"){
imprime(lista);
}else {
cout << " Comando invalido";
}
}
return(0);
}