Ir ao conteúdo
  • Cadastre-se

C Diario eletrônico em C


Visitante

Posts recomendados

(programa utilizado Codeblocks) - Olá, gostaria de pedir ajuda com um programa que desenvolvi, mas que precisa ser modifica pra adicionar a ele struct, função e arquivo.... vou colocar logo abaixo o que precisa ser feito e o programa feito(1 parte).

 

1) Cada opção do menu deve ser implementada como uma função

2) Os dados devem ser armazenados em arquivos

3) Os dados dos alunos devem ser definidos por uma struct

 

 

Desde já obrigado.


 

#include <stdio.h>
#include <stdlib.h>
#define alunos 100
int main(void){
    int qt, i, n, aux, cont;
    char nome[alunos][50];
    float p1[alunos], p2[alunos], t[alunos], nf[alunos], soma, maior, menor, media;
    printf("  Escolha uma Opcao\n");
    printf("\n 1-Definir a quantidade de alunos");
    printf("\n 2-Cadastro de alunos e notas");
    printf("\n 3-Listagem das notas");
    printf("\n 4-Resultado final");
    printf("\n 5-Maior nota da turma");
    printf("\n 6-Menor nota da turma");
    printf("\n 7-Media da turma");
    printf("\n 8-Sair\n");
    do{
        do{
            printf("\n\nOpcao\n\n");
            scanf("%d",&n);
            if(n<1|| n>8){
                printf ("Opcao invalida, digite um numero de 1 a 8.\n");
            }
        } while (n<1 || n>8);
        if(n==1){
            do{
                printf ("Digite a quantidade de alunos: ");
                scanf ("%d", &qt);
                if (qt<0 || qt>100){
                    printf ("Digite um valor entre 0 e 100\n");
                }
            } while (qt<0 || qt>100);
        } else {
            if(n==2){
                for(i=0; i<qt; i++){
                    printf("Nome Aluno %d:\n", i+1);
                    scanf("%s", nome[i]);
                }
                printf("\nInformando as notas dos alunos \n");
                for (i=0; i<qt; i++){
                    printf ("\nAluno %d\n", i+1);
                    do{
                        printf ("Nota p1: ");
                        scanf ("%f", &p1[i]);
                        if (p1[i]<0 || p1[i]>40){
                            printf ("Nota invalida. Digite um valor entre 0 e 40.\n");
                        }
                    }while (p1[i]<0 || p1[i]>40);
                    do{
                        printf ("Nota p2: ");
                        scanf ("%f", &p2[i]);
                        if (p2[i]<0 || p2[i]>40){
                            printf ("Nota invalida. Digite um valor entre 0 e 40.\n");
                        }
                    } while (p2[i]<0 || p2[i]>40);
                    do{
                        printf ("Nota t: ");
                        scanf ("%f", &t[i]);
                        if (t[i]<0 || t[i]>20){
                            printf ("Nota invalida. Digite um valor entre 0 e 20.\n");
                        }
                    } while (t[i]<0 || t[i]>20);
                }
            } else{
                if(n==3){
                    printf("--lista dos alunos e suas notas--");
                    for (i=0; i<qt; i++){
                        printf("\n %s - %.2f %.2f %.2f", nome[i], p1[i], p2[i], t[i]);
                    }
                } else{
                    if(n==4){
                        for(i=0; i<qt; i++){
                            nf[i]=p1[i]+p2[i]+t[i];
                            if(nf[i]>=60){
                                printf("%s -- aprovado | %f\n", nome[i], nf[i]);
                            }
                        }
                        for(i=0; i<qt; i++){
                            nf[i]=p1[i]+p2[i]+t[i];
                            if(nf[i]<60){
                                printf("%s -- reprovado | %f\n", nome[i], nf[i]);
                            }
                        }
                    } else {
                        if(n==5){
                            aux = nf[0];
                            cont=0;
                            for(i=0; i<qt; i++){
                                if(aux<nf[i]){
                                    cont=i;
                                    aux=nf[i];
                                }
                            }
                            printf("\n\nO aluno %s obteve maior nota de %.2f pontos\n",nome[cont],nf[cont]);
                        } else {
                            if(n==6){
                                aux = nf[0];
                                cont=0;
                                for(i=0; i<qt; i++){
                                    if(aux>nf[i]){
                                        cont=i;
                                        aux=nf[i];
                                    }
                                }
                                printf("\n\nO aluno %s obteve menor nota de %.2f pontos\n",nome[cont],nf[cont]);
                            } else {
                                if (n==7){
                                    for(i=0; i<qt; i++){
                                        soma=soma+nf[i];
                                        media=soma/qt;
                                    }
                                    printf("A media da turma foi de %.2f\n", media);
                                }
                            }
                        }
                    }
                }
            }
        }
    }while(n!=8);
    return EXIT_SUCCESS;
}

 

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, vangodp disse:

você ja estudou tudo isso? Em que parte você precisa ajuda?

Ja estudei, tenho dificuldade para utilizar a função e struct... tentei fazer de varias formas, mas todas davam erro. Todos os jeitos que eu tento fazer, aparece algo de errado. Se puder fazer para mim essas partes, me ajudaria bastante a entender e como fazer programas futuros.

 

Obrigado!!

Link para o comentário
Compartilhar em outros sites

16 horas atrás, gamerdragon disse:

Ja estudei, tenho dificuldade para utilizar a função e struct... tentei fazer de varias formas, mas todas davam erro. Todos os jeitos que eu tento fazer, aparece algo de errado. Se puder fazer para mim essas partes, me ajudaria bastante a entender e como fazer programas futuros.

É assim mesmo, é importante que você tente resolver por si só, aconselho a assistir algumas aulas do link abaixo, as aulas 35~38: https://programacaodescomplicada.wordpress.com/indice/linguagem-c/

 

Quando fizer uma tentativa de resolução, poste o código e o erro aqui que a gente ajuda.

Link para o comentário
Compartilhar em outros sites

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