Pesquisar na Comunidade
Mostrando resultados para as tags ''estrutura''.
Encontrado 13 registros
-
Salve galera, beleza? Uma enquete rápida, por favor. To querendo criar uma tabela pra gravar alguns logs...daí eu pensei algo do tipo: IdLog Log Usuário Data Mas, essa tabela pode ficar grande e ocupar espaço d+... Pensando na otimização do banco de dados, seria melhor fazer assim? IdLog Log Qtde Usuário Data Ou seja, faço UPDATE na Qtde quando for o mesmo Log do Usuário na Data O que vocês acham?
-
Boa noite pessoal, eu gostaria que voces dessem uma olhada na minha modelagem de banco por favor, preciso da nota máxima para passar de semestre (:( kkkk) é bascimente uma modelagem de uma academia, onde o aluno chega e escolhe diversas modalidades (zumba,musculacao...) tem uma tabela chamada plano, onde ele pode optar por pagar mensalmente,trimensal,anualmente.. onde fiz uma trigger que na tabela pagamento atualizasse os dados automaticamente em vista do plano que o aluno escolheu. é bem simples, me ajudem por favor, se tiver alguma coisa errada (os relacionamentos e pa) me ajude tambem kkk vlw
-
- mysql
- banco de dados
- (e %d mais)
-
EDIT: RESOLVIDO! Achei uma forma rápida e fácil, quem precisar só mandar pm. Oi! Sou novo no fórum, e já venho pedindo ajuda =P Mas é o seguinte, tenho que entregar esse exercício até quinta, e por me enrolar estudando cálculo, GA e física, acabei deixando pra última hora esse exercício! D: Esse é o cabeçalho do exercício: Escrever um programa para gerenciar passagens reservadas: O programa deve mostrar um menu com 4 opções, 1 - Reservar Passagem 2 - Cancelar Passagem 3 - Verificar Passagem Reservada 4 - Mostrar Passageiros A informação deve ser armazenada em uma lista, com nomes em ordem alfabética. Cada passageiro pode reservar apenas uma vez. O programa deve ser em C. Deve ser feito utilizando Listas Simplesmente Encadeadas. Estou utilizando o CodeBlocks. Como base, tenho o seguinte código: #include <stdio.h> #include <stdlib.h> typedef struct elemento{ int dado; struct elemento *proximo; } Elemento; typedef struct listasimples{ Elemento *inicio; int tamanho; } ListaSimples; ListaSimples *inicializaLista() { ListaSimples *l; l = (ListaSimples *)malloc(sizeof(ListaSimples)); l->inicio = NULL; l->tamanho = 0; return l; } void colocaDado(int d, ListaSimples *l, int pos){ Elemento *andarilho = l->inicio; Elemento *anterior = NULL; Elemento *novoDado; novoDado = (Elemento *)malloc(sizeof(Elemento)); novoDado->dado = d; int i = 0; while(andarilho != NULL && i < pos) { anterior = andarilho; andarilho = andarilho->proximo; i++; } if (anterior == NULL){ novoDado->proximo = l->inicio; l->inicio = novoDado; } else{ anterior->proximo = novoDado; novoDado->proximo = andarilho; } l->tamanho++; } int retiraDado(ListaSimples *l,int pos) { if (l->inicio == NULL){ printf("A lista esta vazia, não há o que retirar! \n"); return 0; } else { Elemento *andarilho = l->inicio; Elemento *anterior = NULL; Elemento *retirado; retirado = (Elemento *)malloc(sizeof(Elemento)); int i = 0; while(i < pos) { anterior = andarilho; andarilho = andarilho->proximo; i++; } retirado = andarilho; int saida = retirado->dado; if (anterior == NULL) { l->inicio = andarilho->proximo; } else{ anterior->proximo = andarilho->proximo; } free(retirado); return saida; } } void imprimeListaSimples(ListaSimples *l) { Elemento *iterador; iterador = l->inicio; if (iterador == NULL) { printf("Lista vazia!"); } else{ while (iterador != NULL) { printf("%i",iterador->dado); iterador = iterador->proximo; } } printf("\n"); } void limpaListaSimples(ListaSimples *l) { Elemento *iterador, *anterior; iterador = l->inicio; anterior = NULL; if (iterador == NULL) { printf("Lista vazia!"); } else{ while (iterador != NULL) { anterior = iterador; iterador = iterador->proximo; free(anterior); } } l->inicio = NULL; } int main(void) { ListaSimples *l = inicializaLista(); colocaDado(1,l,0); imprimeListaSimples(l); colocaDado(2,l,1); imprimeListaSimples(l); colocaDado(3,l,1); imprimeListaSimples(l); colocaDado(4,l,2); imprimeListaSimples(l); retiraDado(l,0); imprimeListaSimples(l); retiraDado(l,0); imprimeListaSimples(l); colocaDado(5,l,0); imprimeListaSimples(l); colocaDado(6,l,0); imprimeListaSimples(l); retiraDado(l,0); imprimeListaSimples(l); retiraDado(l,2); imprimeListaSimples(l); retiraDado(l,1); imprimeListaSimples(l); retiraDado(l,0); imprimeListaSimples(l); retiraDado(l,0); return 0; } e meu código está atualmente assim: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> typedef struct elemento{ char nome[20]; int dado; struct elemento *proximo; } Elemento; typedef struct listasimples{ Elemento *inicio; int tamanho; } ListaSimples; ListaSimples *inicializaLista() { ListaSimples *l; l = (ListaSimples *)malloc(sizeof(ListaSimples)); l->inicio = NULL; l->tamanho = 0; return l; } void colocaDado(char d, ListaSimples *l, int pos){ Elemento *andarilho = l->inicio; Elemento *anterior = NULL; Elemento *novoDado; novoDado = (Elemento *)malloc(sizeof(Elemento)); novoDado->nome[20] = d; int i = 0; while(andarilho != NULL && i < pos) { anterior = andarilho; andarilho = andarilho->proximo; i++; } if (anterior == NULL){ novoDado->proximo = l->inicio; l->inicio = novoDado; } else{ anterior->proximo = novoDado; novoDado->proximo = andarilho; } l->tamanho++; } int retiraDado(ListaSimples *l,int pos) { if (l->inicio == NULL){ printf("A lista esta vazia, não há o que retirar! \n"); return 0; } else { Elemento *andarilho = l->inicio; Elemento *anterior = NULL; Elemento *retirado; retirado = (Elemento *)malloc(sizeof(Elemento)); int i = 0; while(i < pos) { anterior = andarilho; andarilho = andarilho->proximo; i++; } retirado = andarilho; int saida = retirado->dado; if (anterior == NULL) { l->inicio = andarilho->proximo; } else{ anterior->proximo = andarilho->proximo; } free(retirado); return saida; } } void imprimeListaSimples(ListaSimples *l) { Elemento *iterador; iterador = l->inicio; if (iterador == NULL) { printf("Lista vazia!"); } else{ while (iterador != NULL) { //printf("%s",iterador->nome); puts(iterador->nome); iterador = iterador->proximo; } } printf("\n"); } void limpaListaSimples(ListaSimples *l) { Elemento *iterador, *anterior; iterador = l->inicio; anterior = NULL; if (iterador == NULL) { printf("Lista vazia!"); } else{ while (iterador != NULL) { anterior = iterador; iterador = iterador->proximo; free(anterior); } } l->inicio = NULL; } int main(void) { ListaSimples *l = inicializaLista(); int escolha=0; char name[20]; printf("Reservator v0.1\n"); printf("1 - Reservar Passagem\n2 - Cancelar Passagem\n3 - Verificar Passagem Reservada\n4 - Mostrar Passageiros\n"); while(escolha<1 || escolha>4) { scanf("%d",&escolha); } gets(name); colocaDado(name,l,0); imprimeListaSimples(l); colocaDado("ass",l,1); imprimeListaSimples(l); retiraDado(l,0); return 0; } Eu empaquei, e minhas dúvidas são as seguintes: 1) Como eu faço para enviar um nome, com espaços, para a lista??? 2) Como eu faço para a lista se organizar em ordem alfabética? (pensei em usar o strcmp, mas n sei como fazer isso junto da lista), 3) Como eu imprimo esses nomes da lista? Por favor, me ajudem :( To desesperado pois tenho prova de fisica na quinta, mesmo dia da entrega desse exercício que vale nota..
-
Bom dia Amigos, estou com um problema e creio que vocês podem me ajudar. A empresa em que trabalho tem um sistema muito antigo que foi herdado após aquisição de outra empresa. O sistema foi desenvolvido em ACCESS 97 (PASMEM!), porém, a pessoa que era responsável por dar manutenção neste, foi desligada, e a bomba sobrou pra mim. O problema, é que sou bastante leigo quando se trata de Banco de Dados, e Estruturas ACCESS. Enfim... vamos ao problema... necessito realizar algumas alterações no MDE, mas a estrutura está com o shift bloqueado. Não tenho nem ideia como fazer para desbloquear, pois já tentei abrir direto pelo access (sem ser pelo executavel), com alt+f1+enter, ctrl+, , ctrl+g... mas não tive exito em nada. Poderiam me ajudar neste problema? Desde já agradeço, Milton
-
Boa noite. Preciso de ajuda neste algoritmo em c++ da matéria de estrutura de dados. Não sei por onde começar. Obrigado! Fazer um programa que utiliza um vetor X de 10 posições e lê 20 valores inteiros situados no intervalo [1,99]. Utilize, ainda, duas variáveis, T1 e T2 inicializadas, respectivamente, com 0 e 11, de tal forma que, no vetor X, tenha-se duas pilhas de bases opostas. Para cada valor lido: se for par e maior do que 50, inseri-lo na pilha 1; se for par e menor ou igual a 50, então retirar o elemento do topo da pilha 1 e escrevê-lo; se for ímpar e maior do que 50, inseri-lo na pilha 2; se o valor lido for ímpar e menor ou igual a 50, então retirar o valor do topo da pilha 2 e escrevê-lo; se ocorrer uma situação de UNDERFLOW, escreva uma mensagem e ignore o valor lido passando a ler o novo valor; se ocorrer OVERFLOW ou se já tiverem sido lidos 20 valores, então escrever o conteúdo das duas pilhas e terminar o programa;
-
Olá! Estou tentando estruturar um banco para um aplicativo da faculdade com o seguinte escopo: Vou ter um usuário que é logado com o Facebook: id; nome; email... Esse usuário quando logar pode assumir 2 perfis no app: Prestador de serviço ou contratante de serviço. Se ele entrar com a primeira opção, vai para um menu diferente ao da segunda e vice-versa. Como vocês me recomendariam estruturar o banco? Criar 3 tabelas: usuário; prestador; contratante; cada uma com seus respectivos atributos e relacioná-las?
-
O c é uma linguagem estruturada e cheia de recursos, matrizes por exemplo é uma estrutura de dados acima de duas dimensões, lembro aos iniciantes que matrizes devem ser declaradas com o mesmo tipo de dado, e quando estão armazenadas na memória, são em formas de uma tabela, sendo assim, criei este programa, que imprime uma tabela no qual é preenchida com valores inteiros já que a matriz é do tipo int. No que vamos preenchendo a matriz, o c já vai marcando automaticamente a diagonal principal, com a cor vermelha para seus valores, e os demais valores de outras posições são marcados em azul. Porventura este não é um ótimo código indicado a iniciantes desta importante linguagem de programação? Veja abaixo uma imagem do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/11/matriz-marcando-e-somando-diagonal.html
-
Dúvida- Esse código é encadeado ou duplamente encadeado?
uma questão postou walkyrr Grupo de Estudos
Estou com duvida se esse código e simplesmente encadeado ou duplamente encadeado, alguém pode me ajudar? Isso é uma implementação de um Deque. #include <stdio.h> #include <stdlib.h> typedef struct TipoCelula *TipoApontador; typedef int TipoChave; typedef struct TipoItem { TipoChave Chave; } TipoItem; typedef struct TipoCelula { TipoItem Item; TipoApontador Prox; } TipoCelula; typedef struct TipoDeque { TipoApontador Frente, Tras; } TipoDeque; void IniciaDeque(TipoDeque *Deque) { Deque->Frente = (TipoApontador) malloc(sizeof(TipoCelula)); Deque->Tras = Deque->Frente; Deque->Frente->Prox = NULL; } int Vazio(TipoDeque Deque) { return (Deque.Frente == Deque.Tras); } void InsereUltimo(TipoItem x, TipoDeque *Deque) { if (Vazio (*Deque)) printf("\nO item %d foi o primeiro a ser inserido no Deque\n\n",x.Chave); else printf("\nO item %d foi inserido no final do Deque\n\n",x.Chave); Deque->Tras->Prox = (TipoApontador) malloc(sizeof(TipoCelula)); Deque->Tras = Deque->Tras->Prox; Deque->Tras->Item = x; Deque->Tras->Prox = NULL; } void InserePrimeiro (TipoItem x, TipoDeque *Deque) { TipoApontador novo; if (Vazio (*Deque)) { InsereUltimo(x, Deque); } else { novo = (TipoApontador) malloc(sizeof(TipoCelula)); novo -> Prox = Deque->Frente-> Prox; Deque->Frente-> Prox= novo; novo -> Item = x; printf("\nO item %d foi inserido no inicio do Deque\n\n",x.Chave); } } -
Geralmente pra se ter uma leitura com êxito de um arquivo devemos analizá-lo antes, isto porque o arquivo pode está todo desorganizado, então criamos um certo padrão. Agora pergunto, se estamos criando um arquivo que será lido pelo programa Porque não organizá-lo antes? Precisamos saber quantas strings, floats e inteiros o programa precisa para a leitura; Então criei um arquivo e estou utilizando-o para preenchimento dos campos de uma struct,onde declarei cinco chars e três ints. A struct recebe memória alocada dinamicamente, e é liberada por free(); no término do programa. Veja abaixo imagens do programa em execução: Veja abaixo o link do código do programa: http://codigosfontes-ccplus-plus.blogspot.com.br/2015/10/arquivo-inserindo-dados-em-struct.html
-
1) Suponha que, em uma biblioteca, hajam três arquivos distintos que contenham o nº de livros. Um dos arquivos guarda livros de Informática, outro guarda livros de Matemática e o outro guarda livros de História. a) Estes arquivos da biblioteca devem ser representados por três vetores de números inteiros, e o número armazenado em cada posição do vetor representará o código do livro. c) Crie uma estrutura que armazene todos os livros dos três arquivos em um arquivo apenas, e em ordem crescente dos códigos dos livros. 2) Crie um aplicativo que peça 30 valores ao usuário. Os dados serão armazenados em dois vetores, um para os valores pares, e outro para os valores ímpares. Cada vetor terá 5 posições. Quando o vetor estiver cheio, imprima-o na tela. Terminada a leitura dos 30 valores, escreva o valor dos dois vetores. Cada vetor pode ser preenchido tantas vezes quantas forem necessárias 3) Escreva um programa em C que leia do teclado um horário do dia (horas, minutos e segundos), e valide se a entrada é coerente. O programa deve ler um segundo horário (também validando), e caso este seja maior do que o primeiro, calcular e imprimir o tempo que decorreu entre os dois horários informados (caso contrário, informar que o segundo horário informado é anterior ao primeiro). O tempo decorrido deve ser informado na forma <H> horas, <M> minutos, <S> segundos. Caso algum dos campos tenha valor nulo, a respectiva unidade de tempo não deve ser informada. Por exemplo, se o tempo decorrido for de 1 minuto e 45 segundos, a mensagem impressa deve ser apenas “1 minuto, 45 segundos” (ou seja, o numero de horas não deve ser informado). O programa deve conter obrigatoriamente as seguintes subrotinas: a) Solicita ao usuário a digitação do horário; c) Verifica se o segundo horário é posterior ao primeiro. Caso seja, retorna o tempo decorrido (em segundos). Caso não seja, retorna o valor -1; d) Imprime o tempo decorrido, transformando de segundos para o formato solicitado (horas, minutos e segundos); 4) Faça uma subrotina que, procure por um elemento em uma matriz; O usuário deverá informar o elemento a ser procurado; Determine as coordenadas (linha e coluna) da primeira ocorrência deste elemento, S4e não estiver na matriz, informe que é inexistente. . 5) Crie um programa que permita armazenar o nome, a altura e da data de nascimento de até 10 pessoas. Cada pessoa deve ser representada por uma struct dentro do vetor. A data de nascimento deverá ser armazenada como String. Tenha uma sub-rotina que dê opção de imprimir os dados ao final do cadastramento, ou apenas
- 1 resposta
-
- tarefa
- exercicios
- (e %d mais)
-
Alguém conhece algum programa para fazer a comparação tanto da estrutura como dos dados ? De preferência gratuíto, os pagos não acho serial na internet.
-
O programa roda bem até a hora de imprimir as informações dos livros, ele imprime só o titulo do primeiro livro e para a execução, as vezes o programa para de responder ou não acontece mais nada. O que pode ser? #include <stdio.h> typedef struct livros { int ISBN; char *titulo; char editora; char local_pub; char data_pub; char primeiro_autor; char segundo_autor; } TLivros; int main() { int i; TLivros vet[10]; TLivros *p; p = (TLivros*)malloc(5*sizeof(TLivros)); for(i=1; i<=2; i++) { printf("\nInforme a data de publicacao do livro %d no formato dd/mm/aa: ",i); fflush(stdin); scanf("%s", &vet[i].data_pub); } for(i=1; i<=2; i++) { printf("\nInforme a data de publicacao do livro %d no formato dd/mm/aa: ",i); fflush(stdin); scanf("%s", &p->data_pub); } for(i=1; i<=2; i++) { vet[i].titulo = (char*)malloc(20*sizeof(char)); } for(i=1; i<=2; i++) { printf("\nInforme o titulo do livro %d: ",i); fflush(stdin); fgets(vet[i].titulo,20,stdin); } printf("-------------------LIVROS-------------------"); for(i=1; i<=2; i++) { printf("\nTitulo do livro %d: %s",i,vet[i].titulo); printf("\nData de publicacao do livro %d: %s",i,vet[i].data_pub); printf("\nData de publicacaodo livro %d: %s",i,p->data_pub); } return 0; }
-
Olá pessoal tudo bem? Pois bem, estou com um problema muito chato de estrutura do design do meu site ... Seguinte ... usando o IE 9, após eu clicar em um botão (Home, Leiame, Download), ou cadastrar algum dado no mysql, a página atualizada fica desestruturada, como mostra a imagem abaixo. E ai, eu aplico refresh (F5 no teclado) na mesma página desestruturada, e o que acontece? ela volta a ficar com a formatação do design correta, como abaixo. O que vocês acham que pode ser ? Seria um problema específico no IE 9 ?? Existe alguma solução ? Valeu!!!!!!!