-
Posts
32 -
Cadastrado em
-
Última visita
Reputação
8-
vagabond1 alterou sua foto pessoal
-
Cisco Packet Tracer atividade de redes
vagabond1 respondeu ao tópico de vagabond1 em Redes e Internet
@Tio Chang Já tinha conseguido fazer antes, obrigado! -
Cisco Packet Tracer atividade de redes
vagabond1 respondeu ao tópico de vagabond1 em Redes e Internet
-
Cisco Packet Tracer atividade de redes
vagabond1 respondeu ao tópico de vagabond1 em Redes e Internet
-
@arfneto Entendi, um colega me ajudou e deu certo
-
@arfneto Esta ok, ja consegui resolver o problema Obrigado!
-
@arfneto Entendi amigo, minha dificuldade esta sendo essa de mudar entende? int main(){ struct Pilha minhapilha; int capacidade, op; float valor; printf( "\nCapacidade da pilha? " ); scanf( "%d", &capacidade ); criarpilha (&minhapilha, capacidade); while( 1 ){ /* loop infinito */ printf("\n1- empilhar (push)\n"); printf("2- desempilhar (POP)\n"); printf("3- Mostrar o topo \n"); printf("4- sair\n"); printf("\nopcao? "); scanf("%d", &op); switch (op){ case 1: //push if( estacheia( &minhapilha ) == 1 ) printf("\nPILHA CHEIA! \n"); else { printf("\nVALOR? "); scanf("%f", &valor); empilhar (&minhapilha, valor); } break; case 2: //pop if ( estavazia(&minhapilha) == 1 ) printf( "\nPILHA VAZIA! \n" ); else{ valor = desempilhar (&minhapilha); printf ( "\n%.1f DESEMPILHADO!\n", valor ); } break; case 3: // mostrar o topo if ( estavazia (&minhapilha) == 1 ) printf( "\nPILHA VAZIA!\n" ); else { valor = retornatopo (&minhapilha); printf ( "\nTOPO: %.1f\n", valor ); } break; case 4: exit(0); default: printf( "\nOPCAO INVALIDA! \n" ); } } } E no "case 3" onde define o topo e se a pilha esta vazia que não consigo definer pelo: void pilha_vazia(Pilha* pi) { if(pi == NULL || *pi == NULL) printf("\n Pilha está vazia!"); else printf("\n Pilha não está vazia!"); } int push(Pilha* pilha, struct prato p) { if(pilha == NULL) return 0; struct elemento* aux = (struct elemento*)malloc(sizeof(struct elemento)); if(aux == NULL) return 0; aux->item = p; aux->prox = (*pilha); //TOPO DA PILHA *pilha = aux; //Novo elemento passa a ser o primeiro da pilha return 1; }
-
@arfneto Tem sim, Esse enunciado que falei, tem que ser feito baseado no exemplo dado em aula O professor não aceita de outra forma as funções do struct e pilha A unica coisa que pediu para criarmos com liberdade é função do void main/int main para exeibir e imprimir o topo da pilha Por isso que o segundo codigo não conta para a resolução do problema, estou me baseando nesse outro codigo
-
@arfneto apos tentar bastante consegui dessa forma: #include <stdio.h> #include <string.h> #include <stdlib.h> struct prato { char cor[50]; }; struct elemento { struct prato item; struct elemento *prox; }; typedef struct elemento* Pilha; Pilha* cria_pilha() { Pilha* pi = (Pilha*)malloc(sizeof(Pilha)); if(pi != NULL) *pi = NULL; return pi; } int recupera_tamanho_pilha(Pilha* pi) { if(pi == NULL) return 0; int tamanho = 0; struct elemento* item = *pi; while(item != NULL) { tamanho++; item = item->prox; } return tamanho; } void pilha_vazia(Pilha* pi) { if(pi == NULL || *pi == NULL) printf("\n Pilha está vazia!"); else printf("\n Pilha não está vazia!"); } int push(Pilha* pilha, struct prato p) { if(pilha == NULL) return 0; struct elemento* aux = (struct elemento*)malloc(sizeof(struct elemento)); if(aux == NULL) return 0; aux->item = p; aux->prox = (*pilha); //TOPO DA PILHA *pilha = aux; //Novo elemento passa a ser o primeiro da pilha return 1; } imprime(Pilha* pi){ struct elemento* item = *pi; printf("\n O ultimo item e %s", item->item); } void main() { Pilha *pilha; pilha = cria_pilha(); printf("\n Tamanho da pilha: %d", recupera_tamanho_pilha(pilha)); pilha_vazia(pilha); struct prato p; strcpy(p.cor, "Azul"); push(pilha, p); strcpy(p.cor, "Verde"); push(pilha, p); strcpy(p.cor, "rosa "); push(pilha, p); printf("\n Tamanho da pilha: %d", recupera_tamanho_pilha(pilha)); imprime(pilha) ; } O outro codigo consegui fazer executar: #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct Pilha { int topo; int capa; float *pElem; }; void criarpilha( struct Pilha *p, int c ){ p->topo = -1; p->capa = c; p->pElem = (float*) malloc (c * sizeof(float)); } int estavazia(struct Pilha* p) { return (p->topo < 0); } int estacheia ( struct Pilha *p ){ if (p->topo == p->capa - 1) return 1; else return 0; } void empilhar ( struct Pilha *p, float v){ p->topo++; p->pElem [p->topo] = v; } float desempilhar ( struct Pilha *p ){ float aux = p->pElem [p->topo]; p->topo--; return aux; } float retornatopo ( struct Pilha *p ){ return p->pElem [p->topo]; } int main(){ struct Pilha minhapilha; int capacidade, op; float valor; printf( "\nCapacidade da pilha? " ); scanf( "%d", &capacidade ); criarpilha (&minhapilha, capacidade); while( 1 ){ /* loop infinito */ printf("\n1- empilhar (push)\n"); printf("2- desempilhar (POP)\n"); printf("3- Mostrar o topo \n"); printf("4- sair\n"); printf("\nopcao? "); scanf("%d", &op); switch (op){ case 1: //push if( estacheia( &minhapilha ) == 1 ) printf("\nPILHA CHEIA! \n"); else { printf("\nVALOR? "); scanf("%f", &valor); empilhar (&minhapilha, valor); } break; case 2: //pop if ( estavazia(&minhapilha) == 1 ) printf( "\nPILHA VAZIA! \n" ); else{ valor = desempilhar (&minhapilha); printf ( "\n%.1f DESEMPILHADO!\n", valor ); } break; case 3: // mostrar o topo if ( estavazia (&minhapilha) == 1 ) printf( "\nPILHA VAZIA!\n" ); else { valor = retornatopo (&minhapilha); printf ( "\nTOPO: %.1f\n", valor ); } break; case 4: exit(0); default: printf( "\nOPCAO INVALIDA! \n" ); } } } Mas tentei implementar as funções do segundo codigo no primeiro e sem resultado, então decidi fazer de outra forma
-
@devair1010 Amigo, poderia me ajudar lá no meu post tambem, por favor? Estou tentando e nada, no meu post de PILHA Obrigado!
-
Realmene acrescentar a nova declaração resolveu um problema e alterar o (*pi) tambem, mas não estou entendo estes erros, li todos eles mas mesmo alterando não resolve os problemas. Outra coisa seria no int main, creio que não faz sentido declarar dentro da case o pilha_vazio sendo que esta sendo declarado na struct, certo?
-
Alguem ai para ajudar no codigo acima? Preciso elaborar uma função que exiba o topo da pilha e a função deverá imprimir o elemento do topo, mas esta dando erro no codigo #include <stdio.h> #include <string.h> #include <stdlib.h> struct Pilha { int topo; int capa; float *pElem; }; void criarpilha( struct Pilha *p, int c ){ p->topo = -1; p->capa = c; p->pElem = (float*) malloc (c * sizeof(float)); } void pilha_vazia(Pilha* pi) { if(pi == NULL || *pi == NULL) printf("\n Pilha está vazia!"); else printf("\n Pilha não está vazia!"); } int push(Pilha* pilha, struct prato p) { if(pilha == NULL) return 0; struct elemento* aux = (struct elemento*)malloc(sizeof(struct elemento)); if(aux == NULL) return 0; aux->item = p; aux->prox = (*pilha); *pilha = aux; return 1; } int estacheia ( struct Pilha *p ){ if (p->topo == p->capa - 1) return 1; else return 0; } void empilhar ( struct Pilha *p, float v){ p->topo++; p->pElem [p->topo] = v; } float desempilhar ( struct Pilha *p ){ float aux = p->pElem [p->topo]; p->topo--; return aux; } float retornatopo ( struct Pilha *p ){ return p->pElem [p->topo]; } int main(){ struct Pilha minhapilha; int capacidade, op; float valor; printf( "\nCapacidade da pilha? " ); scanf( "%d", &capacidade ); criarpilha (&minhapilha, capacidade); while( 1 ){ /* loop infinito */ printf("\n1- empilhar (push)\n"); printf("2- desempilhar (POP)\n"); printf("3- Mostrar o topo \n"); printf("4- sair\n"); printf("\nopcao? "); scanf("%d", &op); switch (op){ case 1: //push if( estacheia( &minhapilha ) == 1 ) printf("\nPILHA CHEIA! \n"); else { printf("\nVALOR? "); scanf("%f", &valor); empilhar (&minhapilha, valor); } break; case 2: //pop if ( estavazia(&minhapilha) == 1 ) printf( "\nPILHA VAZIA! \n" ); else{ valor = desempilhar (&minhapilha); printf ( "\n%.1f DESEMPILHADO!\n", valor ); } break; case 3: // mostrar o topo if ( estavazia (&minhapilha) == 1 ) printf( "\nPILHA VAZIA!\n" ); else { valor = retornatopo (&minhapilha); printf ( "\nTOPO: %.1f\n", valor ); } break; case 4: exit(0); default: printf( "\nOPCAO INVALIDA! \n" ); } } }
-
Cisco Packet Tracer atividade de redes
vagabond1 respondeu ao tópico de vagabond1 em Redes e Internet
Obrigado amigo, vou tentar fazer agora. -
Cisco Packet Tracer atividade de redes
vagabond1 respondeu ao tópico de vagabond1 em Redes e Internet
@Tio Chang É aqui que me perco, tentei fazer essa representação mas não consigo sair dessa estaca. Teria alguma forma de ilustrar para facilitar? -
Alguem poderia me dar uma luz com isso? Veja o enunciado: Prezados Senhores, boa noite! Para resolução da segunda atividade, favor utilizar a descrição abaixo: Você foi contratado para planejar a criação de uma rede para uma corporação com as seguintes características: • A corporação possui uma Unidade Matriz que se interliga com outras 3 Unidades Filiais através de links de fibra ótica de 1 Gbps. • Cada Filial deverá ter sua respectiva rede segmentada em três áreas: VENDAS, FINANCEIRO e WIFI . • As redes VENDAS e FINANCEIRO não deverão permitir mais do que 254 dispositivos conectados . • A rede WIFI deve permitir acima de 254 dispositivos conectados. • Todas as Unidades (Matriz e Filiais) se comunicam com a internet por um link de fibra ótica de 100 Mbps. Você deve planejar as redes de forma que não existam conflitos de ips dentro da rede. Todas as Unidades devem se comunicar apenas com a Matriz, sem a necessidade de uma filial se comunicar com outra filial. Bom, nunca utilizei o cisco antes pois tudo que "aprendi" foi teorico em redes e não pratico, mas não estou entendo quase nada de funcionalidades do cisco Isso dificulta muito. O que consegui fazer ate agora foi na imagem que postei, quem puder me ajudar ficaria grato. Obrigado!
-
Com base nos estudos que você me passou, consegui montar o seguinte codigo: Estou com problemas para imprimir o Logradouro pois aparece um monte de numero aleatorio, mesmo eu inserido uma sequencia de numero. E fiz via teclado pois preciso testar assim. #include <stdlib.h> #include <stdio.h> #include <string.h> int main () { struct cliente { int idCliente; char nome[50]; }; struct cliente *x = (struct cliente *) malloc(10 * sizeof(struct cliente)); struct endereco { int endereco[100]; int idEndereco; int cep; }; struct endereco *y = (struct endereco *) malloc(10 * sizeof(struct endereco)); struct telefone { int telefone; int idTelefone; char tipo[100]; }; struct telefone *z = (struct telefone *) malloc(10 * sizeof(struct telefone)); int cadastro; printf("\n -----Quantos clientes deseja cadastrar?-----\n "); scanf("%i", &cadastro); int count = 1; for( count = 1 ; count <= cadastro; count++){ printf("\n Digite o nome do Cliente: \n"); scanf("%s", &x[count].nome); printf("\n Digite o telefone: \n"); scanf("%d", &z[count].telefone); printf("\n Digite o Tipo de Telefone (Celular/Fixo): \n"); scanf("%s", &z[count].tipo); printf("\n Digite o Logradouro: \n"); scanf("%s", &y[count].endereco); printf("\n Digite o CEP: \n"); scanf("%i", &y[count].cep); } x[cadastro].idCliente = cadastro; y[cadastro].idEndereco = cadastro; z[cadastro].idTelefone = cadastro; FILE *arquivo; arquivo = fopen("arquivocliente.txt", "w"); struct cliente; if (arquivo==NULL){ printf("Erro ao criar arquivo.\n"); }else{ fprintf( arquivo, "###Nome### \n" ); fprintf( arquivo, "Id: %i \n", x[cadastro].idCliente); fprintf( arquivo, "Nome: %s \n\n", x[cadastro].nome); fprintf( arquivo, "###Telefone### \n" ); fprintf( arquivo, "Id: %i \n", z[cadastro].idTelefone); fprintf( arquivo, "Telefone: %d \n", z[cadastro].telefone); fprintf( arquivo, "Tipo: %s \n\n", z[cadastro].tipo); fprintf( arquivo, "##Endereço## \n" ); fprintf( arquivo, "Id: %i \n", y[cadastro].idEndereco); fprintf( arquivo, "Logradouro: %s \n", y[cadastro].endereco); fprintf( arquivo, "CEP: %i \n\n", y[cadastro].cep); fclose(arquivo); return 0; printf("\tArquivo gravado com sucesso.\n"); fclose(arquivo); } getch(); return 0; }
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