Ir ao conteúdo
  • Cadastre-se

Programa Aluno


estudante

Posts recomendados

Preciso de ajuda, consegui fazer o programa até aqui, mas não sei continuar, alguém pode me ajudar ?

Ele tem que conter:

Incluir aluno

a. Solicita a matrícula do aluno;

b. Não aceita matrículas repetidas;

c. Solicita os demais dados do aluno;

d. Confirma se o usuário quer incluir ou cancelar;

e. Soma um no total de alunos

f. Pergunta se o usuário quer adiconar outro aluno ou voltar para o menu;

Excluir aluno

a. Solicita a matrícula do aluno;

b. Dá uma mensagem de erro caso a matrícula não esteja cadastrada;

c. Apresenta dados do aluno;

d. Confirma se o usuário quer excluir ou cancelar;

e. Exclui o aluno caso o usuário confirme;

f. Diminui um no total de alunos;

g. Pergunta se o usuário quer excluir outro aluno ou voltar para o menu;

Listar alunos

a. Apresenta um relatório ordenado por média (do menor para o maior)

b. Aguarda o usuário pressionar uma tecla para ir para a próxima página

c. Após a última página volta para o menu

Observações:

a) A estrutura para armazenar os alunos deve ser uma struct

b ) A coleção de alunos deve ser armazenado em um array de no máximo 100 alunos

c) O sistema deve controlar para não passar do número máximo (100)

d) Usar gotoxy - e tabela ASCII


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

#define SAIR 5
#define TAMANHO 100
#define CARACTERES_NO_NOME 30
#define TURMA_VAZIA 0

#define TRUE 1
#define FALSE 0

typedef struct alunos {
    int matricula;
    char nome[CARACTERES_NO_NOME];
    float nota1, nota2, media;
    int excluido;
} aluno;

void remove_newline_ch(char *line){
    int new_line = strlen(line) -1;
    if (line[new_line] == '\n')
        line[new_line] = '\0';
}
aluno atual[TAMANHO];

int main(){
    int i, excluir;
    int opcao,
        quantidadeDeAlunosNaTurma = 0,
        quantidadeUsada = TURMA_VAZIA;

    aluno turma[TAMANHO];

    printf("\t\t\t**********************\n");
    printf("\t\t\t CONFIGURAR O SISTEMA\n");
    printf("\t\t\t**********************\n");
    printf("Digite a quantidade de alunos na turma ");
    scanf("%d", &quantidadeDeAlunosNaTurma);
    printf("\t\t\t**********************\n");

    while (opcao != SAIR) {
        aluno atual;
        system("cls");
        printf("\t**********************************************************\n");
        if (quantidadeUsada == TURMA_VAZIA) {
            printf("\t\t\t\A turma esta vazia\n");
        }
        if (quantidadeUsada == TAMANHO) {
            printf("\t\t\t\A turma esta lotada\n");
        }
        if (quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA) {
            printf("\t\t\t\A turma esta com %d alunos\n", quantidadeUsada);
        }

        printf("\t\**********************************************************\n\n");

        printf("\t\t\t********************\n");
        printf("\t\t\t\tMENU\n");
        printf("\t\t\t********************\n");
        printf("\t\t\t 1-Incluir aluno\n\n");
        printf("\t\t\t 2-Excluir aluno\n\n");
        printf("\t\t\t 3-Listar alunos \n\n");
        printf("\t\t\t 4-Lançar notas\n\n");
        printf("\t\t\t 5-Sair\n");
        printf("\t\t\t**********************\n");
        scanf("%d", &opcao);
        fflush(stdin);
        
            if (opcao == 1) {
            int continuar = TRUE;

            while (continuar == TRUE && quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) {
                system("cls");
                printf("\nDigite um nome\n  ");
                fgets(atual.nome, 30, stdin);
                fflush(stdin);
                // Solicitar os demais dados do aluno
                printf("\nDigite sua matricula\n  ");
                scanf("%d", &atual.matricula);
                fflush(stdin);
                // Colocar o if perguntando se o usuário realmente deseja incluir
                printf("\nDeseja realmente Incluir? S/N");
                char resp;
                scanf("%c", &resp);
                fflush(stdin);
                if (resp == 'S' || resp == 's') {
                    remove_newline_ch(atual.nome);
                    turma[quantidadeUsada] = atual;
                    printf("\nInclusao feita com sucesso\n");
                    quantidadeUsada++;

                    turma[quantidadeUsada] = atual;
                    // Perguntar para o usuário se ele deseja incluir mais alunos na turma
                }
                else {
                    if (resp == 'N' || resp == 'n') {
                        printf("Inclusao cancelada!\n");
                    }
                }

                printf("\nDeseja Incluir mais alunos na turma ?");
                scanf("%c", &resp);
                fflush(stdin);
                if (resp == 'N' || resp == 'n') {
                    continuar = FALSE;
                }
            }
            }
        
            if (opcao == 2) {
                system("cls");
                printf("Qual o matricula do aluno q você deseja excluir?\n");
                scanf("%d",&atual.matricula);
                int cont;
                for (cont = 0; cont < quantidadeUsada; cont++) {
                    if (atual.matricula = turma[quantidadeUsada].matricula) { // encontrou o aluno
                        printf("\nNome: %s",turma[quantidadeUsada].nome);
                        printf("\nMatricula: %d",turma[quantidadeUsada].matricula);
                        //nao vai perguntar se deseja excluir?
                           printf("\nDeseja realmente Excluir ? S/N");
                           char resp;
                            scanf("%c",&resp);
                           fflush(stdin);
                        // nao vai excluir ?
                         getch();
                          if (resp == 'S' || resp == 's') {
                           turma[quantidadeUsada] = atual;
                           printf("\nExclusao feita com sucesso\n");
                           
                           quantidadeUsada--;

                            turma[quantidadeUsada] = atual;
                        }
                        else {
                        if (resp == 'N' || resp == 'n') {
                        printf("Exclusao cancelada!\n");
                            }
                    }
                }
            }
            }
    
            if (opcao == 3) {
                    system("cls");
                    printf("\nAluno");
                    printf("-------------------------------");
                    printf("Matricula");
                    printf("---------------------------------\n\n");

                    int linhas = 1;
                    for (i = 0; i < quantidadeUsada; i++) {
                        if (turma.excluido != 1) {
                            printf("%s",turma.nome);
                            printf("\t\t\t\t\t%d\n",turma.matricula);
                            linhas++;
                        }
                        if (linhas % 10 == 0) { // Imprimiu 10 linhas
                            //  Limpa a tela depois de esperar para imprimir uma nova pagina do relatorio...
                            getch();
                            system("cls");
                                  printf("\nAluno");
                               printf("----------------------");
                            printf("Matricula");
                            printf("---------------------------------\n\n");
                            linhas = 1;
                        }
                    }
                    printf("\n\nListagem impressa...");
                    getch();
            }
                if (opcao == 4) {
                    system("cls");
                    printf("Digite sua matricula para podemos lançar a nota");
                    scanf("%d", &atual.matricula);
                    printf("Digite sua nota ");
                    scanf("%d", &atual.nota1);
                    printf("Digite sua nota ");
                    scanf("%d", &atual.nota2);
                }
            }
        }


obs : a opção 2  não esta dando certo e a 4 ainda não sei como fazer, preciso de um help

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Para postar códigos no fórum sempre use a tag CODE apertando o botão <> no topo do campo de respostas, assim você preserva a formatação do código e evita que o fórum faça alterações nele.

Por exemplo, o fórum "comeu" todos os [ i ] (sem espaços) do seu código, pois no fórum isso é a tag para deixar o texto em itálico, então o texto do seu código está em itálico a partir do primeiro que foi encontrado (os demais apenas somem porque o texto já tá em itálico).

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!