juh.monteiroo
-
Posts
7 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por juh.monteiroo
-
-
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.
-
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
-
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 -
@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.
-
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.
-
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",¬a1); printf("Nota da Av2: "); scanf("%f",¬a2); //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
Construir um programa que calcule a media e salve em um arquivo txt externo.
em C/C#/C++
Postado
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.