Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

btmvdr

Como coloco o que tá no case numa função void?

Recommended Posts

Fiz esse código mas tenho que colocar o que está no case em uma função void, como faço isso?

 

#include<stdio.h>
#include<stdlib.h>
struct cadastro
{
    char nome[50];
    char rua[50];
    char numero[14];
    char bairro[30];
    char cidade[20];
    char uf[3];
    char telefone[14];
    char email[30];
};


int main()
{
    struct cadastro aux[50];
    FILE *ponteiroArquivo;
    int menu;
    int cont = 0;
    int op;
    int i;

    do
    {
        printf("\n\n");
        
        printf("       Cadastro de alunos:         \n");
        
        printf("  1 - Cadastrar Aluno.             \n");
        printf("  2 - Exibir lista de alunos.      \n");
        printf("  3 - Sair                         \n");
        
        printf("\n\n");
        scanf("%d",&menu);


        switch(menu)
        {

        case 1:

            for(i=0; i<50; i++)
            {
                printf("\n");
                
                printf("  1 - Inserir Aluno                \n");
                printf("  2 - Voltar ao menu               \n");
                
                printf("\n\n");
                scanf("%d",&op);
                if(op == 2)
                {
                    break;
                }

                if(op == 1)
                {


                    printf("Inserir aluno, foi selecionado.\n");
                    ponteiroArquivo=(fopen("arquivo.txt","a")); // "a"  - cria um arquivo novo, ou modifica um ja existente.

                    if(ponteiroArquivo == NULL)
                    {
                        printf("Nao foi possivel abrir o arquivo\n");
                        break;
                    }
                    printf("Digite seu nome: ");
                    scanf("%s",&aux[i].nome);
                    fflush(stdin);

                    printf("Email: ");
                    scanf("%s",&aux[i].email);
                    fflush(stdin);

                    printf("Telefone: ");
                    scanf ("%s",&aux[i].telefone);
                    fflush(stdin);

                    printf("Rua: ");
                    scanf("%s",&aux[i].rua);
                    fflush(stdin);

                    printf("Numero: ");
                    scanf("%s",&aux[i].numero);
                    fflush(stdin);

                    printf("Bairro: ");
                    scanf("%s",&aux[i].bairro);
                    fflush(stdin);

                    printf("Cidade: ");
                    scanf("%s",&aux[i].cidade);
                    fflush(stdin);

                    printf("UF: ");
                    scanf("%s",&aux[i].uf);
                    fflush(stdin);
                    cont++;


                    //grava os dados no arquivo com fprintf
                    fprintf(ponteiroArquivo,"\nMatricula: %d",cont);
                    fprintf(ponteiroArquivo,"\nNome: %s",aux[i].nome);
                    fprintf(ponteiroArquivo,"\nEmail: %s",aux[i].email);
                    fprintf(ponteiroArquivo,"\nTelefone: %s",aux[i].telefone);
                    fprintf(ponteiroArquivo,"\nRua: %s",aux[i].rua);
                    fprintf(ponteiroArquivo,"\nNumero: %s",aux[i].numero);
                    fprintf(ponteiroArquivo,"\nBairro: %s",aux[i].bairro);
                    fprintf(ponteiroArquivo,"\nCidade: %s",aux[i].cidade);
                    fprintf(ponteiroArquivo,"\nUF: %s\n",aux[i].uf);



                    fclose(ponteiroArquivo);//fecha o arquivo


                }
            }


            break;
        case 2:

            printf("Exibir lista de alunos, foi selecionado.\n");
            char frase[1000];

            ponteiroArquivo = (fopen("arquivo.txt","r"));
            if(ponteiroArquivo == NULL)
            {
                printf("Nao foi possivel abrir o arquivo\n");
                break;
            }

            while(fgets(frase, 1000, ponteiroArquivo)!= NULL) //vai imprimir o que estiver no arquivo, enquanto não for nulo.
            {
                printf("%s",frase);
            }

            break;


        case 3:
            printf("Sair, foi selecionado.\n");
            exit(0);
            break;
        }


    }
    while(menu != 4);

    getch();
    return 0;


}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma função que tenha como parâmetro um número inteiro (que será correspondente a cada case: 1, 2 e 3).

Depois, chame a função passando como argumento o número inteiro vindo do menu.

 

Recomendo leitura: http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.