luan_bfr

Membros
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutro

About luan_bfr

  1. Ae galera queria mais uma ajuda num exercicio de lista, já consegui imprimir só os numeros pares, so os impares e a lista completa, porem quando executa uma dessas opçoes o programa fecha, queria que depois de executar uma função voltasse para o menu e o usuario decidisse quando encerrar o programa segue o codigo abaixo: #include <stdio.h> #include <stdlib.h> int num[50]; int i = 0; int MAX=0; int opcao; int aux; main () { printf("Digite os numeros da lista!\n(para finalizar antes dos 50 numeros digite '0'):\n"); for (i=0;i<50;i++){ printf("insira o numero da posicao %i \n", i+1); scanf("%i",&aux); if (aux!=0){ num[i]=aux; MAX=i+1; } else break; } printf("Quais numeros gostaria de ver?\n(1) Pares \t (2) Impares \t (3) Lista completa.\n\n"); scanf("%i", &opcao); system("CLS"); switch(opcao) { case 1: printf("Lista de numeros pares:\n"); for(i=0; i<MAX; i++) { if (num[i] % 2 == 0) { printf("%i\n", num[i]); } } break; case 2: printf("Lista de numeros Impares:\n"); for(i=0; i<MAX; i++) { if (num[i] % 2 != 0) { printf("%i\n", num[i]); } } break; case 3: printf("Lista Completa:\n"); for(i=0; i<MAX; i++) { printf("%i\n", num[i]); } break; default: printf("Opcao invalida!\n"); } system("PAUSE"); return 0; }
  2. 1. Faça um programa que apresente o menu de opções abaixo: MENU 1- Cadastro de aluno 2- Cadastro de nota 3- Calcular média de um aluno 4- Listar os nomes dos alunos sem notas 5- Excluir aluno 6- Excluir nota 7- Sair Observações: a) Na opção 1 deve ser cadastrado um aluno (número e nome) de cada vez em uma pilha dinâmica simplesmente encadeada. A mensagem disponível nesta opção é: Aluno cadastrado. Os números dos alunos devem ser gerados automaticamente, partindo do número 1. B) Na opção 2 deve pedir o nome do aluno que irá ser cadastrado a nota. c) Na opção 3 deve digitar o nome do aluno e o programa deve mostrar o nome dele e a média aritmética das notas desse aluno. As mensagens disponíveis nesta opção são: Aluno não cadastrado, Aluno sem nota e Média dos alunos = valor calculado. d) Na opção 4 os nomes dos alunos que não possuem notas devem ser listados. As mensagens disponíveis nesta opção são: A listagem dos nomes e Todos os alunos possuem notas. e) Na opção 5 um aluno da pilha de alunos deve ser excluído, respeitando duas regras: a) um aluno só pode ser excluído se não possuir nota; B) o usuário não deve escolher o aluno a ser excluído, pois a exclusão deve obedecer as regras de funcionamento de uma estrutura de dados do tipo pilha. As mensagens disponíveis nesta opção são: Aluno excluído, Pilha vazia e Este aluno possui notas, logo, não poderá ser excluído. f) Na opção 6 uma nota deve ser excluída, respeitando as regras de funcionamento de uma estrutura do tipo pilha. As mensagens disponíveis são: Notas excluídas e Pilha vazia. g) Na opção 7 é a única que sai do programa. Uma mensagem deve ser mostrada para opções inválidas. void fpvazia(){ struct pilha *prox; aux =(struct pilha*)malloc(sizeof(struct pilha)); topo = aux; fundo =topo; fundo->prox=NULL; } void cadastra(pilha prox,char na){ aux=((prox*)malloc(sizeof(prox)); printf("Voce selecionou cadastra:\n\n"); /*struct pilha *aux;*/ aux->name=na; /*aux->name=prox->topo;*/ aux->px=prox->topo; prox->topo=aux /*topo = aux;*/ /*char x[30]; char op;*/ fpvazia(); /*while(op !='n'){*/ printf("Digite o nome:\n\n"); scanf("%c",&x); /*printf ("Continuar com o cadastro ?(s/n)"); op = getch();*/ tamanho++; numero++; char opc; printf("Voce deseja continuar o progama? (s/n):\n\n"); scanf("%c",&opc); if(opc == 's'){ menu(); }/*else{ print("O progama sera finalizado"); }*/ } /*void knota(pilha *prox,char x){ printf("Voce selecionou cadastra nota:\n\n "); /*char x[30];*/ /*int flag =0; struct pilha *aux; aux->prox = topo; aux-> nota; topo = aux; while(aux->prox !=NULL){ printf("Digite o nome do aluno a ser cadastrado a nota:\n\n"); scanf("%c",&x); if(aux->name==x){ printf("Aluno encontrado:"); printf("digite a nota do aluno"); scanf("%d",&nota); flag =1; aux->prox=NULL; }else{ aux=aux->prox; } printf ("Continuar com o cadastro ?(s/n)"); op = getch(); } if(flag==0){ printf("não a aluno com esse nome:"); } menu(); } void mediana(){ printf("Voce selecionou tirar media:\n\n "); menu(); } void listar(){ int con=0; printf("Voce selecionou listar:\n\n"); struct pilha *aux; aux = topo; while(aux->prox !=NULL){ printf("aluno(s) sem nota:",aux->name,numero); con++; if(con=0){ printf("Todos os alunos posuen notas:"); } char opc; printf("Voce deseja continuar o progama? (s/n):\n\n"); scanf("%c",&opc); if(opc == 's'){ menu(); } } } void excluir(){ printf("Voce selecionou Excluir aluno:\n\n "); char x[30]; int flag =0; struct pilha *aux; aux->prox = topo; aux-> nota; topo = aux; while(aux->prox !=NULL){ printf("Digite o nome do aluno a ser exluido :\n\n"); scanf("%c",&x); if(aux->name==x){ printf("Aluno encontrado:\n\n"); if (name->nota==NULL){ printf("aluno sera excluido:\n\n"); topo =topo->prox; }else{ printf("aluno tem nota e não sera exluido:\n\n"); } flag =1; aux->prox=NULL; }else{ aux=aux->prox; } printf ("Continuar com o cadastro ?(s/n)"); op = getch(); } if(flag==0){ printf("não a aluno com esse nome:"); } printf("Voce selecionou excluir aluno:\n\n"); menu(); } void exnota(){ printf("Voce selecionou excluir nota:\n\n"); menu(); } void sair(){ exit(1); } */ int main (void){ menu(); system("pause"); return 0; } void menu(){ system("cls"); int opc; printf("Escolha uma opcao:\n\n"); printf("1 - cadastrar:\n\n"); printf("2 - cadastrar nota do aluno:\n\n"); printf("3 - Calcular media do aluno:\n\n"); printf("4 - listar alunos sem nota:\n\n"); printf("5 - Excluir aluno:\n\n"); printf("6 - Excluir nota:\n\n"); printf("7 - sair:\n\n"); printf ("Opcao:\n\n"); scanf("%d",&opc); getchar(); switch (opc){ case 1: cadastra(); break; case 2: knota(); break; case 3: mediana(); break; case 4: listar(); break; case 5: excluir(); break; case 6: exnota(); break; case 7: sair(); break; default: printf("Opcao invalida tente novamente\n\n"); break; system("pause"); menu(); } } ajude na função cadastrar na pilha por favor!!!
  3. não estou conseguindo fazer este exercicio de lista quem puder me ajudar agradeço Implemente um programa em que o usuário digite valores aleatórios numa lista de tamanho igual a 50. Dê a opção do usuário imprimir somente os números ímpares, somente os números pares ou a lista por completo. abç