-
Posts
3.940 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Simon Viegas postou
-
Olá. Sei já passou alguns dias, mas talvez seja útil. O enunciado é claro: Ou seja, tem que ler primeiro N (uma variável que vai receber a quantidade de preços, ou seja, de dias) e após ler esses preços. Esse preços NÃO PRECISAM ser armazenados...!!! A única coisa que importa é saber de SUBIU ou DESCEU em relação ao dia anterior... daí, conta quantas vezes seguidas ocorreu o mesmo tipo de evento (se subiu anteriormente e tá subindo agora, ou se desceu anteriormente e tá descendo novamente)... se subir 3 vezes seguidas, ou descer 3 vezes seguidas, ao inverter, faz o que tem que fazer para cada caso. (vende ou comprar). Ex: (aproveitando o já postado) Quantidade de dias: 15Dia 1: 26.375 //primeiro dia, não tem dia anterior, logo não tem com quem compararDia 2: 25.5 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 1Dia 3: 25.125 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 2Dia 4: 25 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 3, a partir daqui, quando subir, COMPRA!!!Dia 5: 25.25 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 1, COMPRA!ComprarDia 6: 27.125 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 2Dia 7: 28.25 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 3, a partir daqui, quando descer, VENDE!!!Dia 8: 26 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 1, VENDE!VenderDia 9: 25.5 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 2Dia 10: 25 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 3, a partir daqui, quando subir, COMPRA!!!Dia 11: 25.125 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 1, COMPRA!ComprarDia 12: 25.25 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 2Dia 13: 26.375 //em relação ao DiaAnterior, ele subiu , logo, temos DiasDeSubida = 3, a partir daqui, quando descer, VENDE!!! Dia 14: 25.5 //em relação ao DiaAnterior, ele desceu, logo, temos DiasDeQueda = 1, VENDE!VenderDia 15: 25.5 //em relação ao DiaAnterior, está IGUAL, logo, temos DiasDeQueda = 1 No aguardo.
-
Ajuda com retorno de menu/ pascal
Simon Viegas respondeu ao tópico de Valdemir Silva_708599 em Programação - outros
Olá Daria também para deixar as subcategorias gerenciar a saída, apenas acho que deixando pro menu principal fica mais simples e centralizado... Em relação a identação existem padrões diferentes, mas basicamente seria "subir um degrau" para o que está "dentro de estrutura"... ex.: obs.: deixei comentários com [simon.Viegas] para identificar o que foi feito por mim! var op1, op3:integer; {declaração de variaveis} CM, METROS , LITROS, MILI:real; op2 :CHAR; LOOP1:string; BEGINREPEAT//REPEAT DO SUB MENU PARA O MENU PRINCIPAL //está dentro do Begin, mas eu particularmente não idento com Begin (mas poderia) [Simon.Viegas] //esses comandos estão "dentro" do repeat, logo fica um degrau a direita em relação ao "pai" (repeat/until) [Simon.Viegas] ClrClr; GotoXY(22, 1); write('--------------------------------------'); GotoXY(22, 2); write('| Conversor |'); GotoXY(22, 3); write('| |'); GotoXY(22, 4); write('| |'); GotoXY(22, 5); write('| 1-Conversor de Medidas |'); GotoXY(22, 6); write('| 2-Conversor de Moedas |'); GotoXY(22, 7); write('| 3-Conversor de Peso |'); GotoXY(22, 8); write('| 4-Sair do Programa |'); GotoXY(22, 9); write('| |'); GotoXY(22,10); write('| Digite a Opção desejada: |'); GotoXY(22,11); write('--------------------------------------'); GotoXY(53,10); readln(OP1); CASE OP1 OF 1:BEGIN //identado em relação ao CASE [Simon.Viegas] REPEAT//REPEAT SUBMENU 2 PARA SUBMENU 1 //veja que aqui também deveria ser identado, mas não não idento [Simon.Viegas] CLRSCR; //identa pois está dentro do Repeat [Simon.Viegas] GotoXY(22,1); write('--------------------------------------------------'); GotoXY(22,2); write('| CONVERSOR DE MEDIDAS |'); GotoXY(22,3); write('| |'); GotoXY(22,4); write('| A- MÉTRICAS |'); GotoXY(22,5); write('| B- VOLUMÉTRICAS |'); GotoXY(22,6); write('| C- VOLTAR AO MENU PRINCIPAL |'); GotoXY(22,7); write('| |'); GotoXY(22,8); write('| Digite a Opção desejada: |'); GotoXY(22,9); write('--------------------------------------------------'); GotoXY(55,8);readln(op2); UNTIL OP3<>3; //REPEAT DO SUB MENU END;//END OP1 1 4:BEGIN //fica na mesma direção do "1". Está identado em relação ao CASE GotoXY(35,20); write(' BYEE'); //aqui está dentro do begin, deveria identar! (como citado: eu não faço isso) [Simon.Viegas] EXIT; END; END;//END CASE OP1 //eu deixo o END do Case na mesma direção do opções (1, 4). [Simon.Viegas]UNTIL OP1=4 //REPEAT DO MENU INICIAL //fica alinhado com o repeat correspondenteEND. No aguardo. -
Ajuda com retorno de menu/ pascal
Simon Viegas respondeu ao tópico de Valdemir Silva_708599 em Programação - outros
Olá. Minhas sugestões: 1) Não recomendo o uso do comando exit para esse contexto, pois ele meio que burla a estruturação do código! Remova e ajuste o código. (o item abaixo ajuda a resolver isso) 2) Deixe apenas o "Menu Principal" gerenciar a saída do programa, ou seja, se escolher 4. Poderá até usar o "Case 4", mas apenas para mostrar a mensagem (sem esse exit), e deixa o programa seguir e sair ao chegar no until. No restante das opções, após o que for feito, deverá voltar para o Menu Principal. (sempre após executar, volta pro menu principal e lá o usuário poderá escolher fazer outra coisa ou sair) Resumidamente, o ajuste seria: UNTIL OP1=4; //REPEAT DO MENU INICIAL ...mais a pequenas correções para funcionar assim. PS: 3) Tente se atentar mais um pouco a identação... dá para dar uma arrumadinha a mais ai... tem coisa fora do lugar. (identação é importante para o programador e também pode ser critério de avaliação) No aguardo. -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Por favor, releia meu último comentário. -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
De certo modo, o i não é do vetor, assim como o numpolt ou qualquer outra variável... o programador apenas pode usar qualquer variável ou valor numérico que esteja na faixa do array. Em relação ao seu código, como disse: No restante usa numpolt. (no if, no readln, no ultil...) -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá. Basta ter um pouco mais de atenção na hora de corrigir. Você está usando i, onde deveria usar numpolt. Se você leu numpolt lá no readln, no if que vem depois, você teria que usar o numpolt, e não i !!! Basicamente, você só vai usar o i dentro do for !! No aguardo. -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá Cadê a variável do número da poltrona? o restante nem olhei! -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá. Certo. E ? Então, após essas mudanças, o que está ocorrendo? você apenas postou o seu código.. qual a sua dúvida? onde você acha que está dando problemas? Então, você adicionou uma nova variável numpolt, OK... Mas não ajustou o código... Ex.: write('Poltrona: ' ); readln(i); Como assim i ? onde você deveria armazenar o "Número da Poltrona" de fato? reanalise a o código e refaça as correções. No aguardo. -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá. Mudou o quê e onde? Mas vamos lá: Você continua usando o begin/end no repeat. Mas isso não impacta no funcionamento do código, é apenas desnecessário (eu considero um erro). Usando: ...esse begin logo após o repeat é desnecessário!!! (assim como seu respectivo end lá antes do until) *** Você continua usando uma variável para ambos. *** Você continua usando 51 posições, em vez de 50. *** Usando PascalZIm! Ok! Obs.: Testei o seu código lá do primeiro post, e ficou bagunçado da mesma forma: *** No aguardo -
nao consigo finalizar o programa
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá. 1) O repeat não precisa de begin/end, seria bom removê-los; 2) você está usando a mesma variável para ler as poltronas, e para controlar o for, não poderia. "Cada um no seu quadrado"... Para as poltronas, use algo mais sugestivo, como numPoltrona. 3) Se são 50 poltronas, não seria de 0 a 49 ou 1 a 50? 4) O texto aqui (no Free Pascal) ficou meio bagunçado. Qual o compilador que você está usando? No aguardo. -
Onde estou errando? Pascal(Tetris)
Simon Viegas respondeu ao tópico de Gustavo Costa_777862 em Programação - outros
Olá. Pode ser algo relacionado as restrições... Pelo que eu vi, nenhuma delas estão sendo tratadas.. -
Onde estou errando? Pascal(Tetris)
Simon Viegas respondeu ao tópico de Gustavo Costa_777862 em Programação - outros
Olá. 1) SOBRE A ENTRADA DE DADOS Esses devem devem ser digitados no console manualmente ou deveria ser através de leitura de arquivos ou alguma outra automação?? 2) SOBRE "ALGUM ERRO" Que site? Que erros? Testei com o dados, e deu "exatamente" como você postou... Segue a tela do console: E:\Simon\DropBox\Meus Programas Portáteis\Programação\Notepad++ 6.8.3>echo off4Zezinho100 123 133 333 400 300 129 200 360 340 200 600Luizinho60 50 120 250 170 190 190 220 260 270 290 300Carlinhos10 10 20 10 10 10 10 20 20 20 20 20Joaozinho200 300 400 400 500 500 500 600 650 650 700 810Teste 11 5200 Joaozinho2 2518 Zezinho3 2020 Luizinho4 150 Carlinhos3Pedrinho100 100 200 200 300 300 400 400 500 500 600 600Huguinho50 100 200 200 300 300 500 500 400 400 600 700Zezinho100 100 100 100 100 100 100 100 100 100 100 100Teste 21 3500 Huguinho1 3500 Pedrinho3 1000 Zezinho PS: para testar, primeiramente copiei linha por linha e fui colando no console... ("botão direito do mouse, colar") depois, fiz outro teste e funcionou: colei a entrada de uma vez só e colei no console.. Também funcionou! Obs.: Ao postar um código, por favor, utilize a tag CODE (botão <> no painel). Qualquer dúvida, favor acessar em Tópicos em destaque no referido fórum a postagem Tags: Como e para que usar? Para facilitar para outros usuário, abaixo o seu código identado: program tetris;var pontos, jogo, posi :array[0..1010] of longint; nomes :array[0..1010] of string; y,z,w,i,x, maior, menor, j,a,b,k :longint; s :string;begina:=0;y:=1;k:=0;while y<>0 do begin readln(y); if y<>0 then begin k:=k+1; for i:=1 to y do begin readln(nomes[i]); for w:=1 to 12 do begin //Lê o nome do primeiro atleta e coloca no vetor nome e registra em 12 posições de um vetor as pontuações e a soma read(z); a:=(a+z); jogo[w]:=z; end; readln; menor:=jogo[1]; maior:=jogo[1]; for x:=1 to 11 do begin //Compara as doze pontuações e registra a menor e a maior if menor>jogo[x+1] then begin menor:=jogo[x+1]; end; if maior<jogo[x+1] then begin maior:=jogo[x+1]; end; end; j:=(maior+menor); a:=(a-j); // subtrai a menor e a maior do pontuação do somatorio geral pontos[i]:=a; // registra a soma da pontuação no vetor pontos a:=0; posi[i]:=i; //coloca as posições no vetor posição sem ordenar end; for i:=1 to y do begin for x:=1 to (y-1) do begin //Ordena os vetores a partir do vetor pontos, ordenando pontos e nomes if pontos[x]<pontos[x+1] then begin b:=pontos[x]; s:=nomes[x]; pontos[x]:=pontos[x+1]; nomes[x]:=nomes[x+1]; pontos[x+1]:=b; nomes[x+1]:=s; end; if (pontos[x]=pontos[x+1]) then begin //Coloca a mesma posição no vetor posi, para pontuações iguais posi[x+1]:=posi[x]; if (nomes[x]>nomes[x+1]) then begin //Ordena alfabeticamente os nomes do mesma pontuação s:=nomes[x]; nomes[x]:=nomes[x+1]; nomes[x+1]:=s; end; end; end; end; writeln('Teste ',k); for i:=1 to y do begin //Escreve a posição, pontuação e nome writeln(posi[i],' ',pontos[i],' ',nomes[i]); end; writeln; end; end;end. No aguardo! -
codigo Pascal fazer a maior e menor idade.
Simon Viegas respondeu ao tópico de Fabio Aragao em Programação - outros
Olá. Ex.: if (vetor[i].idade < vetor[posMenorIdade].idade) then posMenorIdade:=i; -
Olá, Provavelmente você postou um link que aponta para um página protegida (precisou usar login e senha para entrar). Por favor, baixe o arquivo, edite sua postagem e anexe a imagem na postagem. No aguardo.
-
codigo Pascal fazer a maior e menor idade.
Simon Viegas respondeu ao tópico de Fabio Aragao em Programação - outros
Olá. 3 pontos que podem ser vistos: (qualquer coisa deixa essa cópia separada e tenta fazer uma outra) 1) Na opção "'Quem tem idade maior que a da primeira pessoa ?" você colocou para exibir a frase para cada ocorrência... acho desnecessário; 2) Ao verificar qual é a menor ou menor idade, você poderia apenas armazenar a posição no registro, e não os dados em si... Mas ai, não daria para iniciar as variável com um valor (199 e 0, já que agora seria uma posição), seria mais prático fazer como Math.Pi sugeriu... no caso atribuindo a primeira posição como sendo o menor e maior... e ajustar o restante... Já começaria ajustando as variáveis: posMaior, posMenor, posMaiorIdade e posMenorIdade :byte //ou integer mesmo! Por ai vai... 3) Se atentar com a identação!!! O código deve SEMPRE está bem identado! O segredo é já programar identado.. se mexeu e precisou realinhar, realinha logo!!! Não deixe para identar depois de pronto!!! (diferente por exemplo de um trabalho escrito no Word, que poderia de boa deixar para formatar depois).. com o tempo se acostuma. No meu padrão, ficaria assim: program Pzim;type registro = record nome :string; idade:integer; end;var vetor :array [1..5] of registro; i, soma :integer; menor, menorIdade, maior, maiorIdade :integer; media :real; nomeMenor, nomeMaior :string; //não necessariamente precisa separar por linhas, pode ficar um no lado do outro//apenas é uma sugestão! Acho mais organizado e facilita caso queira deixar um comentário para cada variávelbeginmenoridade:=199;maioridade:=0;for i := 1 to 5 do begin write('Digite o nome da pessoa : '); readln(vetor[i].nome); write('Digite a idade da pessoa: '); readln(vetor[i].idade); writeln; soma:=soma+vetor[i].idade; if (vetor[i].idade < menoridade) then begin menorIdade:=vetor[i].idade; nomeMenor :=vetor[i].nome; end; if (vetor[i].idade > maioridade) then begin maiorIdade := vetor[i].idade; nomeMaior := vetor[i].nome; end; end;media:=soma/5; maior:=vetor[1].idade;menor:=vetor[1].idade;for i := 2 to 5 do if (vetor[i].idade > maior) then writeln( 'Quem tem idade maior que a da primeira pessoa ?: ', vetor[i].nome ) ; writeln;for i := 1 to 5 do if ( vetor[i].idade > media ) then writeln( 'Quem tem idade maior que a média de todas as idades ?: ', vetor[i].nome ) ; writeln;writeln('A pessoa com a menor idade é: ', nomemenor);writeln('A pessoa com a maior idade é: ', nomemaior);end. Obs.: O principal ponto que reforço é sobre o alinhamento lateral!!! Pular linha para destacar os "blocos" ou "partes" do código, não tem problema! Mas claro que seguindo sempre um padrão lógico... Obs. 2: Veja que no "meu" padrão deixo as linhas entre o begin/end na mesma direção deles... já a maioria também identa (como no seu caso)!!! Isso não importa tanto, mas sim que tudo fique com a mesma "regra". Veja um ponto sobre o alinhamento lateral: Beginmenoridade := 199;maioridade := 0; for i := 1 to 5 do begin write( 'Digite o nome da pessoa: ' ) ; readln( vetor[i].nome ) ; Esse for teria que começar na mesma direção do maioridade... não tem porque ter identado. *** No aguardo -
codigo Pascal fazer a maior e menor idade.
Simon Viegas respondeu ao tópico de Fabio Aragao em Programação - outros
Ou iniciar o menor com um valor alto, ex.: menorIdade:=199; ou menorIdade:=maxint -
Olá E por quê não expandir os conhecimentos? Isso faz parte do processo. Então, basta dá uma pesquisada nos comandos... ex.: Vai no Fórum de Pascal, e pesquisa por "gotoxy" ou "gotoxy pascal" (sem as aspas). No aguardo.
-
ASSITIR VÍDEOS DIRETO DO PC PARA TV SAMSUNG
Simon Viegas postou um tópico em Televisores e projetores
Olá boa noite. Tenho uma TV Samsung, modelo UN48H5500, e estou querendo configurá-la para assistir vídeos que estão no PC. SITUAÇÃO ATUAL Para assistir um vídeo ou filme, eu copio os arquivos para um pen-drive e espeto na TV. Funciona perfeitamente. SITUAÇÃO DESEJADA Quero apenas organizar os arquivo no PC, e acessar as mídias diretamente pela TV. SITUAÇÃO JÁ TESTADA Consegui configurar um Streaming no Windows 8.1. Pela TV acesso, via Wifi, esse servidor e o vídeos rodam, mas estão sem legendas. Então, como faço para configurar as legendas ou qual solução posso usar para essa TV e Windows 8.1? No aguardo. -
Olá. O código original está compilável, logo os erros apresentados surgiram após as modificações. Para corrigir o erros a dica anterior persiste, apenas que no PascalZim os erros apresentados são diferentes, ou seja, como ele não diz qual é a coluna na linha e nem exatamente qual o erro, fica mais fácil separando cada comando por linhas mesmo. if campo<>'' then begin gotoxy(length(campo)+1,9); clreol; salario:=copy(campo,1,8); //o erro vai apontar para esse linha end; No outro post já comentei sobre o que está ocorrendo. Minha sugestão é a seguinte: Pegue o código original e vá fazendo testes nele e corrigindo até que funcione corretamente. Só depois faça as modificações para o seu programa!!! Acho que fazer as duas coisas juntas mais complicado. Se tiver dúvida sobre alguma parte é só postar. No aguardo
-
Faça a tabuada deste número de 1 a 10, alguem me ajuda?
Simon Viegas respondeu ao tópico de ronald1087xd em Programação - outros
Olá. Você poderia usar uma estrutura de seleção (if), ou seja, só exibe a tabuada se o número for diferente de "0". PS: se quiser aproveitar, poderia criar um if que verifica se está na faixa de 1 a 10. -
Olá. Para corrigir não é tão complicado.. basta ter um pouco de atenção. Vamos lá: Então, como você não postou o código inicial, estou me baseando pelo código que você postou. Apenas compilando ele deu o seguinte erro: _FCH.PAS(484,7) Error: Identifier not found "O" Na linha 484 O ERRO É EXIBIDO NESTA LINHA begin gotoxy(length(campo)+1,9); clreol; salario:=copy(campo,1,8); end; Ou seja, na coluna 7, tem um "O", que "O" é esse? Está claro que se trata "de um comentário" inserido no texto... basta corrigir, obs.: claro que poderia inserir esse "texto" de propósito justamente para marcar a linha... ex.: begin gotoxy(length(campo)+1,9); clreol; salario:=copy(campo,1,8); end; //O ERRO É EXIBIDO NESTA LINHA Compilei novamente: Deu erro: _FCH.PAS(484,64) Error: Incompatible types: got "ShortString" expected "Real"_FCH.PAS(490,74) Error: Incompatible types: got "ShortString" expected "SmallInt"_FCH.PAS(499,71) Error: Incompatible types: got "ShortString" expected "Real"_FCH.PAS(505,64) Error: Incompatible types: got "ShortString" expected "Char"_FCH.PAS(549,18) Error: Identifier not found "introducao"_FCH.PAS(554) Fatal: There were 5 errors compiling module, stoppingFatal: Compilation aborted Lá na linha 484, coluna 64 está dizendo que está uma "incompatibilidade de tipos". Foi dato um "ShortString", mas o esperado é um Real... analisando as "coordenadas" temos: salario:=copy(campo,1,8); A variável salario é de um tipo, e a function Copy() está retornado outro que não é compatível com o tipo do salario.. e nessa linha o programador está tentado atribuir o valor de um no outro. É sabido que NÃO PODE atribuir um valor de um tipo em uma variável que não suporta esse tipo!!! (por isso o erro) reg.salario = tipo "real" Copy() = retorna tipo "ShortString" Está entendendo? Não dá para atribuir letras para uma variável que só aceita números. Daí, precisa analisar o que está querendo ser feito... para que serve o Copy()? ele vai "copiar" um trecho de uma String e retornar essa trecho nela mesma (no Copy()). Pelo parâmetros, ele está recebendo a variável campo e copiando do 1º a 8º caractere. Logo se imagina duas coisas: ou você vai precisar de uma variável do tipo String para armazenar esse "8 caracteres", ou, será necessário converter esses 8 caracteres em um número. Tá entendendo? RESUMINDO Quem colocou o "salario:=copy(campo,1,8);" ? qual o objetivo? Daí corrige da forma que achar adequada. No aguado.
-
Fiz um algoritmo de troco em visualG mas dá erro.
Simon Viegas respondeu ao tópico de hadeshe em Programação - iniciantes
Olá, testei seu código aqui e não funcionou... Ao executar, deu erro na linha escreval("A quantidade de notas de R$50,00: ", troco \ 50) troco <- troco - (troco \ 50) * 50 Separei as linhas e funcionou... algoritmo "Progra de troc"var preco: inteiro valorPago: inteiro troco: inteiroinicio escreva("Informe o preço: ") leia(preco) escreva("Informe o valor pago: ") leia(valorPago) troco <- valorPago - preco escreval("A quantidade de notas de R$50,00: ", troco \ 50) troco <- troco - (troco \ 50) * 50 escreval("A quantidade de notas de R$20,00: ", troco \ 20) troco <- troco - (troco \ 20) * 20 escreval("A quantidade de notas de R$10,00: ", troco \ 10) troco <- troco - (troco \ 10) * 10 escreval("A quantidade de notas de R$5,00: ", troco \ 5) troco <- troco - (troco \ 5) * 5 escreval("A quantidade de notas de R$2,00: ", troco \ 2) troco <- troco - (troco \ 2) * 2 escreval("A quantidade de notas de R$1,00: ", troco)fimalgoritmo Assim ficou tudo beleza! PS: vi que minhas respostas anteriores (lá de 2013, rs) estão equivocadas, já que o tanto o comando "\" tanto "/" existem no VisuAlg.. PS2: estou utilizando o VisuAlg 2.5. Ai não sei dizer porque não funcionou colocando na mesma linha ... Abraços -
Olá. Analise o erro dado: Ex.: Mensagem: _FCH.PAS(484,60) Error: Incompatible types: got "ShortString" expected "Real" Linha correspondente: begin gotoxy(length(campo)+1,9); clreol; salario:=copy(campo,1,8); end; ////O ERRO É EXIBIDO NESTA LINHA Daí, basta olha a coluna 60, ou de uma maneira mais simples, como eu fiz, separar as instruções: if campo<>'' then begin gotoxy(length(campo)+1,9); clreol; salario:=copy(campo,1,8); end; ////O ERRO É EXIBIDO NESTA LINHA Nesse caso, indo para 487... Os seja, salario e Copy() são incompatíveis. salario é real, e Copy() retorna um ShortString. No aguardo.
-
Olá. Seu código não está compilável... você postou o código correto? Como está utilizando arquivos, por favor, poste como o conteúdo do arquivo deve ficar e um ou mais exemplos de conteúdos (para os arquivos) para testes... PS: Já que está está utilizando arquivos, a primeira coisa que devem fazer a atestar que os dados estão sendo coletados corretamente. A partir daí, utilizar esses dados para fazer os cálculos e exibir uma resposta. Após, compara a resposta do programa com a resposta esperada (feita manualmente, por exemplo) No aguardo.
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