Ir ao conteúdo
  • Cadastre-se

Marina Rocha

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Tudo que Marina Rocha postou

  1. DEU CERTO!!!! NOSSA CARA! MUITO OBRIGADA! voce salvou minha vida! I lovu iu!! hahahaha
  2. MUITO OBRIGADA pela atenção. eu sou bem iniciante, talvez por isso tão perdida, o codigo não esta incompleto,só fiz essa parte mesmo pois quando ia iniciar a agenda, percebi que os cadastros sumiam. segue: main: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include "projeto.h" Lista* Primeiro; main() { int op; do{ system("cls"); printf(" ------------------------------------------------------------------------------\n"); printf(" ");printf("\t\t\t BEM VINDO A SUA AGENDA ELETRONICA-IFNMG");printf("\t\t\t \n"); printf(" ------------------------------------------------------------------------------\n"); printf(" ------------------------------------ \n"); printf(" | <1> CADASTRAR PROFESSOR |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> AGENDA |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> SAIR |\n"); printf(" |-----------------------------------|\n"); fflush(stdin); op= getch(); switch(op) { case'1': fflush(stdin); system("cls"); cadastro_professor(); break; case '2': fflush(stdin); system("cls"); break; case '3': exit(0); break; default: printf("Opcao Invalida"); } }while(op!=3); } projeto.c: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include "projeto.h" //Inserindo as informações do professor. // Função Indentificar Lista* inserir_professores (Lista *primeiro){ Lista professor; Lista *atual= primeiro; char identificador= 'F'; //Lendo as informações do professor. printf(" Nome: "); fflush (stdin); //Usada para Para limpar o buffer em Windows fgets(professor.nome, 40, stdin); printf ("\n"); printf(" Ano "); fflush (stdin); fgets(professor.ano, 40, stdin); printf ("\n"); printf(" Codigo: "); scanf("%u",&professor.codigo);printf ("\n"); //Verificando se o cadastro já existe.Se a variavel for(atual=primeiro; atual!=NULL; atual=atual->prox){ if(atual->codigo==professor.codigo){ identificador= 'V'; break; } } // se o tamanhos das string forem diferente de 1 if(identificador!='V' && (strlen(professor.nome)!=1 && strlen(professor.ano)!=1)){ //Alocando os espaços e guardando as informações do professor. Lista* Novoprofessor=(Lista*) malloc (sizeof(Lista)); strcpy(Novoprofessor->nome, professor.nome); strcpy(Novoprofessor->ano, professor.ano); Novoprofessor->codigo= professor.codigo; Novoprofessor->prox= primeiro; printf(" Cadastro realizado com sucesso."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return Novoprofessor; }else{ printf(" Cadastro invalido."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } } void listar_professores (Lista* primeiro){ Lista* atual=primeiro;//Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista. //Imprimindo os professores da lista, e suas repectivas informações.Primeira posição de Memoria. for(atual= primeiro ; atual!= NULL; atual= atual->prox){ printf("\n Nome: "); printf("%s", atual->nome); printf("\n Endere%co: "); printf("%s", atual->ano); printf("\n Codigo: " ); printf("%u", atual->codigo);// Numero sem sinal printf("\n\n"); } if(primeiro==NULL) printf(" Nenhum professor cadastrado."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); } Lista* excluir_professores(Lista *primeiro){ Lista *anterior= NULL;//Ponteiro para saber o elemento anterior ao elemento atual da lista. Lista *atual= primeiro;//Ponteiro para percorrer a lista sem perder o primeiro elemento da lista. int codigo=0; //Requisitando e lendo o código do professor a ser excluído. printf(" Codigo do professor a ser excluido: "); fflush(stdin); scanf("%u",&codigo);// Numero sem Sinal //Procurando o professor na lista. while(atual!= NULL && atual->codigo!=codigo){ anterior= atual; atual= atual->prox; } //Mensagem caso o professor não seja encontrado. if(atual==NULL){ printf("\n professor nao encontrado."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Excluindo o primeiro professor da lista. if(anterior==NULL){ printf("\n Conteudo excluicdo com sucesso."); primeiro= atual->prox; //Excluindo um professor do meio da lista. }else{ printf("\n Conteudo excluido com sucesso."); anterior->prox= atual->prox; } //Desalocando o espaço da memória. free(atual); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Função para alterar professores. void alterar_professores(Lista* primeiro){ char nome_substituto[40], ano_substituto[40]; int codigo; Lista* atual=primeiro; //Requisitando e lendo o código do professor a ser alterado. printf(" Codigo do professor a ser alterado: "); fflush(stdin); scanf("%u",&codigo); //Procurando o professor na lista. while(atual!= NULL && atual->codigo!=codigo){ atual= atual->prox; } //Alterando os dados do professor. if(atual!=NULL){ printf("\n Novo nome: "); fflush (stdin); fgets(nome_substituto, 40, stdin); strcpy(atual->nome,nome_substituto); printf("\n Novo ano: "); fflush (stdin); fgets(ano_substituto, 40, stdin); printf ("\n"); strcpy(atual->ano,ano_substituto); printf(" Dados alterados com sucesso."); }else{ printf("\n professor nao encontrado."); } printf("\n\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); } void cadastro_professor() { //Declaração de variáveis Lista *primeiro= NULL; char opcao; //Para repetir o programa. while(opcao!='5') { //Menu de opções printf(" ------------------------------------------------------------------------------\n"); printf(" | ");printf("\t\t\t CADASTRO DE PROFESSORES");printf("\t\t\t |\n"); printf(" ------------------------------------------------------------------------------\n"); printf(" ------------------------------------ \n"); printf(" | <1> Novo cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> Listar |\n"); printf(" |-----------------------------------|\n"); printf(" | <3> Excluir cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <4> Alterar cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <5> Sair |\n"); printf(" -------------------------------------"); printf("\n\n\n\n"); //Lendo a opcao do menu limpando o buffer fflush(stdin); opcao= getch(); //Menu de opções switch(opcao) { case '1': //Inserindo os professores. fflush(stdin); system("cls"); printf(" %c----------------------------------------------------------------------------%c\n"); printf(" | ");printf("\t\t\t NOVO CADASTRO ");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n"); primeiro= inserir_professores(primeiro); //Chamando a funcao. getch(); system("cls"); //Limpando a Tela,Saindo. break; case '2': //Mostrando os professores. system ("cls"); printf(" ----------------------------------------------------------------------------\n"); printf(" | ");printf("\t\t\t professores CADASTRADOS");printf("\t\t\t |\n"); printf(" ----------------------------------------------------------------------------\n"); listar_professores(primeiro); //Chamando a funcao. getch(); system("cls"); //Limpando a Tela,Saindo break; case '3': //Exclui professores da lista. system ("cls"); printf(" ------------------------------------------------------------------------------"); printf(" | ");printf("\t\t\t EXCLUIR CADASTROS");printf("\t\t\t |\n"); printf(" ------------------------------------------------------------------------------"); primeiro= excluir_professores(primeiro); //Chamando a função. getch(); system("cls"); //Limpando a Tela,Saindo break; case '4': //Alterando professores da lista. system ("cls"); printf(" -----------------------------------------------------------------------------\n"); printf(" | ");printf("\t\t\t ALTERAR CADASTRADOS");printf("\t\t\t |\n"); printf(" -----------------------------------------------------------------------------\n"); alterar_professores(primeiro); //Chamando a função getch(); system("cls"); break; case '5': // para sair do programa. opcao='5'; break; default: //Previne a situação de um usuário , digitar uma opcão inexistente no menu. system("cls"); break; } } } projeto.h: typedef struct lista{ char nome[40]; char ano[40]; int codigo; struct lista* prox; }Lista; //Declaração de funções. Lista* inserir_professores(Lista* primeiro); void listar_professores(Lista* primeiro); Lista* excluir_professores(Lista* primeiro); void alterar_professores(Lista* primeiro); void cadastro_professor();
  3. Coloquei como global e não mudou nada, será que o erro não ta no for da função Listar? nossa to estão perdida....... por favor.
  4. porque o resto e igual, se eu conseguir que não suma os cadastros dos prof, o resto também não vai sumir
  5. Boa noite, estou louca aqui, ja tentei de tudo, mais sempre que eu chamo outra função eu perco os dados inseridos . Ex: cadastros os professores, quando eu volto pro menu principal e entro de novo os cadastros sumiram alguem pode me ajudar? por favor!!!!!!! segue cogido: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include "projeto.h" main() { int op; do{ system("cls"); printf(" ------------------------------------------------------------------------------\n"); printf(" ");printf("\t\t\t BEM VINDO A SUA AGENDA ELETRONICA-IFNMG");printf("\t\t\t \n"); printf(" ------------------------------------------------------------------------------\n"); printf(" ------------------------------------ \n"); printf(" | <1> CADASTRAR PROFESSOR |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> AGENDA |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> SAIR |\n"); printf(" |-----------------------------------|\n"); fflush(stdin); op= getch(); switch(op) { case'1': fflush(stdin); system("cls"); cadastro_professor(); break; case '2': fflush(stdin); system("cls"); agenda(); break; case '3': exit(0); break; default: printf("Opcao Invalida"); } }while(op!=3); } void cadastro_professor() { //Declaração de variáveis Lista *primeiro= NULL; char opcao; //Para repetir o programa. do { //Menu de opções printf(" ------------------------------------------------------------------------------\n"); printf(" | ");printf("\t\t\t CADASTRO DE PROFESSORES");printf("\t\t\t |\n"); printf(" ------------------------------------------------------------------------------\n"); printf(" ------------------------------------ \n"); printf(" | <1> Novo cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <2> Listar |\n"); printf(" |-----------------------------------|\n"); printf(" | <3> Excluir cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <4> Alterar cadastro |\n"); ; printf(" -------------------------------------\n"); printf(" | <5> Sair |\n"); printf(" -------------------------------------\n"); printf("\n\n\n\n"); printf("\n\n\n\n"); //Lendo a opcao do menu limpando o buffer fflush(stdin); opcao= getch(); //Menu de opções switch(opcao) { case '1': //Inserindo os professores. fflush(stdin); system("cls"); printf(" ----------------------------------------------------------------------------\n"); printf(" ");printf("\t\t\t NOVO CADASTRO ");printf("\t\t\t \n"); printf(" ----------------------------------------------------------------------------\n"); primeiro= inserir_professores(primeiro); //Chamando a funcao. getch(); system("cls"); //Limpando a Tela,Saindo. break; case '2': //Mostrando os professores. system ("cls"); printf(" ----------------------------------------------------------------------------\n"); printf(" ");printf("\t\t\t PROFESSORES CADASTRADOS");printf("\t\t\t \n"); printf(" ----------------------------------------------------------------------------\n"); listar_professores(primeiro); //Chamando a funcao. getch(); system("cls"); //Limpando a Tela,Saindo break; case '3': //Exclui professores da lista. system ("cls"); printf(" ------------------------------------------------------------------------------"); printf(" ");printf("\t\t\t EXCLUIR CADASTROS");printf("\t\t\t \n"); printf(" ------------------------------------------------------------------------------"); primeiro= excluir_professores(primeiro); //Chamando a função. getch(); system("cls"); //Limpando a Tela,Saindo break; case '4': //Alterando professores da lista. system ("cls"); printf(" -----------------------------------------------------------------------------\n"); printf(" | ");printf("\t\t\t ALTERAR CADASTRADOS");printf("\t\t\t |\n"); printf(" -----------------------------------------------------------------------------\n"); alterar_professores(primeiro); //Chamando a função getch(); system("cls"); break; case '5': // para sair do programa. main(); break; default: //Previne a situação de um usuário , digitar uma opcão inexistente no menu. system("cls"); break; } }while(opcao!=5); } //Inserindo as informações do professor. // Função Indentificar Lista* inserir_professores (Lista *primeiro){ Lista professor; Lista *atual= primeiro; char identificador= 'F'; //Lendo as informações do professor. printf(" Nome: "); fgets(professor.nome, 40, stdin); printf ("\n"); printf(" Ano: "); fflush (stdin); fgets(professor.ano, 40, stdin); printf ("\n"); printf(" Codigo: "); scanf("%u",&professor.codigo);printf ("\n"); //Verificando se o cadastro já existe.Se a variavel for(atual=primeiro; atual!=NULL; atual=atual->proximo){ if(atual->codigo==professor.codigo){ identificador= 'V'; break; } } // se o tamanhos das string forem diferente de 1 if(identificador!='V' && (strlen(professor.nome)!=1 && strlen(professor.ano)!=1)){ //Alocando os espaços e guardando as informações do professor. Lista* Novoprofessor=(Lista*) malloc (sizeof(Lista)); strcpy(Novoprofessor->nome, professor.nome); strcpy(Novoprofessor->ano, professor.ano); Novoprofessor->codigo= professor.codigo; Novoprofessor->proximo= primeiro; printf(" Cadastro realizado com sucesso."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return Novoprofessor; }else{ printf(" Cadastro invalido."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } } void listar_professores (Lista* primeiro){ Lista* atual;//Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista. //Imprimindo os professores da lista, e suas repectivas informações.Primeira posição de Memoria. for(atual= primeiro ; atual!= NULL; atual= atual->proximo){ printf("\n Nome: "); printf("%s", atual->nome); printf("\n Endere%co: "); printf("%s", atual->ano); printf("\n Codigo: " ); printf("%u", atual->codigo);// Numero sem sinal printf("\n\n"); } if(primeiro==NULL) printf(" Nenhum professor cadastrado."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); } Lista* excluir_professores(Lista *primeiro){ Lista *anterior= NULL;//Ponteiro para saber o elemento anterior ao elemento atual da lista. Lista *atual= primeiro;//Ponteiro para percorrer a lista sem perder o primeiro elemento da lista. int codigo=0; printf(" ------------------------------------------------------------------------------"); printf(" ");printf("\t\t\t EXCLUIR CADASTROS");printf("\t\t\t \n"); printf(" ------------------------------------------------------------------------------"); //Requisitando e lendo o código do professor a ser excluído. printf(" Codigo do professor a ser excluido: "); fflush(stdin); scanf("%u",&codigo);// Numero sem Sinal //Procurando o professor na lista. while(atual!= NULL && atual->codigo!=codigo){ anterior= atual; atual= atual->proximo; } //Mensagem caso o professor não seja encontrado. if(atual==NULL){ printf("\n professor nao encontrado."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Excluindo o primeiro professor da lista. if(anterior==NULL){ printf("\n Conteudo excluicdo com sucesso."); primeiro= atual->proximo; //Excluindo um professor do meio da lista. }else{ printf("\n Conteudo excluido com sucesso."); anterior->proximo= atual->proximo; } //Desalocando o espaço da memória. free(atual); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Função para alterar professores. void alterar_professores(Lista* primeiro){ char nome_substituto[40], ano_substituto[40]; int codigo; Lista* atual=primeiro; //Requisitando e lendo o código do professor a ser alterado. printf(" Codigo do professor a ser alterado: "); fflush(stdin); scanf("%u",&codigo); //Procurando o professor na lista. while(atual!= NULL && atual->codigo!=codigo){ atual= atual->proximo; } //Alterando os dados do professor. if(atual!=NULL){ printf("\n Novo nome: "); fflush (stdin); fgets(nome_substituto, 40, stdin); strcpy(atual->nome,nome_substituto); printf("\n Novo ano: "); fflush (stdin); fgets(ano_substituto, 40, stdin); printf ("\n"); strcpy(atual->ano,ano_substituto); printf(" Dados alterados com sucesso."); }else{ printf("\n professor nao encontrado."); } printf("\n\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!