Ir ao conteúdo
  • Cadastre-se
Eduardo_Braz

C Resolução de um Exercício em C

Posts recomendados

A disciplina de Introdução à Programação possui oito provas, cinco listas de exercícios e uma nota de trabalho final. Para que um aluno seja aprovado por nota na disciplina, ele deve obter uma nota final maior ou igual a seis. A nota final é computada pela seguinte fórmula:

 

NF = 0.7 · MP+0.15 ·ML+0.15 ·NT

 

Onde MP é a média aritmética das notas de prova, ML é a média aritmética das notas das cinco listas e NT é a nota do trabalho final. Para ser aprovado na disciplina o aluno deve ter presença igual a ou superior a 75% da carga horária da disciplina que no caso de Introdução à Programação é 128 horas. Escreva um programa para ler as notas de cada aluno de uma turma, computar a nota final do aluno e imprimir a nota final e uma indicação da situação final do aluno. Essa indicação pode ser uma das seguintes alternativas:

 

• Aprovado - se o aluno teve NF ≥ 6 e presença superior à quantidade de horas mínima.

• Reprovado por nota - se o aluno teve a presença minima, mas sua nota NF não é suficiente para ser aprovado.

• Reprovado por frequência insuficiente - o aluno obteve nota NF superior ou igual a seis mas sua presença às aulas não foi suficiente para ser aprovado.

• Reprovado por frequência e por nota - o aluno não alcançou o valor mínimo de NF e também não tem frequência mínima para aprovação.

 

Observação Utilize apenas o tipo double para armazenar valores reais.

 

Entrada: A entrada contém várias linhas, cada uma contendo os dados de um aluno separados entre si por um espaço. O primeiro valor em uma linha corresponde à matrícula do aluno (um valor inteiro sem sinal). Os próximos oito valores seguintes correspondem às notas das oito provas. Os seguintes cinco valores correspondem às notas obtidas nas listas de exercícios. O penúltimo valor corresponde a nota do trabalho final e o último valor em uma linha corresponde à presença do aluno. A última linha da entrada contém todos os valores iguais a −1 essa linha serve apenas para indicar o fim da entrada e não deve ser processada.

 

Saída: O programa deve gerar uma linha para cada aluno contendo a seguinte frase: “Matricula: m, Nota Final: n, Situação Final: s”. O valor de m corresponde à matricula de um aluno, o valor de n corresponde ao valor da nota final (NF) do aluno e s é uma das seguintes frases correspondendo à situação final do aluno:

 

• APROVADO

• REPROVADO POR FREQUENCIA

• REPROVADO POR NOTA

• REPROVADO POR NOTA E POR FREQUENCIA

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @Eduardo_Braz

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim mais não consigo entender o Flag @Leonardo0308

 

#include <stdio.h>

 

int main(){

    int matricula, faltas;

    double prova1, prova2, prova3, prova4, prova5, prova6, prova7, prova8;

    int lista1, lista2, lista3, lista4, lista5, trabalhoFinal;

    double NF, MP, ML,NT;

 

    } while (matricula == -1);{

        scanf("%d %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %d", &matricula, &prova1, &prova2, &prova3, &prova4, &lista1, &lista2, &lista3, &lista4, &lista5, &trabalhoFinal, &faltas);

 

        MP = (prova1 + prova2 + prova3 + prova4) / 4;

        ML = (lista1 + lista2 + lista3 + lista4 + lista5) / 5;

        NT = trabalhoFinal;

 

        NF = (0.7 * MP) + (0.15 * ML) + (0.15 * NT);

    }

 

    printf("%.2lf", NF);

        

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 minutos atrás, Eduardo_Braz disse:

Eu fiz assim mais não consigo entender o Flag

 

Não consegue entender o que?

 

E cara esse seu código não faz o menor sentido. Esse exercício que você colocou, pelo formato, parece aqueles desafios da olimpíada de programação. Não seria melhor você começar a programar algo mais simples?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Leonardo0308 O flag para finalizar o programa escrever n valores assim que eu escrever -1 ele para de rodar e imprimi os resultados na tela

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, Eduardo_Braz disse:

O flag para finalizar o programa escrever n valores assim que eu escrever -1 ele para de rodar e imprimi os resultados na tela

 

Ah, bem, ainda vale o que eu escrevi acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é estou dois dias tentando resolver isso mais nada 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta começar pelo básico, como pegar a idade de uma pessoa e depois imprimir na tela.

 

Depois tenta descobrir se ela é maior de 18 anos com if e else.

 

Depois tenta pegar a idade de varias pessoas e mostrar se elas são maior de idade com while.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay vou fazer aqui

adicionado 17 minutos depois

 

#include <stdio.h>

 

int main(){

    int idade;

 

    scanf("%d", &idade);

 

    printf("%d", idade);

 

    return 0;

}

adicionado 20 minutos depois

2º 

 

#include <stdio.h>

 

int main(){

    int idade;

 

    scanf("%d", &idade);

 

    if (idade >= 18)

    {

        printf("Maior que 18 anos.");

    }

    else

    {

        printf("Menor que 18 anos.")

    }

 

    return 0;

}

adicionado 33 minutos depois

 

#include <stdio.h>

 

int main(){

    int idade, cont, maior;

 

    printf("Quantas idades a serem processadas: ")

    scanf("%d", &cont);

 

    while (cont --)

    {

        printf("Informe as idades: ");

        scanf("%d", &idade);

    if (idade >=18) {

           maior++;

    }

    }

    

    printf("Pessoas que possui mais que 18 anos sao: %d", maior);

}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode mostrar um exemplo do que está tentando fazer com o vetor?

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Leonardo0308

 

Fiz esse

 

Faça um programa que receba um vetor V com N números inteiros e posteriormente receba M números e verifique se eles estão ou não no vetor.

 

Entrada O programa terá apenas um caso de teste. Na primeira linha do caso de teste há um número inteiro N, 1 ≤ N ≤ 100000, representando o tamanho do vetor V. Na linha seguinte haverá N números inteiros separados por um espaço em branco, que são nos N valores do vetor V. Na terceira linha será informado um número inteiro M, 1 ≤ M ≤ 1000, representando a quantidade de buscas que serão efetuadas no vetor. Logo em seguida haverá M linhas, cada uma com um número inteiro que deve ser buscado no vetor V.

 

Saída Seu programa gera M linhas de saída. Cada uma com o resultado da Busca dos M números inteiros no vetor V. Quando o valor estiver no vetor V escreva “ACHEI”, quando não estiver escreva “NAO ACHEI”, com todas as letras maiúsculas e sem acentos. Ao final quebre uma linha.

 

Exemplo

 

Entrada

10 9 0 1 3 8 2 7 4 6 5 4 1 23 4 7

 

Saída:

ACHEI

NAO ACHEI

ACHEI

ACHEI

 

#include <stdio.h>

 

int main(){

//Declaração das variáveis

int vetor[100000];

int n, m, consulta, i, j, achei;

 

//Entrada

scanf("%d", &n);

 

//Repitidor

for(i = 0; i < n; i++){

scanf("%d", &vetor);

}

 

scanf("%d", &m);

 

for(i = 0; i < m; i++){

scanf("%d", &consulta);

achei = 0;

for (j = 0; j < n; j++)

{

if (consulta == vetor[j])

{

achei = 1;

j = n;

}

}

if (achei)

{

printf("ACHEI\n");

}

else

{

printf("NAO ACHEI\n");

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! resolveu o exercicio?

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@arfneto Depois de mais semanas conseguir 

adicionado 15 minutos depois

@arfneto To com um problema se vós pudesse olhar onde estou errando agradeço demais segui o link do post

 

https://www.clubedohardware.com.br/forums/topic/1406250-execício-em-c-josé/?tab=comments#comment-7611925

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...