Ir ao conteúdo

Posts recomendados

Postado

Desenvolver um programa para a matricula de um curso

• Cadastro, exclusão e listagem de alunos

• Cadastro, exclusão e listagem disciplinas

• Busca de aluno e disciplina;

• Matricular aluno em disciplina (cada disciplina suporta até 5 alunos)

• Menu de navegação do programa.

OBS:

Cadastrar no máximo 10 alunos e 4 disciplinas;

Ao buscar aluno ou disciplina, deve apresentar o cadastro;

Cada disciplina suporta até 5 alunos matriculados;

ISSO É O QUE EU PENSEI ATE AGORA, MAS NÃO VEM MAIS NADA EM MENTE E O CÓDIGO TEM ALGUM ERRO QUE NÃO CONSIGO ARRUMAR.

#include<stdio.h>
#include<string.h>
struct aluno {
    int idaluno;
    char nome[60];
    char endereco[30];
    char telefone[10];
    char email[30];
};

int main(void) {
    struct aluno id[tot_clientes];
    int i,j,op,op1,op2;
    int flag,aux,aux1;




    do {
        printf("Escolha a opcao: \n");
        printf("1) Menu Aluno\n2) Menu disciplinas \n3) Locar filme\n4) Devolver filme\n99) Sair\n");
        scanf("%d",&op);

        switch(op){
        case 1:

            printf("Escolha a opcao: \n");
            printf("1) Cadastrar aluno\n2) Excluir aluno\n3) Listar alunos\n 99) Voltar ao menu anterior\n");
            scanf("%d",&op1);

            switch(op1) {
            case 1:
                printf("Fazer cadastro do aluno\n");
                id[cont_id].idaluno = cont_id;
                printf("Nome: ");
                setbuf(stdin,NULL);
                fgets(id[cont_id].nome,60,stdin);
                printf("Endereco: ");
                setbuf(stdin,NULL);
                fgets(id[cont_id].endereco,30,stdin);
                printf("Telefone: ");
                setbuf(stdin,NULL);
                fgets(id[cont_id].telefone,10,stdin);
                printf("E-mail: ");
                setbuf(stdin,NULL);
                fgets(id[cont_id].email,30,stdin);
                for (i=0;i<100;i++) {
                    id[cont_id].histlocacao[i] = 999;
                }
                for (i=0;i<3;i++){
                    id[cont_id].filmesalugados[i] = 999;
                }
                cont_id++;
                printf("Aluno matriculado\n");
                system("pause");
                break;
            case 2:
                printf("Excluir Aluno\n");
                printf("Digide o ID do Aluno: \n");
                scanf("%d",&aux);
                flag = 0;
                for (i=0;i<3;i++) {
                    if (id[aux].filmesalugados[i]!=999) {
                        printf("Filme ID: %d pendente para devolucao.\n",id[aux].filmesalugados[i]);
                        flag = 1;
                    }
                }
                if (flag == 0) {
                    id[aux].idaluno = 999; //clientes com id 999 sao considerados excluidos
                    printf("Aluno desmatriculado\n");

                }
                system("pause");
                break;
            case 3:
                printf("Lista de alunos\n");
                for (i=0;i<cont_id;i++) {
                    if (id[i].idaluno != 999) {
                        printf("ID: %d Nome: ",id[i].idaluno);
                        puts(id[i].nome);
                        for (j=0;j<3;j++){
                            if(id[i].filmesalugados[j]!=999) {
                                printf("   Matriculado - ID: %d Disciplina: ",id[i].filmesalugados[j]);
                                puts(titulo[id[i].filmesalugados[j]].nome);
                            }
                        }
                    }
                }
                system("pause");
                break;
            case 99:
                printf("Sair\n");
                break;
            default:
                printf("Opcao invalida\n");
                system("pause");
                break;
            }
            break;
        case 2:

            printf("Escolha a opcao: \n");
            printf("1) Cadastrar disciplina\n2) Excluir disciplina\n3) Listar disciplina\n 99) Voltar ao menu anterior\n");
            scanf("%d",&op2);

            switch(op2) {
            case 1:
                printf("Fazer cadastro da disciplina\n");
                titulo[cont_filme].idfilme = cont_filme;
                printf("Nome da disciplina: ");
                setbuf(stdin,NULL);
                fgets(titulo[cont_filme].nome,60,stdin);
                printf("Area: ");
                setbuf(stdin,NULL);
                fgets(titulo[cont_filme].categoria,30,stdin);
                printf("Professor: ");
                scanf("%d",&titulo[cont_filme].copias);
                titulo[cont_filme].qtdlocado = 0;
                cont_filme++;
                printf("Disciplina cadastrada \n");
                system("pause");
                break;
            case 2:
                printf("Excluir Disciplina\n");
                printf("Digite o ID do disciplina a ser excluida: ");
                scanf("%d",&aux);
                titulo[aux].idfilme = 999; //filmes excluidos com id 999
                printf("Disciplina excluida.\n");
                system("pause");
                break;
            case 3:
                printf("Lista de Disciplinas \n");
                for (i=0;i<cont_filme;i++) {
                    if (titulo[i].idfilme != 999) {
                        printf("ID: %d Nome: ",titulo[i].idfilme);
                        puts(titulo[i].nome);
                    }
                }
                system("pause");
                break;

            case 99:printf("Locar filme:\n");
                printf("Sair\n");
                break;
            default:
                printf("Opcao invalida\n");
                system("pause");
                break;
            }
            break;
    } while(op!=99);
}

 

  • Curtir 1
Postado

E onde definiu esse tot_clientes ?

adicionado 2 minutos depois

porque começou seu programa por um menu?

 

Comece seu programa pelos dados. Sempre pelos dados. Coloque esse menu depois, e só se o enunciado exigir de fato.

Procure ler de arquivos, é muito mais fácil e seguro. E gravar em arquivos sempre que possível. É mais simples e rápido.

 

 

adicionado 6 minutos depois

porque começou seu programa por um menu?

 

Comece seu programa pelos dados. Sempre pelos dados. Coloque esse menu depois, e só se o enunciado exigir de fato.

Procure ler de arquivos, é muito mais fácil e seguro. E gravar em arquivos sempre que possível. É mais simples e rápido.

 

Esse é um programa de verdade? 

 

Tem cadastros de alunos, disciplinas e locação de filmes no mesmo programa? E onde estão as estruturas?

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!