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);
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.