Ir ao conteúdo
  • Cadastre-se

allan echeverria

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Na tentativa de criar um programa para me auxiliar nos estudos, tentei criar algo, como descrito abaixo, porém, ao tentar cadastrar uma matéria, retorna o erro: "Tentativa de escrita em arquivo não aberto com sucesso". Program ProgramaDeEstudo ;type obras = Record nome: string; comprimento: integer; onde: integer; classe: string; end; soma = Record paginas: integer; minutosM: integer; minutosF: integer; aret: integer; end;var opcao: array [1..10] of integer; obra: array [1..100] of obras; TXT: text; i: integer; tipo: string; busca: string; o: integer; tipoclasse: array [1..4] of integer; praconta: array [1..100] of real; contagem: soma; progresso: soma; porcentagem:array [1..4] of real; seila: string; Beginassign (TXT, 'C:\Users\Allan\Desktop\Programas\pascalzim\Meus\programa novounb\DADOS.TXT');Reset (TXT);textcolor(white);opcao[1] :=1;i := 1;tipoclasse[1] :=0;tipoclasse[2] :=0;tipoclasse[3] :=0;tipoclasse[4] :=0;contagem.paginas := 0;contagem.minutosM := 0;contagem.minutosF := 0;contagem.aret := 0;progresso.paginas := 0;progresso.minutosM := 0;progresso.minutosF := 0;progresso.aret := 0;while opcao[1]<>5 do Begin writeln('----------------------------------'); writeln(' Bem-Vindo '); writeln(' ao programa de acompanhamento '); writeln(' de estudos para o PAS '); writeln('----------------------------------'); writeln(''); writeln(''); writeln('[1] Cadastrar obra e progresso'); writeln('[2] Atualizar progresso em certa obra'); writeln('[3] Acompanhar progesso por matéria'); writeln('[4] Acompanhar progesso geral'); writeln('[5] Sair'); write('Digite sua opção: '); readln(opcao[1]); if (opcao[1]=1) then Begin clrscr; writeln('-------------------------------'); writeln(' Qual o objeto de estudo? '); textcolor(green); writeln(' Todas as letras maiúsculas: '); write ('TEXTO, MUSICA, FILME ou ARTEVISUAL'); read(tipo); if (tipo='TEXTO') then Begin clrscr; Append(TXT); write('Nome da obra: '); readln(obra[i].nome); write('Número de páginas: '); readln(obra[i].comprimento); write('Em que página você está? '); readln(obra[i].onde); obra[i].classe := 'Texto'; i := i+1; tipoclasse[1] := tipoclasse[1]+1; contagem.paginas := contagem.paginas + obra[i].comprimento; progresso.paginas := progresso.paginas + obra[i].onde; writeln(TXT, obra[i].nome, obra[i].comprimento, obra[i].onde, obra[i].classe, i, tipoclasse[1], contagem.paginas, progresso.paginas); Close(TXT); clrscr; End; if (tipo='MUSICA') then Begin clrscr; Append(TXT); write('Nome da musica: '); readln(obra[i].nome); write('Tempo em minutos(Apenas numeros inteiros): '); readln(obra[i].comprimento); write('Em que minuto você está? '); readln(obra[i].onde); obra[i].classe := 'Musica'; i := i+1; tipoclasse[2] := tipoclasse[2]+1; contagem.minutosM := contagem.minutosM + obra[i].comprimento; progresso.minutosM := progresso.minutosM + obra[i].onde; writeln(TXT, obra[i].nome, obra[i].comprimento, obra[i].onde, obra[i].classe, i, tipoclasse[2], contagem.minutosM, progresso.minutosM); Close(TXT); clrscr; End; if (tipo='FILME') then Begin clrscr; Reset (TXT); Append(TXT); write('Nome do filme: '); readln(obra[i].nome); write('Tempo em minutos(Apenas numeros inteiros): '); readln(obra[i].comprimento); write('Em que minuto você está? '); readln(obra[i].onde); obra[i].classe := 'Filme'; i := i+1; tipoclasse[3] := tipoclasse[3]+1; contagem.minutosf := contagem.minutosf + obra[i].comprimento; progresso.minutosF := progresso.minutosF + obra[i].onde; writeln(TXT, obra[i].nome, obra[i].comprimento, obra[i].onde, obra[i].classe, i, tipoclasse[2], contagem.minutosF, progresso.minutosF); clrscr; End; if (tipo='ARTEVISUAL') then Begin clrscr; Append(TXT); write('Nome da obra '); readln(obra[i].nome); obra[i].comprimento := 1; write('Obra já analisada? Tecle "1" se SIM e "0" se NÃO '); readln(obra[i].onde); obra[i].classe := 'ARTEVISUAL'; i := i+1; tipoclasse[4] := tipoclasse[4]+1; contagem.aret := contagem.aret + obra[i].comprimento; progresso.aret := progresso.aret + obra[i].onde; writeln(TXT, obra[i].nome, obra[i].comprimento, obra[i].onde, obra[i].classe, i, tipoclasse[2], contagem.aret, progresso.aret); Close(TXT); clrscr; End; End; if (opcao[1]=2) then Begin clrscr; write('Digite o nome da obra(como ela foi cadastrada): '); readln(busca); for o:=1 to i do Begin if (busca = obra[o].nome) then Begin Append(TXT); if obra[o].classe='TEXTO' then Begin write('Em que página você está agora? '); readln(obra[o].onde); writeln(TXT, obra[o].onde); End; if obra[o].classe='MUSICA' then Begin write('Em que minuto você está agora? '); readln(obra[o].onde); writeln(TXT, obra[o].onde); End; if obra[o].classe='FILME' then Begin write('Em que minuto você está agora? '); readln(obra[o].onde); writeln(TXT, obra[o].onde); End; if obra[o].classe='ARTEVISUAL' then Begin write('Já analisou essa obra? Digite "1" para SIM e "0" para NÃO '); readln(obra[o].onde); writeln(TXT, obra[o].onde); End; clrscr; Close(TXT); End; End; End; if (opcao[1]=4) then Begin clrscr; //porcentagem texto { contagem.paginas é numero total de paginas progresso.paginas é onde estou (Progresso x 100)/Contagem = porcentagem praconta[1] := progresso.paginas*100 } praconta[1] := progresso.paginas*100; porcentagem[1] := praconta[1]/contagem.paginas; //porcentagem musica praconta[2] := progresso.minutosM*100; porcentagem[2] := praconta[2]/contagem.minutosM; //porcentagem filme praconta[3] := progresso.minutosF*100; porcentagem[3] := praconta[3]/contagem.minutosF; //porcentagem artes praconta[4] := progresso.aret*100 ; porcentagem[4] := praconta[4]/contagem.aret; writeln('---------------------------------------------'); writeln(' Dados Gerais '); writeln('---------------------------------------------'); writeln(''); writeln('Obras cadastradas: ', i); writeln('Obras cadastradas em Texto: ', tipoclasse[1]); writeln('Obras cadastradas em Música: ', tipoclasse[2]); writeln('Obras cadastradas em Filmes: ', tipoclasse[3]); writeln('Obras cadastradas em Artes Visuais: ', tipoclasse[4]); write('Progresso em textos: ', porcentagem[1]:0:2); writeln('%'); write('Progresso em músicas: ', porcentagem[2]:0:2); writeln('%'); write('Progresso em filmes: ', porcentagem[3]:0:2); writeln('%'); write('Progresso em artes visuais: ', porcentagem[4]:0:2); writeln('%'); readln; clrscr; End; if (opcao[1]=3) then Begin clrscr; writeln('----------------------------------------'); writeln('Consulta por matéria'); writeln('----------------------------------------'); writeln(''); write('Qual matéria deseja consultar? ("Texto", "Musica", "Filme" ou "ARTEVISUAL"'); read(seila); clrscr; if (seila='Texto') then Begin writeln('Obras cadastradas em Texto: ', tipoclasse[1]); writeln('Total de páginas cadastradas: ', contagem.paginas); writeln('Páginas lidas: ', progresso.paginas); write('Progresso em porcentagem: ', porcentagem[1]:0:2); writeln('%'); End; if (seila='Musica') then Begin writeln('Obras cadastradas em Musicas: ', tipoclasse[2]); writeln('Total de minutos cadastradas: ', contagem.minutosM); writeln('Minutos ouvidos: ', progresso.minutosM); write('Progresso em porcentagem: ', porcentagem[2]:0:2); writeln('%'); End; if (seila='Filme') then Begin writeln('Obras cadastradas em Texto: ', tipoclasse[3]); writeln('Total de páginas cadastradas: ', contagem.minutosF); writeln('Páginas lidas: ', progresso.minutosF); write('Progresso em porcentagem: ', porcentagem[3]:0:2); writeln('%'); End; if (seila='ARTEVISUAL') then Begin writeln('Obras cadastradas em Texto: ', tipoclasse[4]); writeln('Total de páginas cadastradas: ', contagem.aret); writeln('Páginas lidas: ', progresso.aret); write('Progresso em porcentagem: ', porcentagem[4]:0:2); writeln('%'); End; End; End; End.

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