Ir ao conteúdo
  • Cadastre-se

juh.monteiroo

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por juh.monteiroo

  1. 59 minutos atrás, arfneto disse:

    @juh.monteiroo Não faça isso. reinstalar não vai mudar nada. E não vai aprender nada. Apenas aprenda a configurar. 

     

    Esse é um ambiente muito ruim, esse IDE. Um dos piores. Uma pena que seu curso adote isso. De todo modo a opção de que precisa é trivial. Apenas use -std=c17 nas opções do compilador. 

     

    E aproveite e marque a opção -Wall para mostrar mais mensagens de erro

     

    image.png.3996f405dd82e061e2d033d2b312d247.png

     

    Não parece complicado. Está no menu. Instalei pra ver.

     

     

     

    image.png.5c6c08bbe6a8999e135fb50f564492d0.png

     

    Pois é....

     

    -Wall -std=c11 ou c17 se seu compilador não for tambem muito antigo

    Realmente esse Dev c++ é muito ruim. Consegui fazer essa configuração que passou e o programa que o arfineto mandou, rodou certinho. Muito obrigada
    Vou tentar fazer as modificações para o que o professor pediu.

    Preciso fazer com que o programa receba o nome e as notas externas, calcule a media e grave em txt.

  2. 21 minutos atrás, arfneto disse:

    Pois é. Deve imaginar que não tem nada errado no que eu escrevi, já que eu postei também a saída do programa.

     

    Leu as mensagens de erro? 

     

    Seu ambiente está mal configurado e está usando uma versão da linguagem de décadas atrás. Que usa para compilar? Use ao menos a opção c17. Está usando a versão de C de '89 e naquela época já não se usava assim.

     

    Usa um IDE?

     

     

     

     

     

    Compilo pelo DEV C++, que foi o que o professor indicou para estudar.

    Realmente deve ter algo de errado, porque tudo o que rodo nele da algum tipo de erro.

    Mesmo os códigos que já foram rodados em sala de aula com o professor, tento rodar nele e sempre da algum erro.

    Vou ver se desinstalo, e instalo novamente pra ver se resolve isso.

  3. 1 hora atrás, arfneto disse:

     

    J. , seu curso adota um livro? Tem alguma apostila? Aprendeu algo sobre tipos de dados por exemplo?

     

    Exemplo

     

    Esse programa calcula uma média de 5 notas e grava 4 vezes no arquivo. Serve pra ver como construir. Rode em sua maquina.

     

    #include <stdio.h>
    
    int main(void)
    {
        const char* aluno = "Clube do Hardware";
        const double nota[] = { 6., 4., 8., 9.5, 10. };
    
        double soma = 0.;
        int    qtd  = sizeof(nota) / sizeof(nota[0]);
        for (int i = 0; i < qtd; i += 1) soma = soma + nota[i];
    
        printf("Aluno: %s\n\tNotas: ", aluno);
        for (int i = 0; i < qtd; i += 1)
            printf("%4.2f ", nota[i]);
        printf("\n\tMedia: %4.2f", soma / qtd);
    
        // grava isso 4x no arquivo
        const char* arquivo = "Nota.txt";
    
        FILE* fp = fopen(arquivo, "w");
        if (fp == NULL)
        {
            printf("Erro ao tentar abrir o arquivo.");
            return -1;
        }
    
    
        for (int i = 0; i < 4; i += 1)
        {
            fprintf( fp, "Aluno: %s\n\tNotas: ", aluno);
            for (int i = 0; i < qtd; i += 1)
                fprintf( fp, "%4.2f ", nota[i]);
            fprintf(fp, "\n\tMedia: %4.2f\n\n", soma / qtd);
        }
    
        fclose(fp);
        return 0;
    }

     

    Eis o arquivo gerado

     

    Aluno: Clube do Hardware
    	Notas: 6.00 4.00 8.00 9.50 10.00 
    	Media: 7.50
    
    Aluno: Clube do Hardware
    	Notas: 6.00 4.00 8.00 9.50 10.00 
    	Media: 7.50
    
    Aluno: Clube do Hardware
    	Notas: 6.00 4.00 8.00 9.50 10.00 
    	Media: 7.50
    
    Aluno: Clube do Hardware
    	Notas: 6.00 4.00 8.00 9.50 10.00 
    	Media: 7.50
    

     

    É uma maneira comum de fazer essas coisas.

     

     

     

     

     

     

     

     

    O professor ministra as aulas baseando-se em slides. ele ainda não passou tipos de dados, pelo menos não com essa nomenclatura.. rsrs.
    Fazia Engenharia civil, e mudei de curso para Ciencia da computação. E me encontro bem perdida nas materias.
    E pelo pouco que já vi por aqui, muita coisa que estou prendendo nem se usa mais.
    Vou precisar buscar livros para me aprofundar mais .

     

    Tentei rodar seu programa, mas esta dando erro

    erros .jpg

  4. 22 minutos atrás, arfneto disse:

    @juh.monteiroo Seu programa não está bom ainda. Vai ter trabalho para concluir desse modo.

     

     

    Qual a razão desse ';' perdido depois do for e antes das chaves? 

     

    Ele vai encerrar o comando.

     

    Não use gets(). Não existe mais há décadas. Seu compilador não reclamou?

     

    Não use system() nunca. Para nada.

     

    Declare as variáveis de controle do loop DENTRO do loop ou no comando

        FILE* fp;
        char  aluno[50];
        char  nota1[10];
        char  nota2[10];
        char  media[10];
        int   i, j, k, l;
        int   tamanho;

        fp = fopen("Nota.txt", "w");
     

        FILE* fp;
        char  aluno[50];
        char  nota1[10];
        char  nota2[10];
        char  media[10];
        int   i, j, k, l;
        int   tamanho;
    
        fp = fopen("Nota.txt", "w");

     

    Evite escrever assim. Entre a primeira e a última linha muita coisa pode acontecer e pode estar criando um hábito ruim. 
     

    Prefira o simples
     

        FILE* fp = fopen("Nota.txt", "w");

     

        char  media[10];

     

    10 letrinhas não deve ser o que pretende para guardar uma média. 

     

    Prefira 

     

    	double media = 0.;

     

    int main(void)
    {
        FILE* fp;
        char  aluno[50];
        char  nota1[10];
        char  nota2[10];
        char  media[10];
        int   i, j, k, l;
        int   tamanho;

     

    Essas variáveis com esses nomes ingênuos i j k l são então globais a main(). Péssima ideia. Não use isso.

    Não declare mais de uma variável por linha: é grátis. Não ajuda em nada ter que ficar procurando por elas.

    Inicialize TODAS as variáveis. Use nomes mais significativos.

        FILE* fp = fopen("Nota.txt", "w");
        if (fp == NULL)
        {
            printf("Erro ao tentar abrir o arquivo.");
            exit(1);
        }

     

    exit() em main pouco acrescenta: um return vai encerrar seu programa igualzinho. main() é, bem, main. 

    Muitos erros, rsrsrs.
    Vou tentar fazer as modificações que falou.
    Até aqui estou seguindo o que foi passado na faculdade, não estou tendo muitas opções pelo material que o professor passou. 
    Vou refazer o codigo. Obrigada

  5. @Lucca Rodrigues tentei o fprintf, mas estava dando erro. Então modifiquei o codigo. Mas agora não sei como faço para calcular a media

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

    int main (void)
    {
        FILE *fp;
        char aluno[50];
        char nota1[10];
        char nota2[10];
        char media[10];
        int i, j, k, l;
        int tamanho;
        
        fp = fopen ("Nota.txt", "w");
        if ( fp == NULL)
        {
            printf ("Erro ao tentar abrir o arquivo.");
            exit(1);
        }
        
        fprintf (fp, "Nome do aluno: ");
        printf ("Nome do Aluno: ");
        gets(aluno);
        
        //verificando a quantidade de caracteres da string frase
        tamanho = strlen(aluno);
        
        //gravando caractere por caractere
        for(i=0; i < tamanho; i++)
        {
            fputc (aluno[i], fp);
        }
            fprintf (fp, "\nNota Av1: ");
            printf ("Nota AV1: ");
            gets(nota1);
            
            
        //verificando a quantidade de caracteres da string frase
        tamanho = strlen(nota1);
        
        //gravando caractere por caractere
        for(j=0; j < tamanho; j++)
        {
            fputc (nota1[j], fp);
        }
        
            fprintf (fp, "\nNota Av2: ");
            printf ("Nota AV2: ");
            gets(nota2);
            
        
        //verificando a quantidade de caracteres da string frase
        tamanho = strlen(nota2);
        
        //gravando caractere por caractere
        for(k=0; k < tamanho; k++)
        {
            fputc (nota2[k], fp);
        }
        
            
        //verificando a quantidade de caracteres da string frase
        tamanho = strlen(media);

        for(l = 0; l< tamanho; l ++);

        {
            fputc (media[l], fp);
        }
            fprintf (fp, "\nMedia do aluno: ");
            printf ("Media do aluno: ");
            gets(media);
            
            
            
        
        fclose(fp);
        system("pause");
        return 0;
    }
     

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main (void)
    {
    	FILE *fp;
    	char aluno[50];
    	char nota1[10];
    	char nota2[10];
    	char media[10];
    	int i, j, k, l;
    	int tamanho;
    	
    	fp = fopen ("Nota.txt", "w");
    	if ( fp == NULL)
    	{
    		printf ("Erro ao tentar abrir o arquivo.");
    		exit(1);
    	}
    	
    	fprintf (fp, "Nome do aluno: ");
    	printf ("Nome do Aluno: ");
    	gets(aluno);
    	
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(aluno);
    	
    	//gravando caractere por caractere
    	for(i=0; i < tamanho; i++)
    	{
    		fputc (aluno[i], fp);
    	}
    		fprintf (fp, "\nNota Av1: ");
    		printf ("Nota AV1: ");
    		gets(nota1);
    		
    		
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(nota1);
    	
    	//gravando caractere por caractere
    	for(j=0; j < tamanho; j++)
    	{
    		fputc (nota1[j], fp);
    	}
    	
    		fprintf (fp, "\nNota Av2: ");
    		printf ("Nota AV2: ");
    		gets(nota2);
    		
    	
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(nota2);
    	
    	//gravando caractere por caractere
    	for(k=0; k < tamanho; k++)
    	{
    		fputc (nota2[k], fp);
    	}
    	
    		
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(media);
    
    	for(l = 0; l< tamanho; l ++);
    
    	{
    		fputc (media[l], fp);
    	}
    		fprintf (fp, "\nMedia do aluno: ");
    		printf ("Media do aluno: ");
    		gets(media);
    		
    		
    		
    	
    	fclose(fp);
    	system("pause");
    	return 0;
    }

    Meu txt agora mostra o nome do aluno e as notas, mas a media fica em branco.

    jpg media.jpg

  6. Preciso de ajuda para finalizar meu codigo.
    Professor pediu para fazer um codigo para solicitar o nome do aluno, a nota das provas , calcular a media e salvar tudo em um arquivo externo em txt.

    Não sei que argumento usar para calcular a media. já tentei o for, float, int, if-else, mas todos dão erro.
    Alguém pode me socorrer. 

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main (void)
    {
    	FILE *fp;
    	char aluno[50];
    	char nota1[10];
    	char nota2[10];
    	char media[10];
    	int i, j, k, l;
    	int tamanho;
    	
    	fp = fopen ("Nota.txt", "w");
    	if ( fp == NULL)
    	{
    		printf ("Erro ao tentar abrir o arquivo.");
    		exit(1);
    	}
    	
    	fprintf (fp, "Nome do aluno: ");
    	printf ("Nome do Aluno: ");
    	gets(aluno);
    	
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(aluno);
    	
    	//gravando caractere por caractere
    	for(i=0; i < tamanho; i++)
    	{
    		fputc (aluno[i], fp);
    	}
    		fprintf (fp, "\nNota Av1: ");
    		printf ("Nota AV1: ");
    		gets(nota1);
    		
    		
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(nota1);
    	
    	//gravando caractere por caractere
    	for(j=0; j < tamanho; j++)
    	{
    		fputc (nota1[j], fp);
    	}
    	
    		fprintf (fp, "\nNota Av2: ");
    		printf ("Nota AV2: ");
    		gets(nota2);
    		
    	
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(nota2);
    	
    	//gravando caractere por caractere
    	for(k=0; k < tamanho; k++)
    	{
    		fputc (nota2[k], fp);
    	}
    	
    		
    	//verificando a quantidade de caracteres da string frase
    	tamanho = strlen(media);
    
    	for(l = 0; l< tamanho; l ++);
    
    	{
    		fputc (media[l], fp);
    	}
    		fprintf (fp, "\nMedia do aluno: ");
    		printf ("Media do aluno: ");
    		gets(media);
    		
    		// como faço para calcular a media?
    		
    	
    	fclose(fp);
    	system("pause");
    	return 0;
    }

    Não sei como calcular a media.

  7. Sou iniciante em C e não consigo encontrar onde estou errando.

    Professor pediu para Construir um programa que solicite o nome do aluno, as notas, calcule a media e salve em um arquivo txt externo.

    #include<stdio.h>
    #include<stdlib.h>
    
    int main(void)
    {
    	FILE*fp;
    	fp = fopen("media.txt", "W");
    	if (fp == NULL)
    	
    {
      	// Nome do aluno
    	char string [50];
    	printf ("Nome do aluno: ");
    	fgets(string, 50, stdin);
    	
    }
      //Declaração das variáveis
      float nota1, nota2, media;
      
      //Entrada de dados
      printf("Nota da Av1: ");
      scanf("%f",&nota1);
      
      printf("Nota da Av2: ");
      scanf("%f",&nota2);
      
      //Processamento
      media = (nota1 + nota2) / 2;
      
      //Saída
      printf("Media do aluno = %.1f\n",media);
      
      // comparar a nota para dizer se aprovado ou não
      {
      if(media>=6){
      	printf("Aprovado\n\n");
      }else{
      	printf("Reprovado\n\n");
      }
    }
      
      system("pause");//pausa da tela somente para Windows
      fclose(fp);
      return 0;//retorno da função main  
    }


    O pragrama que fiz, cria o txt, porém o mesmo fica vazio.

     

     

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!