Ir ao conteúdo

Programando em C


Envinyatar

Posts recomendados

Postado

Eu geralmente uso o BC pra programar mas estou com uma pequena duvida se alguem puder me ajudar.

O programa que preciso fazer devera abrir um arquivo no formato txt, previamente digitado, e depois exibir um menu de escolha para o usuario ordenar a saida pelo nome ou pela matricula e depois jogar o

resultado no arquivo de saida.

Este começo do programa somente avalia se o arquivo foi aberto ou não e depois joga tudo junto no arquivo de saida. A grande dificuldade é guardar os dados do arquivo separadamente em cada variavel, sendo que a entrada devera respeitar os seguintes tamanhos:

Matricula = 5 caracteres, Nome = 40 caracteres, curso = 20 caracteres, Nota =

2 caracteres.

Exemplo:

20457Denis Rocha da Silva Linguagem de program10

{5} {40} {20} {2}

Programa:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main(argc,argv)

int argc;

char *argv[];

{

FILE *fent,*fsai;

int c;

clrscr();

if(argc!=3)

{

printf("Faltou o nome do arquivo");

exit(0);

}

if((fent=fopen(argv[1],"r"))==NULL)

{

printf("O arquivo de entrada não pode ser aberto\n");

exit(0);

}

if((fsai=fopen(argv[2],"w"))==NULL)

{

printf("O arquivo de saida não pode ser aberto\n");

exit(0);

}

while((c=getc(fent))!=EOF)

{

putc(c,fsai);

}

fclose(fent);

fclose(fsai);

getch();

return(0);

}

Se alguem puder me ajudar ficarei muito grato.Desde já agradeço!

Postado

Isso é bem fácil

faça uma struct (estrutura)

struct aluno {

char [5] matricula;

char [40] nome;

char [20] materia;

char [2] nota };

aluno alunos;

daí mais pra frente você faz

fread(f,1,sizeof(alunos),&alunos);

(Isso só pra ler um aluno, bem entendido)

Estude um pouco sobre structs...

Postado

Estou falhando em alguma coisa, talvez não tenha entendido bem como jogar cada dado do arquivo de entrada dentro dessa estrutura, a estrutura ja tinha sido criada mas eu esqueci de mandar, sera que poderia exemplificar somente o pedaco em que se grava os dados do aluno que esta no arquivo para uma posicao na estrutura?

struct aluno

{

int mat[5];

int nota[2];

char nome[41];

char curso[41];

}a[1];

Postado

Estou falhando em alguma coisa, talvez não tenha entendido bem como jogar cada dado do arquivo de entrada dentro dessa estrutura, a estrutura ja tinha sido criada mas eu esqueci de mandar, sera que poderia exemplificar somente o pedaco em que se grava os dados do aluno que esta no arquivo para uma posicao na estrutura?

struct aluno

{

int mat[5];

int nota[2];

char nome[41];

char curso[41];

}a[1];

Postado

Olá!!! Denis!!

Td bem? E aí conseguiu resolver sua dúvida?

Senão aí vai algumas dicas que consegui em um site!!

Leia os dados com a função fgets(). Ela deixa você estipular o número de caracteres que podem ser lidos dentro de um buffer. Por exemplo:

char matricula[5];/* mesmo se o usuário digitar 10 caracteres, só 5 serão lidosfgets(matricula, 5, stdin);

Daí se você quiser fazer um void main a parte, o usuário entra com as informações em uma função separada.

E também você criar uma estrutura de dados para armazenar os valores de cada aluno de forma mais organizada..

typedef struct stDados

{

char matricula[5];

char nome[40];

char curso[20];

int nota;

}Dados;

Entendeu!!?

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!