void alterarLista(struct stNo **list){
struct stNo *p;
int n,idade1;
char name[50],email1[60],celular1[11];
char compNome[50];
printf("\nDigite o nome que sera alterado: ");
fflush(stdin);
gets(compNome);
if(*list!=NULL){
p=*list;
while(p->prox!=NULL && strcmp(compNome,p->nome) !=0 ){
p = p->prox;
};
if(strcmp(compNome,p->nome)==0){
printf("\nDigite o novo valor do nó:");
scanf("%i",&n);
fflush(stdin);
printf("\nDigite o novo nome:");
gets(name);
fflush(stdin);
printf("\nDigite o novo email:");
gets(email1);
fflush(stdin);
printf("\nDigite o novo celular:");
gets(celular1);
fflush(stdin);
printf("\nDigite o novo valor da idade:");
scanf("%i",&idade1);
fflush(stdin);
p->info = n;
p->idade = idade1;
strcpy(p->nome,name);
strcpy(p->email,email1);
strcpy(p->celular,celular1);
printf("\nNovos dados do usuario: ");
printf("\nCódigo: %d",p->info);
printf("\nNome: %s",p->nome);
printf("\nEmail: %d",p->email);
printf("\nCelular: %s",p->celular);
printf("\nIdade: %d",p->idade);
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Fabio Stein
Olá queria saber se alguém consegue me ajudar com um problema, queria salvar os dados do programa em um arquivo mas não consegui achar uma maneira
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
struct stNo {
int info;
char nome[50];
char email[60];
char celular[11];
int idade;
struct stNo *ant,*prox;
};
struct stNo *cria_no() {
struct stNo *p;
if ((p = (struct stNo *) malloc(sizeof(struct stNo))) == NULL)
return NULL;
else {
p->prox = NULL;
return p;
}
}
void insereLista(struct stNo **list){
struct stNo *p,*q;
int n,idade1;
char name[50],email1[60],celular1[11];
fflush(stdin);
printf("\nDigite o valor do nó:");
scanf("%i",&n);
fflush(stdin);
printf("\nDigite o nome:");
gets(name);
fflush(stdin);
printf("\nDigite o email:");
gets(email1);
fflush(stdin);
printf("\nDigite o celular:");
gets(celular1);
fflush(stdin);
printf("\nDigite o valor da idade:");
scanf("%i",&idade1);
fflush(stdin);
if(*list==NULL){ //lista vazia
p = cria_no();
*list = p;
p->ant = NULL;
p->prox = NULL;
p->info = n;
p->idade = idade1;
strcpy(p->nome,name);
strcpy(p->email,email1);
strcpy(p->celular,celular1);
}else{
p=*list;
while(p->prox!=NULL)
p=p->prox;
q = cria_no();
p->prox = q;
q->prox = NULL;
q->ant = p;
q->info = n;
q->idade = idade1;
strcpy(q->nome,name);
strcpy(q->email,email1);
strcpy(q->celular,celular1);
};
};
void mostraLista(struct stNo **list){
struct stNo *p;
if(*list!=NULL){
p=*list;
while(p->prox!=NULL){
printf(" %i->",p->info);
printf(" %s->",p->nome);
p = p->prox;
};
printf(" %i->",p->info);
printf(" %s",p->nome);
}
else printf("\nLista Vazia");
};
void visualizarLista(struct stNo **list){
struct stNo *p;
int n;
char compNome[50];
printf("\nDigite o nome: ");
fflush(stdin);
gets(compNome);
if(*list!=NULL){
p=*list;
while(p->prox!=NULL && strcmp(compNome,p->nome) !=0 ){
p = p->prox;
};
if(strcmp(compNome,p->nome)==0){
printf("\nCódigo: %d",p->info);
printf("\nNome: %s",p->nome);
printf("\nEmail: %d",p->email);
printf("\nCelular: %s",p->celular);
printf("\nIdade: %d",p->idade);
};
}
else printf("\nLista Vazia");
};
void alterarLista(struct stNo **list){
struct stNo *p;
int n,idade1;
char name[50],email1[60],celular1[11];
char compNome[50];
printf("\nDigite o nome que sera alterado: ");
fflush(stdin);
gets(compNome);
if(*list!=NULL){
p=*list;
while(p->prox!=NULL && strcmp(compNome,p->nome) !=0 ){
p = p->prox;
};
if(strcmp(compNome,p->nome)==0){
printf("\nDigite o novo valor do nó:");
scanf("%i",&n);
fflush(stdin);
printf("\nDigite o novo nome:");
gets(name);
fflush(stdin);
printf("\nDigite o novo email:");
gets(email1);
fflush(stdin);
printf("\nDigite o novo celular:");
gets(celular1);
fflush(stdin);
printf("\nDigite o novo valor da idade:");
scanf("%i",&idade1);
fflush(stdin);
p->info = n;
p->idade = idade1;
strcpy(p->nome,name);
strcpy(p->email,email1);
strcpy(p->celular,celular1);
printf("\nNovos dados do usuario: ");
printf("\nCódigo: %d",p->info);
printf("\nNome: %s",p->nome);
printf("\nEmail: %d",p->email);
printf("\nCelular: %s",p->celular);
printf("\nIdade: %d",p->idade);
};
}
else printf("\nLista Vazia");
};
void excluirQualquer(struct stNo **list){
struct stNo *p;
char compNome[50];
p = *list;
if(*list==NULL){
printf("\nLista Vazia");
}else{
printf("\nDigite o nome: ");
fflush(stdin);
gets(compNome);
if(*list!=NULL) //lista vazia
p = *list;
while(p->prox!=NULL && strcmp(compNome,p->nome) !=0){
p=p->prox;
}
if(p->ant == NULL){
*list = p->prox;
}else{
p->ant->prox = p->prox;
}
if(p->prox != NULL)
p->prox->ant = p->ant;
free(p);
printf("\nExcluido com sucesso. ");
}
};
main(){
setlocale(LC_ALL,"Portuguese");
struct stNo *lista;
int menu;
lista = NULL; // inicializando a lista vazia
do{
system("cls");
printf("\n");
mostraLista(&lista);
printf("\n\n");
printf("[1-Inserir] ");
printf("[2-Visualizar] ");
printf("[3-Alterar] ");
printf("[4-Excluir] ");
printf("[5-Sair] ");
printf("Opção:");
scanf("%i",&menu);
switch(menu){
case 1 : insereLista(&lista);
break;
case 2 : visualizarLista(&lista);
break;
case 3 : alterarLista(&lista);
break;
case 4 : excluirQualquer(&lista);
break;
case 5 : printf("\nSaindo...");
break;
default: printf("\nCódigo Inválido");
}
printf("\n");system("pause");
}while(menu!=5);
}
Link para o comentário
Compartilhar em outros sites
0 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.