Ir para conteúdo

_Isis_

Moderadores
  • Total de itens

    3.226
  • Registro em

  • Última visita

  • Dias vencidos

    10

_Isis_ venceu o dia em Outubro 26

Teve o conteúdo mais curtido

Reputação

201 Excelente

Sobre _Isis_

  • Data de Nascimento 14-03-1985

Informações Pessoais

  • Sexo
    Feminino
  • Localização
    Curitiba

Contato

Últimos Visitantes

10.729.058 visualizações
  1. Duvida sobre o desenvolvimento de um algoritmo.

    O que você já fez?
  2. alterar cadastro em C

    Não se usa fflush na entrada padrão (comportamento indefinido). Gets tem o problema de buffer overflow. #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NOME 20 #define MAX_CPF 12 #define MAX_USUARIOS 20 enum OpcoesPrincipais{USUARIOS = 1, LIVROS, EDITORAS, EMPRESTIMOS, SAIR}; enum OpcoesUsuarios{CADASTRAR = 1, LISTAR, ALTERAR, EXCLUIR}; typedef struct { int codUsuario; char cpf[MAX_CPF]; char nomeUsuario[MAX_NOME]; } usuario; void zerarVetor (usuario *vet) { int i; for (i=0;i<MAX_USUARIOS;i++) { vet[i].codUsuario = -1; strcpy(vet[i].cpf, ""); strcpy(vet[i].nomeUsuario, ""); } } void cabecalho () { printf ("\t\t ========================================== \n"); printf ("\t\t = SISTEMA DE GERENCIAMENTO DE BIBLIOTECA =\n"); printf ("\t\t ==== DESENVOLVIDO POR MAYARA ANDRES ==== \n"); printf ("\t\t ========================================== \n"); } int menuPrincipal () { int opMP = 0; printf ("\t\t\t\t MENU PRINCIPAL \n "); printf ("\t\t\t\t %d - Usuarios \n", USUARIOS); printf ("\t\t\t\t %d - Livros \n", LIVROS); printf ("\t\t\t\t %d - Editoras \n", EDITORAS); printf ("\t\t\t\t %d - Emprestimos \n", EMPRESTIMOS); printf ("\t\t\t\t %d - Sair \n", SAIR); scanf ("%d%*c", &opMP); return opMP; } int menuSecundario () { printf ("\t\t\t\t %d - Cadastrar \n", CADASTRAR); printf ("\t\t\t\t %d - Listar \n", LISTAR); printf ("\t\t\t\t %d - Alterar \n", ALTERAR); printf ("\t\t\t\t %d - Excluir \n", EXCLUIR); printf ("\t\t\t\t %d - Sair \n", SAIR); } int retornaUltimaPosicao (usuario *vet) { int i; for(i=0; i<MAX_USUARIOS && vet[i].codUsuario != -1; i++); return i; } void lerUsuario(int pos, usuario * vet) { printf ("\n \t\t\t\tDigite o nome do usuario: "); fgets(vet[pos].nomeUsuario, MAX_NOME, stdin); printf ("\n \t\t\t\tDigite o cpf do usuario: "); fgets(vet[pos].cpf, MAX_CPF, stdin); vet[pos].cpf[MAX_CPF-1] = '\0'; } void cadastrarUsuario (usuario *vet) { int i = 0; i = retornaUltimaPosicao(vet); if (i == MAX_USUARIOS) { printf ("Limite de usuarios atingido \n"); } else { printf (" \t\t\t\tCADASTRAR USUARIO: \n"); printf ("\t\t\t\t----------------------\n"); printf ("\n\n\t\t\t\tCodigo do usuario: %d \n",i); vet[i].codUsuario = i; lerUsuario(i, vet); printf ("\n\t\t\t\tUsuario cadastrado com sucesso!\n"); } } void listaUsuarios (usuario *vet) { printf (" \t\t\t\tUSUARIOS CADASTRADOS: \n"); printf ("\t\t ==========================================\n"); for(int i=0; i<MAX_USUARIOS; i++) { if (vet[i].codUsuario != -1) { printf ("\n\t\t\t\t Usuario Numero: %d",i); printf ("\n\t\t\t\t Cod: %d", vet[i].codUsuario); printf ("\n\t\t\t\t Nome: %s ", vet[i].nomeUsuario); printf ("\n\t\t\t\t CPF: %s ", vet[i].cpf); printf ("\n \n"); } } } int pesquisarUsuario(int codigo, usuario* vet) { int i; for(i=0; i < MAX_USUARIOS; i++) { if (vet[i].codUsuario == codigo) break; } return i; } void alterarUsuario (usuario *vet) { int cod; printf("Digite o codigo do usuario: "); scanf("%d%*c", &cod); int pos = pesquisarUsuario(cod, vet); if (pos >= MAX_USUARIOS) { puts("Usuário não encontrado."); } else { lerUsuario(pos, vet); printf("Usuario alterado com sucesso!"); } } int main() { usuario vet[MAX_USUARIOS]; zerarVetor(vet); int opEscolhida; while (1) { cabecalho(); opEscolhida = menuPrincipal(); if (opEscolhida == SAIR) break; switch (opEscolhida) { case USUARIOS: cabecalho(); printf ("\t\t\t\t MENU USUARIOS \n"); int opmenuusuario; menuSecundario(); scanf ("%d%*c", &opmenuusuario); if (opmenuusuario == CADASTRAR) { cabecalho(); cadastrarUsuario(vet); } else if (opmenuusuario == LISTAR) { cabecalho(); listaUsuarios(vet); } else if (opmenuusuario == ALTERAR) { cabecalho(); alterarUsuario(vet); } break; default: printf("OPCAO INVALIDA, POR FAVOR SELECIONE UM ITEM DO MENU\n\n"); } } return 0; }
  3. Exercícios de Algoritmos

    Assim que você mostrar o que já fez em cada um deles.
  4. Salvar posição de um caractere em uma estrutura

    Salve o valor de i em POSICAO.lin e j em POSICAO.col
  5. Lista duplamente encadeada - c

    #include <stdio.h> #include <stdlib.h> #include <string.h> enum OpcoesMenu{SAIR=0,CRIAR_LISTA,INSERIR_CIDADE,REMOVER_CIDADE,IMPRIMIR_LISTA,VERIFICAR_LISTA_VAZIA,LIBERAR_MEMORIA}; #define TAMMAX_CIDADE 51 struct no { char cidade[TAMMAX_CIDADE]; struct no * anterior; struct no * proximo; }; typedef struct no No; int is_vazia(No * lista) { return (lista->anterior == NULL && lista->proximo == NULL && strcasecmp(lista->cidade,"") == 0); } No * criar_elemento() { No * e = (No*) malloc(sizeof(No)); e->anterior = e->proximo = NULL; e->cidade[0] = '\0'; return e; } // Insere no final void inserir(No * lista, char * nome_cidade) { if (is_vazia(lista)) { strncpy(lista->cidade, (const char *) nome_cidade, strlen(nome_cidade)); } else { No * tmp = lista; while(tmp->proximo != NULL) { tmp = tmp->proximo; } No * e = criar_elemento(); strncpy(e->cidade, (const char *) nome_cidade, strlen(nome_cidade)); e->anterior = tmp; e->proximo = NULL; tmp->proximo = e; } } No * pesquisar (No * inicio_lista, char * nome_cidade) { No * tmp; if (is_vazia(inicio_lista)) { tmp = NULL; } else { tmp = inicio_lista; while(tmp != NULL) { if (strcasecmp(tmp->cidade, nome_cidade) == 0) return tmp; tmp = tmp->proximo; } } return tmp; } No * remover(No * lista, No * elemento) { No * tmp_inicio; if (elemento == lista) { tmp_inicio = lista; tmp_inicio = elemento->proximo; tmp_inicio->anterior = NULL; } else { tmp_inicio = elemento->anterior; tmp_inicio->proximo = elemento->proximo; tmp_inicio = lista; } free(elemento); return tmp_inicio; } void imprimir(No * lista) { if (is_vazia(lista)) { puts("Não há elementos na lista."); } else { No * tmp = lista; while(tmp != NULL) { printf("%s\n", tmp->cidade); tmp = tmp->proximo; } } } void liberar_memoria(No * lista) { if (lista->proximo == NULL) { free(lista); } else { return liberar_memoria(lista->proximo); } } void menu_geral() { printf("\n\t\t>-------------------- MENU --------------------<\n\n"); printf("%d) Sair\n", SAIR); printf("%d) Criar lista\n", CRIAR_LISTA); printf("%d) Inserir cidade\n", INSERIR_CIDADE); printf("%d) Remover cidade\n", REMOVER_CIDADE); printf("%d) Imprimir lista\n", IMPRIMIR_LISTA); printf("%d) Verificar se lista está vazia\n", VERIFICAR_LISTA_VAZIA); printf("%d) Liberar lista\n", LIBERAR_MEMORIA); } char * menu_ler_cidade() { char nome[TAMMAX_CIDADE]; printf("Informe o nome da cidade: "); fgets(nome, TAMMAX_CIDADE, stdin); (*strrchr(nome, '\n')) = '\0'; return strdup(nome); } int main() { int opcao; char * nome_cidade; No * lista = NULL; while(1) { menu_geral(); printf("Opção: "); scanf("%d%*c", &opcao); if (opcao == SAIR) break; if (lista == NULL && opcao != CRIAR_LISTA) { puts("A lista não foi criada."); } else { switch(opcao) { case CRIAR_LISTA: lista = criar_elemento(); break; case INSERIR_CIDADE: puts("\t\t------------- INSERIR CIDADE ------------------"); nome_cidade = menu_ler_cidade(); if (pesquisar(lista, nome_cidade) == NULL) { inserir(lista, nome_cidade); } else { puts("Cidade já inserida na lista."); } break; case REMOVER_CIDADE: puts("\t\t------------- REMOVER CIDADE ------------------"); nome_cidade = menu_ler_cidade(); No * registro = pesquisar(lista, nome_cidade); if (registro == NULL) { puts("Cidade não localizada."); } else { lista = remover(lista, registro); } break; case VERIFICAR_LISTA_VAZIA: printf("A lista%sestá vazia\n", is_vazia(lista)? " " : " não "); break; case IMPRIMIR_LISTA: imprimir(lista); break; case LIBERAR_MEMORIA: liberar_memoria(lista); lista = NULL; break; default: printf("\nDigite uma das opções validas.\n"); } } } if (lista != NULL) liberar_memoria(lista); return 0; } A sua função p/ criar a lista não cria nada em memória.
  6. Duvida sobre case em C

    Criar variável você consegue, mas se for em comum vai ser sobrescrita. O que você tem e o que você realmente quer fazer nesses cases?
  7. Me ajudem com esse codigo por favor???

    O erro a princípio é bem explicativo: você está chamando um método em um objeto null. Vá no código ver o que tem na linha 3
  8. Condição com If utilizando checkbox

    let valStr = $("#box").is(":checked")? "Sim" : "Não";
  9. Verificar se a string possui apenas caracteres

    Use o módulo regex
  10. Retornar conexão com o arquivo

    Veja se o ponteiro não é NULL. Veja a descrição do erro em errno. http://man7.org/linux/man-pages/man3/errno.3.html http://www.cplusplus.com/reference/cstdio/fopen/
  11. Monitorar que checkbox foi marcado ou desmarcado

    você tá definindo as funções no head? Cola as coisas todas aí.
  12. [Resolvido] [Resolvido] Exibir somente dados dos animais com status == 1

    ??? Do início de quê?
  13. Programação C++ criptografia

    http://www.cplusplus.com/doc/tutorial/files/
  14. Retornar conexão com o arquivo

    Por que o getc?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: