Ir para conteúdo
Fórum Script Brasil

luan_bfr

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Posts postados por 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!!!

×
×
  • Criar Novo...