Ir ao conteúdo
  • Cadastre-se

Liara K

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

posts postados por Liara K

  1. Olá, boa noite, espero que estejam todo bem.

     

    Olha só, estou tentando resolver a questão do vetor, que vai para Struct e depois ele tem que entrar na Função "media_notas", eu não consigo fazer a conexão entre o que é lido e o que é entrada na função.

     

    A ordem do exercício é o seguinte:

    " Implemente uma base de dados (utilizando estruturas) de alunos. Esta devem conter as informações de matrícula, curso, nome do aluno, idade, endereço e notas. Após, implemente um programa que o usuário passe essas informações e calcule a média e retorne a situação do aluno (aprovado ou reprovado), utilizando uma mensagem adequada."

     

    Se alguém puder me ajudar, agradeço muito mesmo.

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <time.h>
    #include <math.h>
    #include <string.h>
    
    #define SIZE 10
    
    typedef struct ALUNO
    {
    	int   matricula;
    	char  curso[40];
    	char  nome_aluno[40];
    	int   idade;
    	char  endereco[50];
    	float notas[SIZE];
    	int   num;
    	float media_geral;
    	
    }ALUNO;
    
    void printar(ALUNO *MATRICULA, ALUNO *CURSO, ALUNO *NOME_ALUNO, ALUNO *IDADE, ALUNO *ENDERECO)
    {
    	setlocale(LC_ALL,"Portuguese");
    	
    	printf("\n Matrícula....: %d \n", MATRICULA->matricula);
    	printf("\n Curso........: %s \n", CURSO->curso);
    	printf("\n Nome.........: %s \n", NOME_ALUNO->nome_aluno);
    	printf("\n Idade........: %i \n", IDADE->idade);
    	printf("\n Endereço.....: %s \n", ENDERECO->endereco);
    }
    
    void media_notas(ALUNO * NOTAS[], ALUNO *N)
    {
    	int i = 0;
    	float soma_notas = 0, nota_media = 0;
    	
    	for(i = 0; i < N->num; i++)
    	{
    		soma_notas = soma_notas + NOTAS[i]->notas[i];
    	}
    		
    	nota_media = soma_notas/ i;
    	
    	printf("\n A média das Notas do Aluno é igual a: %0.2f \n", nota_media);
    	
    	if(nota_media >= 5.00)
    	{
    		printf("\n O aluno está APROVADO! \n");
    	} 
    	
    	else 
    	{
    		printf("\n O aluno está REPROVADO! \n");
    	}
    }
    
    int main()
    {
    	setlocale(LC_ALL,"Portuguese");
    	
    	ALUNO MATRICULA, CURSO;
    	ALUNO NOME_ALUNO;
    	ALUNO IDADE, ENDERECO;
    	ALUNO NOTAS[SIZE], N;
    	ALUNO MEDIA;
    	
    	
    	printf("\n Digite o Número de Matrícula d@ Alun@: ");
    	scanf("%d", &MATRICULA.matricula);
    	
        fflush(stdin);
    	printf("\n Digite seu Curso: ");
    	fgets(CURSO.curso, 39, stdin);
    	
        fflush(stdin);
    	printf("\n Digite seu Nome: ");
    	fgets(NOME_ALUNO.nome_aluno, 39, stdin);
    	
    	printf("\n Digite sua Idade: ");
    	scanf("%d", &IDADE.idade);
    	
        fflush(stdin);	
    	printf("\n Digite seu Endereço: ");
    	fgets(ENDERECO.endereco, 49, stdin);
    	
      
        int i = 0;
        printf("\n Digite o Número de Avaliações Realizadas \n");
        scanf("%i", &N.num);
        
        printf("\n Digite as Notas desse Aluno nas respectivas Avaliações: \n");
        
        for (i = 0; i < N.num; i++)
        {
        	scanf("%f", NOTAS[i].notas[SIZE]);
    	}
    	
    	printar(&MATRICULA, &CURSO, &NOME_ALUNO, &IDADE, &ENDERECO);
    
    	media_notas(&NOTAS &N);
    	
    	printf("\n");
    	system("pause");
    	return 0;	
    }

     

     

  2. Obrigada pelos ajustes, ainda não está calculando certo, mas pelo menos já está compilando:

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <time.h>
    #include <math.h>
    
    typedef struct PTO
    {
        float Ponto1;
        float Ponto2;
    }PTO;
    
    float dist_ptos(PTO *x, PTO *y)
    {
        float dist_ptos = sqrt( pow((x->Ponto2 - x->Ponto1),2) + pow((y->Ponto2 - y->Ponto1),2));
        return dist_ptos;
    }
    
    int main()
    {
        setlocale(LC_ALL,"Portuguese");
        
        PTO X;
        PTO Y;
        
        printf("Digite as coordenadas do Pontos 1:");
        scanf("%f %f", &X.Ponto1 , &Y.Ponto1);
        
        printf("Digite as coordenadas do Ponto 2:");
        scanf("%f %f", &X.Ponto2, &Y.Ponto2);
    
        dist_ptos(&X, &Y);
        
        printf("\n As coordenadas do ponto 1 são: %f %f \n", X.Ponto1, Y.Ponto1);
        printf("\n As coordenadas do ponto 2 são: %f %f \n", X.Ponto2, Y.Ponto2);
        printf("\n A distancia entre os Pontos 1 e 2 é igual a: %f \n", dist_ptos);
    
        system("pause");
        return 0;
    }

     

    • Curtir 1
    • Amei 1
  3. Olá, boa tarde!

    Estou tentando resolver o seguinte exercício:

     

    Implemente uma estrutura que caracterize um ponto (coordenadas x e y). Utilize a estrutura criada para
    ler dois pontos e calcular a distância entre eles.

     

    Não consegui compilar, acho que deu problema na atribuição da variável de entrada na variável da estrutura Struct, tentei um jeito de resolver mas o máximo que consegui foi o script a seguir... a quem puder me ajudar o meu muito obrigada de verdade!!

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <time.h>
    #include <math.h>
    
    typedef struct 
    {
    	float Ponto1;
    	float Ponto2;
    }PTO;
    
    float dist_ptos(PTO*x, PTO*y)
    {
    	float dist_ptos = sqrt(pow((x->Ponto2 - x->Ponto1),2) + pow((y->Ponto2 - y->Ponto1),2));
    	return dist_ptos;
    }
    
    int main()
    {
    	setlocale(LC_ALL,"Portuguese");
    	
    	PTO P1[2]; // x, y
    	PTO P2[2]; // x, y
    	
    	int i = 0;
    	printf("Digite os pontos x, y do Ponto 1:");
    	for (i = 0; i < 2; i++);
    	{
    		scanf("%f", P1[i]);
    	}
    	
    	printf("Digite os pontos x, y do Ponto 2:");
    	for (i = 0; i < 2; i++);
    	{
    		scanf("%f", P2[i]);
    	}
    
        dist_ptos(&P1, &P2);
        
        printf("A distancia entre os Pontos 1 e 2 é igual a: %f", dist_ptos);
    
    	system("pause");
    	return 0;
    }

     

    • Obrigado 1
  4. Olá, boa noite

     

    Estou tentando resolver o seguinte exercício: 

    Escreva um programa para contar o número de ocorrências de uma string s em uma string t.

     

    Não estou conseguindo acertar exatamente a contagem quando executo, dá um valor muito maior:

    Se alguém souber como posso resolver, agradeço desde já.

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <conio.h>
    #include <string.h>
    
    int main()
    {
    	setlocale(LC_ALL,"Portuguese");
    	
    	int i = 0, j = 0, contagem = 0;
    	char Sstring[20];
    	char Tstring[2000];
    	
    	printf("\n Digite uma palavra ou uma frase: ");
    	gets(Sstring);
    	
    	printf("\n Digite um parágrafo: ");
    	gets(Tstring);
    	
    	for (i = 0; Sstring[i] != '\0'; i++)
    	{
    		for (j = 0; Tstring[j] != '\0'; j++)
    		{
    			if (strcmp(Sstring,Tstring))
    			{
    				contagem++;
    			}
    		}
    	}
    	
    	printf(" O número de vezes que a primeira frase aparece no parágrafo é igual a: %i \n", contagem);	
    		
        printf("\n");
    	system("pause");
    	return 0;
    }

     

    • Obrigado 1
  5. Estou fazendo esse exercício: 

    Leia uma matriz A de tamanho (5,5) e calcule a soma dos elementos da diagonal principal. O algoritmo deve escrever A na forma de matriz (linhas e colunas) e o resultado da soma.

     

    Deve ter outra forma de imprimir a matriz no formato original, eu pesquisei mas não achei, se vocês souberem agradeço muito porque pode acontecer de ser uma matriz maior, enfim.

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <time.h>
    #include <math.h>
    
    #define SIZE 5
    
    int main()
    {
        setlocale(LC_ALL,"Portuguese");
        
        int i = 0, j = 0;
        float matriz[SIZE][SIZE], soma = 0;
        
        for (i = 0; i < SIZE; i++)
        {
            for (j = 0; j < SIZE; j++)
            {
            printf("Digite o valor para a linha %i coluna %i da Matriz:", i, j);
            scanf("%f", &matriz[i][j]);
            }
        }    
    
        printf("\n Matriz A = \n");
        printf("\n  %0.2f  %0.2f  %0.2f  %0.2f  %0.2f  \n", matriz[0][0], matriz [0][1], matriz[0][2], matriz [0][3], matriz[0][4]);
        printf("\n  %0.2f  %0.2f  %0.2f  %0.2f  %0.2f  \n", matriz[1][0], matriz [1][1], matriz[1][2], matriz [1][3], matriz[1][4]);
        printf("\n  %0.2f  %0.2f  %0.2f  %0.2f  %0.2f  \n", matriz[2][0], matriz [2][1], matriz[2][2], matriz [2][3], matriz[2][4]);
        printf("\n  %0.2f  %0.2f  %0.2f  %0.2f  %0.2f  \n", matriz[3][0], matriz [3][1], matriz[3][2], matriz [3][3], matriz[3][4]);
        printf("\n  %0.2f  %0.2f  %0.2f  %0.2f  %0.2f  \n", matriz[4][0], matriz [4][1], matriz[4][2], matriz [4][3], matriz[4][4]);
        
        for (i = 0; i < SIZE; i++)
        {
            
            soma = soma + matriz[i][i];
        }
        
        printf(" \n A soma de todos os elementos da Diagonal Principal é igual a: %0.2f", soma);
            
    printf("\n");
    system("pause");
    return 0;
    }

     

    • Curtir 1
  6. @rodoos Oi, olha só, estou fazendo assim e não está fazendo a soma dos números positivos, mas faz a contagem dos negativos, já não sei mais o que alterar

     

        int i = 0, negativos = 0;
        float num[SIZE], soma_positivo = 0;
        
        printf("Digite os 10 números a serem inseridos no vetor: \n");
        
        for (i = 0; i < SIZE; i++)
        {
            scanf("%d", &num[i]);
            
            if (num[i] >= 0.0)
            soma_positivo = soma_positivo + num[i];
            
            else
            negativos++;    
        }

     

     

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!