Ir ao conteúdo
  • Cadastre-se

Milena Pereira

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

1
  1. E um trabalho onde Escolhemos a topologia Estrela Onde e preciso configurar 3 computadores na rede e eles devem conter Servidor, Endereço de IP, Mascara e Gateway. Como posso configurar? adequadamente
  2. Olha eu consegui fazer ate essa parte so que a estrutura e so para inserir clientes e telefone. Queria inserir livros, autor, editora. #include <stdio.h>#include <conio.h>#include<stdlib.h>#include<string.h>typedef struct no_da_lista { // No da lista é o registrochar nome[30]; //nome do assinanteint telefone; //telefonestruct no_da_lista* anterior;struct no_da_lista* proximo;}No_da_Lista;struct arv { //arv é o indice char info[100]; //chaveNo_da_Lista* local; //endereço do nóstruct arv* esq; struct arv* dir;};typedef struct arv Arv;Arv * raiz;No_da_Lista* lista;No_da_Lista* iniciaLista(void) {return NULL;}No_da_Lista* insereLista(No_da_Lista* lista, char *c, int num) {No_da_Lista* novo_no = (No_da_Lista*)malloc(sizeof(No_da_Lista));strcpy(novo_no->nome, c);novo_no->telefone = num;novo_no->proximo = lista;novo_no->anterior = NULL;if (lista != NULL)lista->anterior = novo_no;return novo_no;}No_da_Lista* buscaLista(No_da_Lista* lista, char *c) {No_da_Lista* p;for (p = lista;p != NULL;p = p->proximo) {if (strcmp(p->nome, c)){printf("%s ", p->nome);return p;}}return NULL;}void retiraLista(No_da_Lista * lista) {// retira o elemento do endereco listalista->anterior->proximo = lista->proximo;if (lista->proximo != NULL)lista->proximo->anterior = lista->anterior;free(lista);}//Verificando se o nó existe ou nãoint vazia(Arv* a){return a == NULL;}//Criando a arvore inicialArv* inicializa(void){return NULL;}// Colocando o nó na árvoreArv* cria(char *c, No_da_Lista* local, Arv* sae, Arv* sad) {Arv* p = (Arv*)malloc(sizeof(Arv));strcpy(p->info, c);p->local = local;p->esq = sae;p->dir = sad;return p;}void imprimeLista(No_da_Lista* lista) {No_da_Lista* aux; /* variavel auxiliar para percorrer a lista */for (aux = lista; aux != NULL; aux = aux->proximo) {printf("Nome: %s \n", aux->nome);printf("Telefone: %d \n", aux->telefone);}}//preordemvoid imprime(Arv* a){if (!vazia(a)) {printf("%s ", a->info); /* mostra raiz */printf("\n");imprime(a->esq); /* mostra sae */imprime(a->dir); /* mostra sad */}}void imprimepo(Arv* a)/* impressao na forma Pos Ordem>*/{if (!vazia(a)) {imprimepo(a->esq); /* mostra sae */imprimepo(a->dir); /* mostra sad */printf("%s ", a->info); /* mostra raiz */}}void imprimeos(Arv* a)/* impressao na forma Ordem simetrica*/{if (!vazia(a)) {imprimeos(a->esq); /* mostra sae */printf("%s ", a->info); /* mostra raiz */imprimeos(a->dir); /* mostra sad */}}//Arv* busca(Arv* a, char *c) { //Busca Arvoreif (vazia(a))return NULL; /* árvore vazia: não encontrou */elseif (strcmp(a->info, c)<0)return busca(a->dir, c);else{if (strcmp(a->info, c)>0)return busca(a->esq, c);elsereturn a;};}void indexa(Arv* a, char *c, No_da_Lista* registro) { //Entra com uma chave numa arvore binariaif (strcmp(a->info, c)<0)if (!vazia(a->dir))indexa(a->dir, c, registro);elsea->dir = cria(c, registro, inicializa(), inicializa());elseif (!vazia(a->esq))indexa(a->esq, c, registro);elsea->esq = cria(c, registro, inicializa(), inicializa());return;}void iniciaSist(char *c, int num) {lista = iniciaLista();lista = insereLista(lista, c, num);raiz = cria(c, lista, inicializa(), inicializa());}void inclui(char *c, int num) {if (busca(raiz, c) == NULL){lista = insereLista(lista, c, num);indexa(raiz, c, lista);}else{printf("Nome ja existe");getch();}}Arv* retira(Arv* r, char * v) //retirando uma folha{if (r == NULL)return NULL;else if (strcmp(r->info, v) > 0)r->esq = retira(r->esq, v);else if (strcmp(r->info, v) < 0)r->dir = retira(r->dir, v);else { /* achou o elemento */if (r->esq == NULL && r->dir == NULL) { /* elemento sem filhos */free(r);r = NULL;}else if (r->esq == NULL) { /* só tem filho à direita */Arv* t = r;r = r->dir;free(t);}else if (r->dir == NULL) { /* só tem filho à esquerda */Arv* t = r;r = r->esq;free(t);}else { /* tem os dois filhos */Arv* pai = r;Arv* f = r->esq;while (f->dir != NULL) {pai = f;f = f->dir;}strcpy(r->info, f->info); /* troca as informações */strcpy(f->info, v);r->esq = retira(r->esq, v);}}return r;}void deleta(Arv* a, char *c) { //Exclui um nome da fila e da arvoreArv * aux = busca(a, c);No_da_Lista * r;if (aux != NULL) {r = aux->local;retira(raiz, c);retiraLista(r);}}void mostraNo(Arv * a) {if (!vazia(a)){printf("Nome: %s \n", a->local->nome);printf("Telefone: %d \n", a->local->telefone);}else {printf("Nao localizado");}}
  3. Estou fazendo um trabalho de um programa de Cadastro em C. E estou com muita dificuldade o máximo que conseguir foi cadastrar clientes. Poderiam me ajudar? 1. O sistema deve ser capaz de cadastrar, alterar e excluir clientes, com pelo menos nome do cliente e endereço 2. O sistema deve ser capaz de cadastrar, alterar e excluir pedidos de livros feitos pelos clientes 3. O sistema deve fazer cadastro de livros, com nome do autor, nome do livro ou editora do livro

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