Gerar codigo de matrícula [RESOLVIDO]

1. Gerar codigo de matrícula [RESOLVIDO]

Rafael
rafaclara2401

(usa Outra)

Enviado em 14/07/2015 - 21:41h

Acho que só com essa parte do programa já dá pra entender o que quero.

void cadastrar()
{
fseek(arq,0,SEEK_SET);
fread(&linhas,sizeof(linhas),1,arq);
do
{
cout<<"\n\nCADASTRO";
cin.ignore();
cout<<"\n\nNome do aluno: ";
cin.getline(d.nome,40);
cout<<"\n\nIdade do aluno: ";
cin>>d.idade;
cout<<"\n\nNome: "<<d.nome;
cout<<"\nIdade: "<<d.idade;
cout<<"\n\nOs dados estao corretos ? (S/N)";
cin>>op2;
if (op2=='S')
{
salto=sizeof(d)*linhas,sizeof(linhas);
fseek(arq,salto,SEEK_SET);
d.matricula++; //AQUI É O PROBLEMA
fprintf(arq,"%d",d.matricula);
fwrite(&d,sizeof(d),1,arq);
fseek(arq,0,SEEK_SET);
linhas++;
fwrite(&linhas,sizeof(linhas),1,arq);
cout<<"O numero de matricula de "<<d.nome<<" e "<<d.matricula;
do
{
cout<<"\n\nDeseja cadastrar um outro aluno ? (S/N)"; cin>>op;
}while ((op != 'S')&&(op != 'N'));
}
}while (op != 'N');
}

Meu programa cadastra o aluno no sistema e gera um numero de matricula para ele. Eu declarei que d.matricula=0, para começar em 0 e sempre ser incrementado em +1 toda vez que uma matrícula é realizada. O programa faz isso perfeitamente enquanto está rodando, porém, se eu fechar o programa e abri de novo, ele começa a cadastrar de novo a partir da matricula numero 1. Eu queria que por exemplo, eu cadastrei um aluno (o numero de matricula dele é 1) e fechei o programa. Quando eu abrisse o programa de novo e cadastrasse outro aluno, o numero de matricula dele fosse 2. Mas isso não acontece, sempre que eu fecho o programa, ele zera o numero das matriculas.
O que eu faço ?


  


2. Re: Gerar codigo de matrícula [RESOLVIDO]

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 14/07/2015 - 22:01h

Eu não vi onde você verifica o último valor armazenado.

Att

---
Hail Hydra!


3. Re: Gerar codigo de matrícula [RESOLVIDO]

Rafael
rafaclara2401

(usa Outra)

Enviado em 14/07/2015 - 22:02h

zhushazang escreveu:

Eu não vi onde você verifica o último valor armazenado.

Att

---
Hail Hydra!


Como assim? Me explique melhor por favor




4. Re: Gerar codigo de matrícula [RESOLVIDO]

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 14/07/2015 - 22:04h

Você está escrevendo os valores em um arquivo? Quando for escrever a próxima vez você necessita consultar o último valor escrito do ID e dar o id+1 para a nova entrada.

Att

---
Hail Hydra!


5. Re: Gerar codigo de matrícula [RESOLVIDO]

Rafael
rafaclara2401

(usa Outra)

Enviado em 14/07/2015 - 22:10h

zhushazang escreveu:

Você está escrevendo os valores em um arquivo? Quando for escrever a próxima vez você necessita consultar o último valor escrito do ID e dar o id+1 para a nova entrada.

Att

---
Hail Hydra!



E como eu poderia fazer isso? Não estou conseguindo.



6. Re: Gerar codigo de matrícula [RESOLVIDO]

Rafael
rafaclara2401

(usa Outra)

Enviado em 14/07/2015 - 22:11h

rafaclara2401 escreveu:

zhushazang escreveu:

Você está escrevendo os valores em um arquivo? Quando for escrever a próxima vez você necessita consultar o último valor escrito do ID e dar o id+1 para a nova entrada.

Att

---
Hail Hydra!



E como eu poderia fazer isso? Não estou conseguindo.


Consegui sim cara, agora eu vi aqui onde estava o erro. Muito obrigado :)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts