
kgin
Membro Pleno-
Posts
386 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que kgin postou
-
VisualG Menu De Lanchonete permitindo opção inexistente
kgin respondeu ao tópico de LuizDemarchi em Programação - iniciantes
@LuizDemarchi Você tem que checar se a quantidade de itens do menu é menor que a quantidade de itens informada. Exemplo: Repita Escreval (" ====== LANCHES ======") Escreval (" 1 X-burger --------> R$ 14,00") Escreval (" 2 X-Salada --------> R$ 18,00") Escreval (" 3 X-Bacon --------> R$ 20.00") Escreval (" 4 X-Egg --------> R$ 22.00") Escreval (" 5 X-Onion --------> R$ 24.00") Escreval (" 6 X-Tudo --------> R$ 28.00") Escreval (" 7 X-Infarto --------> R$ 35.00") Escreval (" 0 Voltar ao menu anterior " ) Escreval (" Escolha uma opção de lanche " ) leia(oplanch) Se oplanch = 0 então interrompa Fimse // Verifica se a opção é válida primeiro se (oplanch <= 7) então Escreval ("Informe a quantidade") Leia (qtd) Se oplanch = 1 então vllanch <- vllanch + 10 * qtd Senao Se oplanch = 2 então vllanch <- vllanch + 12 * qtd Senao Se oplanch = 3 então vllanch <- vllanch + 14 * qtd Senao Se oplanch = 4 então vllanch <- vllanch + 18 * qtd Senao Se oplanch = 5 então vllanch <- vllanch + 10 * qtd Senao Se oplanch = 6 então vllanch <- vllanch + 9 * qtd Senao Se oplanch = 7 então vllanch <- vllanch + 16 * qtd Fimse Fimse Fimse Fimse Fimse Fimse Fimse seNao // Mostra que a opção é invalida escreval("Opcao invalida!") fimSe Ate oplanch = 0 Isso já resolveria o problema, mas eu recomendo você pensar mais nos dados do programa do que na funcionalidade do mesmo. Digamos assim, e se você quiser adicionar mais um item no menu? Vai ficar meio complicado assim, então pense comigo! cada item tem propriedades consigo, nome, preço e quantidade no estoque. Guardar tudo isso em um vetor seria bem mais pratico, fora que você pode iniciar isso antes que o usuário perceba. Preparei um exemplo, que na minha opinião ficou meio complicado, mas que ilustra bem o que eu estou tentando explicar. Algoritmo "Restaurante" const CATEGORIA_LANCHE = 1 CATEGORIA_BEBIDA = 2 CATEGORIA_ACOMPANHAMENTOS = 3 CATEGORIA_QUANTIDADE = 3 // Quantidade Maxima de produtos que podem ser cadastradas MAXIMO_PRODUTOS = 10 tipo tproduto = registro nome:caractere preco:real descricao:caractere fimRegistro var cardapio: vetor [1..CATEGORIA_QUANTIDADE, 1..MAXIMO_PRODUTOS] de tproduto quantidade_produtos_categoria: vetor [1..CATEGORIA_QUANTIDADE] de inteiro NOMES_CATEGORIAS: vetor [1..CATEGORIA_QUANTIDADE] de caractere opcao_menu: inteiro opcao_cardapio: inteiro contador: inteiro inicio // Inicializa o nome de cada categoria NOMES_CATEGORIAS[1] <- "Lanches" NOMES_CATEGORIAS[2] <- "Bebidas" NOMES_CATEGORIAS[3] <- "Acompanhamentos" // Inicializa os produtos // Lanches cardapio[CATEGORIA_LANCHE, 1].nome <- "X-burger" cardapio[CATEGORIA_LANCHE, 1].preco <- 14.00 cardapio[CATEGORIA_LANCHE, 1].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 2].nome <- "X-Salada" cardapio[CATEGORIA_LANCHE, 2].preco <- 18.00 cardapio[CATEGORIA_LANCHE, 2].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 3].nome <- "X-Bacon" cardapio[CATEGORIA_LANCHE, 3].preco <- 20.00 cardapio[CATEGORIA_LANCHE, 3].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 4].nome <- "X-EGG" cardapio[CATEGORIA_LANCHE, 4].preco <- 22.00 cardapio[CATEGORIA_LANCHE, 4].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 5].nome <- "X-Onion" cardapio[CATEGORIA_LANCHE, 5].preco <- 24.00 cardapio[CATEGORIA_LANCHE, 5].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 6].nome <- "X-Tudo" cardapio[CATEGORIA_LANCHE, 6].preco <- 28.00 cardapio[CATEGORIA_LANCHE, 6].descricao <- "não tem" cardapio[CATEGORIA_LANCHE, 7].nome <- "X-Infarto" cardapio[CATEGORIA_LANCHE, 7].preco <- 35.00 cardapio[CATEGORIA_LANCHE, 7].descricao <- "É de morrrer!!!" // Quantidade de produtos cadastrados no sistema!!! quantidade_produtos_categoria[CATEGORIA_LANCHE] <- 7 repita // Menu princiapal escreval("------MENU------") para contador de 1 ate CATEGORIA_QUANTIDADE faca escreval(contador," - ",NOMES_CATEGORIAS[contador]) fimPara escreval("Digite 0 para sair do programa") leia(opcao_menu) // Checa se a opção é valida se (opcao_menu > CATEGORIA_QUANTIDADE) então escreval("Opcao invalida") fimSe // Checa se o usuario quer encerrar o programa se (opcao_menu = 0) então escreval("O programa será encerrado!") fimSe // Cardapio se (opcao_menu > 0) e (opcao_menu < CATEGORIA_QUANTIDADE) então repita // Checa se a categoria já tem produtos cadastrados se (quantidade_produtos_categoria[opcao_menu] = 0) então escreval("Nenhum produto cadastrado ainda") seNao // Mostra os produtos escreval("--------",NOMES_CATEGORIAS[opcao_menu],"--------") para contador de 1 ate quantidade_produtos_categoria[opcao_menu] faca escreval(contador," - ",cardapio[opcao_menu, contador].nome," R$", cardapio[opcao_menu, contador].preco, " Descrição:", cardapio[opcao_menu, contador].descricao) fimPara escreval("Digite 0 para voltar ao menu anterior") leia(opcao_cardapio) // Checa se a opcao é válida se (opcao_cardapio > quantidade_produtos_categoria[opcao_menu]) então escreval("Opcao invalida") fimSe se (opcao_cardapio > 0) e (opcao_cardapio <= quantidade_produtos_categoria[opcao_menu]) então escreval("Digite a quantidade desejada") escreval("Digite 0 para cancelar") leia(contador) se (contador = 0) então escreval("adicao do item cancelada") seNao escreval(cardapio[opcao_menu, opcao_cardapio].nome, "*", cardapio[opcao_menu, opcao_cardapio].preco, "=", cardapio[opcao_menu, opcao_cardapio].preco*contador) fimSe fimSe fimSe ate não((quantidade_produtos_categoria[opcao_menu] <> 0) e (opcao_cardapio <> 0)) fimSe ate não(opcao_menu <> 0) fimAlgoritmo Recursos usados no algoritmo. -Registros -Constantes -Vetores -Manual do visualG refatorado -
Se você está procurando uma engine, então recomendo fazer um teste com o SGDK. A princípio, aprender C pode ser um pouco complicado, mas é uma linguagem com muito material de apoio. Outro ponto que pode ser complicado é a VDP, que controla todo o vídeo, mas o SGDK cuida de quase todo o trabalho pesado. A partir daí, o resto do hardware do Mega é bem simples. Tutoriais de programação de jogos. https://under-prog.ru/en/ No próprio SGDK já tem vários exemplos. Informações de como o hardware funciona. https://plutiedev.com/ https://segaretro.org/Category:Mega_Drive_technical_information https://segaretro.org/images/a/a2/Genesis_Software_Manual.pdf
-
C Vocês sabem como usar o laço for e scanf com strings?
kgin respondeu ao tópico de Kenshiro2517 em C/C#/C++
Creio eu que a estrutura de repetição mais indicada no seu caso seja o do {...} while, veja como as estrutura de repetição funcionam "Comandos de repetição pucrs". Fiz um exemplo de como você poderia desenvolver #include <stdio.h> #include <stdlib.h> int main(void) { /* Inicia as variáveis */ int dividendo = 0, divisor = 0, quociente = 0; /* Cria um local temporario para receber as informações a serem tratadas */ char buffer_entrada[256] = {'\0'}; /* Faz um laço de repetição */ do { printf("Digite o dividendo:"); fgets(buffer_entrada, 255, stdin); // Pega a entrada do teclado sscanf(buffer_entrada, "%i", ÷ndo); // Retira apenas o valor desejado printf("Digite o divisor:"); fgets(buffer_entrada, 255, stdin); // Pega a entrada do teclado sscanf(buffer_entrada, "%i", &divisor); // Retira apenas o valor desejado quociente = dividendo/divisor; if (quociente > 2) { printf("Programa encerrado!\n"); // Se for maior que 2 encerra o programa } else { printf("O valor da divisao foi: %i", quociente); // Se for menor que 2 mostra a divisão } } while (quociente < 2); // Repete enquanto o quociente da divisão for menor que 2 return(0); } -
C Vocês sabem como usar o laço for e scanf com strings?
kgin respondeu ao tópico de Kenshiro2517 em C/C#/C++
Boa noite, poderia postar o enunciado do problema ou tentar explicar melhor o que o programa faz? -
VisualG algoritmo não reconhece FimEscolha, encerra com: esperava encontrar FimAlgoritma
kgin respondeu ao tópico de chillys em Programação - iniciantes
Tem que colocar um espaço entre a opção na estrutura escolha e o comando caso Jeito certo algoritmo "semnome" var D:inteiro valor:real inicio escreval("bem vindo ao cirança esperança, gostaria de fazer uma doação?") escreval("[1] para doar R$10") escreval("[2] para doar R$25") escreval("[3] para doar R$50") escreval("[4] para doar outro valor") escreval("[5] para cancelar doação") leia(D) Escolha D caso 1 valor <- 10 caso 2 valor <- 25 caso 3 valor <- 50 caso 4 escreva("insira o valor da doação R$") leia(valor) caso 5 valor <- 0 FimEscolha escreval("sua doação foi de R$",valor) fimalgoritmo -
Procurando em alguns dumps de CDs que tenho aqui eu encontrei alguns com "vírus". Já que não pode postar o arquivo aqui (eu acho que não), então eu vou colocar uma imagem do arquivo com 2 cabeçalhos de execução. No windows só pode existir um cabeçalho pe por arquivo. Extrai o executável para checar o que era, mas estava corrompido. Pelo jeito o arquivo foi corrompido pelo dep do windows xp, ele fazia isso com alguns executáveis suspeitos. Seria interessante postar os arquivos para fazer uma analise melhor, mas como eu disse lá em cima provavelmente é contra as regras do fórum.
-
Vish, recomendo usar uma nas especificações mais próximos que estão no vídeo game. O ideal seria abrir e checar a versão exata. O primeiro modelo japonês que tem uma gambiarra feita pela sega e o mais problemático com fonte. A fonte do primeiro sem o TMSS tem a fonte invertida, e a dos outros aparelhos seguem o padrão americano. Essa é do mega americano a pinagem é invertida em relação ao japonês.
-
Já vendi muitos CDs de jogos e cursos da digerati, e eu posso confirmar que a maioria deles tem vírus. A maior parte dos vírus que estão embutidos nos jogos não fazem nada com o windows atualmente, mas eu recomendo rodar em um sandbox para ter certeza. A alguns anos atrás eu mantive contato com algumas editoras que vendiam esses CDs (eu vendia a mercadoria deles), e quase todos já confirmaram a existência de vírus nos CDs.
-
Qualquer fonte acima de 6V já liga de boa o mega. Procure fontes com menos de 2A e 9V. No mercado livre é cheio desse tipo, apenas o primeiro modelo necessita de uma fonte específica.
-
@DaviFonsecx o melhor seria fazer "parecer" que é aleatório. Se você perguntar como assim parecer? Um quadrado mágico depende de varias constantes, que acabam gerando muita entropia (se o quadrado é ímpar, par ou primo) e tornando quase impossível de gerar um aleatório. Recomendo dar uma olhada nessa postagem Como criar um quadrado mágico de qualquer tamanho Com um quadrado já feito é mais fácil modificar para parecer aleatório.
-
VisualG VisualG esperando uma expressão lógica
kgin respondeu ao tópico de ryan_santos em Programação - iniciantes
Esqueci de avisar que é bom você passar os caracteres para maiúsculo (ou minúsculo) antes de fazer uma comparação, e comparar os caracteres em uma caixa só (alta ou baixa, mas nunca as duas ao mesmo tempo). O visualG tem um bug com isso, então é melhor evitar. Para passa para maiúsculo utilize a função maiusc(), e as outras funções você pode checar aqui no manual visualG -
VisualG VisualG esperando uma expressão lógica
kgin respondeu ao tópico de ryan_santos em Programação - iniciantes
O tipo da variável tipo_bem está errado, o ideal seria ela ser do tipo caractere. Já no caso do estrutura Se ... Então o ideal seria usar sem o comando SeNão, dessa maneira. se (tipo_bem = "C") então computador <- computador + 1 fimse se (tipo_bem = "I") então impressora <- impressora + 1 fimse se (tipo_bem = "S") então scanner <- scanner + 1 fimse Mas o ideal mesmo seria usar o Escolha ... Caso. Exemplo: Algoritmo "semnome" Var // Seção de Declarações das variáveis Computador: inteiro Scanner: inteiro Impressora: inteiro continuar: caractere tipo_bem: caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... computador <- 0 impressora <- 0 scanner <- 0 // Laço principal do levantamento repita escrevaL("-----------------------------------") escrevaL("---LEVANTAMENTO DE BENS MATERIAIS--") escrevaL("-----------------------------------") escreval("BENS PATRIMONIAIS:") escreval(".............[C] COMPUTADOR") escreval(".............[I] IMPRSSORA") escreval(".............[S] SCANNER") escreval("Selhecione o tipo do bens para realizar o levantamento: ") leia( tipo_bem ) // Verificando tipo de bem informado escolha maiusc(tipo_bem) caso "C" Computador <- Computador+1 caso "I" Impressora <- Impressora+1 caso "S" Scanner <- Scanner+1 outrocaso escreval("Caractere invalido!") fimEscolha escreva("Deseja continuar o levantamento [S] ou [N] ? ") leia(continuar) ate ( (continuar = "N") ou (continuar = "n") ) // Exibir o resultado final do levantamento escreval("---------------------------------------------------") escreval("Resultado do levantamento:") escreval("Total de Computadores: ", computador) escreval("Total de Impressoras: ", impressora) escreval("Total de Scanners: ", scanner) Fimalgoritmo funcionando -
Notebook lento quando está em cima da mesa
kgin respondeu ao tópico de José Victor Gomes em Notebooks
Pode ser energia estática. Aço escovado, pvc, isopor e algumas madeiras (como peroba rosa, cedrinho e alguns tipos de mdf e mdp) podem guardar energia estatística, principalmente se estiverem perto de algum transformador. Coloque em cima de algum isolante na mesa e teste pra ver se é isso mesmo. -
Ele está indicando o erro na linha acima. o correto é para <variável> de <valor-inicial> ate <valor-limite> [passo <incremento>] faca falta a palavra de atribuição de no lugar de <- (comando de atribuição de variável) manual visualG
-
Você poderia fazer assim /* Pega a quantidade de clientes */ do { printf("Quantos clientes deseja cadastrar?\n"); fgets(buffer_teclado, TAMANHO_BUFFER, stdin); sscanf(buffer_teclado, "%i", &numero_clientes); /* Checa se o primeiro caractere é uma letra do alfabeto * isalpha e uma função que pertence a biblioteca ctype */ if (isalpha(*buffer_teclado)) { printf("Entrada Invalida!\n"); } } while ((isalpha(*buffer_teclado) != 0) || (numero_clientes <= 0)); Checando toda vez se a entrada do teclado não começa com uma letra. Quando for postar no fórum utilize o botão code e poste todos os arquivos do programa. exemplo completo #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include "cliente.c" #define TAMANHO_BUFFER 256 int main(void) { char buffer_teclado[TAMANHO_BUFFER]; int numero_clientes = 0, contador; /* Pega a quantidade de clientes */ do { printf("Quantos clientes deseja cadastrar?\n"); fgets(buffer_teclado, TAMANHO_BUFFER, stdin); sscanf(buffer_teclado, "%i", &numero_clientes); /* Checa se o primeiro caractere é uma letra do alfabeto * isalpha e uma função que pertence a biblioteca ctype */ if (isalpha(*buffer_teclado)) { printf("Entrada Invalida!\n"); } } while ((isalpha(*buffer_teclado) != 0) || (numero_clientes <= 0)); //Alocação dinâmica do ponteiro clientes do tipo Cliente Cliente *clientes = malloc(sizeof(*clientes)*numero_clientes); for (int contador = 0; contador < n; contador++) { //Cadastro do nome do cliente printf("Informe o nome do cliente: "); fgets(buffer_teclado, TAMANHO_BUFFER, stdin); buffer_teclado[strlen(buffer_teclado)] = '\0'; strcpy(clientes[contador].nome, buffer_teclado); //Cadastro do enedereço do cliente printf("Informe o endereço do cliente: "); fgets(buffer_teclado, TAMANHO_BUFFER, stdin); buffer_teclado[strlen(buffer_teclado)] = '\0'; strcpy(clientes[contador].endereco, buffer_teclado); //Cadatro do código do cliente printf("informe o código do cliente: "); fgets(buffer_teclado, TAMANHO_BUFFER, stdin); sscanf(buffer_teclado, "%i", &clientes[contador].endereco); } atribuirDados(clientes, numero_clientes); //CRIAR FUNÇÃO QUE APAGA O ARQUIVO TXT free(clientes); //Esvaziamento da memória alocada pelo ponteiro clientes clientes = NULL; return(0); }
-
@Capvaro O que você está tentando fazer exatamente? Seria melhor abrir outro tópico mais específico sobre o problema.
-
Boa noite! O problema principal é que você declarou todos os tipos caractere como caractere e a outros problemas pontuais que tornam meio difícil consertar o algoritmo. recomendaria começar de novo e focar só no jogo em si por enquanto.
-
VisualG Calcular média escolar, cadastro e pesquisa de aluno
kgin respondeu ao tópico de HenriqueArisi em Programação - iniciantes
Na hora que eu estava testando o programa eu fiz algumas modificações . Por isso não percebi o erro, mas o erro está na linha 50. Funcionando agora Algoritmo "CadastroAlunos" const // AQUI VOCÊ ALTERA A QUANTIDADE DE ALUNOS NO PROGRAMA AAAAAAAAAAH........ •`_´• QUANTIDADE_MAXIMA_ALUNOS = 2 Var opcao: Caractere RA: Vetor[1..QUANTIDADE_MAXIMA_ALUNOS] de Inteiro Nota1: Vetor[1..QUANTIDADE_MAXIMA_ALUNOS] de Real Nota2: Vetor[1..QUANTIDADE_MAXIMA_ALUNOS] de Real Cidade: Vetor[1..QUANTIDADE_MAXIMA_ALUNOS] de Caractere MEDIA: Vetor[1..QUANTIDADE_MAXIMA_ALUNOS] de Real contador: Inteiro raPesquisa: Inteiro encontrou: Logico alunosCadastrados: Logico procedimento espera var entrada:caractere inicio escreval("Pressione enter para continuar...") leia(entrada) fimProcedimento Inicio Para contador de 1 ate QUANTIDADE_MAXIMA_ALUNOS faca RA[contador] <- 0 Nota1[contador] <- 0 Nota2[contador] <- 0 MEDIA[contador] <- 0 FimPara alunosCadastrados <- Falso contador <- 1 Enquanto opcao <> "S" faca Escreval("==================================================") Escreval(" -=MENU=-") Escreval("1 - Cadastrar aluno") Escreval("2 - Pesquisar aluno") Escreval("3 - Listar alunos") Escreval("4 - Lista média de todos alunos da turma") Escreval("S - Sair") Escreval("==================================================") Escreval("Digite Opção: ") Leia(opcao) LimpaTela Escolha opcao Caso "1" // O ERRO ERA AQUI! // Cadastrar aluno // Enquanto (contador <= QUANTIDADE_MAXIMA_ALUNOS) E (RA[i] <> 0) faca // contador <- contador + 1 // FimEnquanto // FIM DO ERRO! Se contador <= QUANTIDADE_MAXIMA_ALUNOS então Escreva("Digite o RA do aluno: ") Leia(RA[contador]) Escreva("Digite a Nota 1 do aluno: ") Leia(Nota1[contador]) Escreva("Digite a Nota 2 do aluno: ") Leia(Nota2[contador]) Escreva("Digite a Cidade do aluno: ") Leia(Cidade[contador]) MEDIA[contador] <- (Nota1[contador] + Nota2[contador]) / 2 LimpaTela Escreval("Aluno cadastrado com sucesso!") contador <- contador+1 Senao Escreval("Limite de alunos atingido.") espera FimSe Caso "2" // Pesquisar aluno Se alunosCadastrados então Escreval("Digite o RA para pesquisa: ") Leia(raPesquisa) encontrou <- Falso Para contador de 1 ate QUANTIDADE_MAXIMA_ALUNOS faca Se RA[contador] = raPesquisa então LimpaTela Escreval("Média: ", MEDIA[contador]) encontrou <- Verdadeiro Interrompa FimSe FimPara Se não encontrou então Escreval("RA inexistente") FimSe Senao Escreval("Nenhum aluno cadastrado até o momento.") FimSe Caso "3" // Listar alunos Se alunosCadastrados então Para contador de 1 ate QUANTIDADE_MAXIMA_ALUNOS faca Se RA[contador] <> 0 então Escreval("RA: ", RA[contador]) Escreval("Nota 1: ", Nota1[contador]) Escreval("Nota 2: ", Nota2[contador]) Escreval("Média: ", MEDIA[contador]) Escreval("---------------------------------") FimSe FimPara Senao Escreval("Nenhum aluno cadastrado até o momento, consequentemente, nenhuma média calculada.") FimSe Caso "4" // Listar médias Se alunosCadastrados então Para contador de 1 ate QUANTIDADE_MAXIMA_ALUNOS faca Se RA[contador] <> 0 então Escreval("RA: ", RA[contador]) Escreval("Média: ", MEDIA[contador]) Escreval("---------------------------------") FimSe FimPara Senao Escreval("Nenhum aluno cadastrado até o momento.") FimSe Caso "S" Escreval("Agradecemos por utilizar o programa!") OutroCaso Escreval("Opção inválida. Tente novamente.") FimEscolha FimEnquanto FimAlgoritmo Tente reestruturar o programa, e evite usar variáveis com nomes pouco significativos como i ou ra acaba dificultando o entendimento do mesmo. -
VisualG Calcular média escolar, cadastro e pesquisa de aluno
kgin respondeu ao tópico de HenriqueArisi em Programação - iniciantes
Você tem que colocar para o programa parar nesse momento. Exemplo: Algoritmo "CadastroAlunos" Var opcao: Caractere RA: Vetor[1..10] de Inteiro Nota1: Vetor[1..10] de Real Nota2: Vetor[1..10] de Real Cidade: Vetor[1..10] de Caractere MEDIA: Vetor[1..10] de Real i: Inteiro raPesquisa: Inteiro encontrou: Logico alunosCadastrados: Logico procedimento espera var entrada:caractere inicio escreval("Pressione enter para continuar...") leia(entrada) fimProcedimento Inicio Para i de 1 ate 10 faca RA[i] <- 0 Nota1[i] <- 0 Nota2[i] <- 0 MEDIA[i] <- 0 FimPara alunosCadastrados <- Falso Enquanto opcao <> "S" faca Escreval("==================================================") Escreval(" -=MENU=-") Escreval("1 - Cadastrar aluno") Escreval("2 - Pesquisar aluno") Escreval("3 - Listar alunos") Escreval("4 - Lista média de todos alunos da turma") Escreval("S - Sair") Escreval("==================================================") Escreval("Digite Opção: ") Leia(opcao) LimpaTela Escolha opcao Caso "1" // Cadastrar aluno i <- 1 Enquanto (i <= 10) E (RA[i] <> 0) faca i <- i + 1 FimEnquanto Se i <= 10 então Escreva("Digite o RA do aluno: ") Leia(RA[i]) Escreva("Digite a Nota 1 do aluno: ") Leia(Nota1[i]) Escreva("Digite a Nota 2 do aluno: ") Leia(Nota2[i]) Escreva("Digite a Cidade do aluno: ") Leia(Cidade[i]) MEDIA[i] <- (Nota1[i] + Nota2[i]) / 2 LimpaTela Escreval("Aluno cadastrado com sucesso!") alunosCadastrados <- Verdadeiro Senao Escreval("Limite de alunos atingido.") espera FimSe Caso "2" // Pesquisar aluno Se alunosCadastrados então Escreval("Digite o RA para pesquisa: ") Leia(raPesquisa) encontrou <- Falso Para i de 1 ate 10 faca Se RA[i] = raPesquisa então LimpaTela Escreval("Média: ", MEDIA[i]) encontrou <- Verdadeiro Interrompa FimSe FimPara Se não encontrou então Escreval("RA inexistente") FimSe Senao Escreval("Nenhum aluno cadastrado até o momento.") FimSe Caso "3" // Listar alunos Se alunosCadastrados então Para i de 1 ate 10 faca Se RA[i] <> 0 então Escreval("RA: ", RA[i]) Escreval("Nota 1: ", Nota1[i]) Escreval("Nota 2: ", Nota2[i]) Escreval("Média: ", MEDIA[i]) Escreval("---------------------------------") FimSe FimPara Senao Escreval("Nenhum aluno cadastrado até o momento, consequentemente, nenhuma média calculada.") FimSe Caso "4" // Listar médias Se alunosCadastrados então Para i de 1 ate 10 faca Se RA[i] <> 0 então Escreval("RA: ", RA[i]) Escreval("Média: ", MEDIA[i]) Escreval("---------------------------------") FimSe FimPara Senao Escreval("Nenhum aluno cadastrado até o momento.") FimSe Caso "S" Escreval("Agradecemos por utilizar o programa!") OutroCaso Escreval("Opção inválida. Tente novamente.") FimEscolha FimEnquanto FimAlgoritmo Eu testei aqui e está tudo normal, mas esse erro aí seria na linha 43 no comando Leia(opcao) que estaria faltando ) um parênteses. -
VisualG Procedimentos no VisualG... Mensagem de sintaxe incorreta
kgin respondeu ao tópico de dmoret em Programação - iniciantes
Você errou na sintaxe do se..então No final teria que ter um fimSe, e eu recomendo não usar acentos nas palavras no visualG. Ele tem a tendência de buggar até com as próprias palavras reservadas. Outra melhoria seria usar a estrutura de decisão escolha ao invés do se...então. Exemplo: algoritmo "_" Var // Seção de Declarações das variáveis categoria: caractere tipoc: caractere diarias: inteiro vlr_diaria: real vlr_total: real desconto: real Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Escolha a categoria do veículo (1, 2 ou 3): ") leia(categoria) escreval("Digite a qtd de diárias: ") leia(diarias) escolha categoria caso "1" vlr_diaria <- 299.99 escreval("Categoria: Popular") caso "2" vlr_diaria <- 399.99 escreval("Categoria: Hatch ou Sedan Intermediário") caso "3" vlr_diaria <- 499.99 escreval("Categoria: SUV ou Sedan Luxo") fimEscolha escreval("Tipo Categoria: ", tipoc) escreval("Qtd de diárias: ", diarias) escreval("Vlr da diária: R$ ", vlr_diaria) se diarias <= 6 então desconto <- 0 senao se diarias <= 14 então desconto <- 0.05 senao se diarias <= 30 então desconto <- 0.1 fimSe vlr_total <- diarias * vlr_diaria * (1 - desconto) escreval("Valor total do aluguel: R$ ", vlr_total) Fimalgoritmo -
Já tentou bloquear o programa no firewall do windows? como bloquear o acesso de internet a um programa.
-
Pascal como usar o Turbo PascaL com DOSBOX
kgin respondeu ao tópico de devair1010 em Programação - outros
Pressione alt+enter para colocar em modo tela cheia. o programa não tem um modo maximizado! e ctrl+F10 para soltar o cursor do mouse. Seria melhor você baixar os dois separados. nesse link tem o turbo pascal 7 -
@matheus.Matta testei aqui e funcionando "normal"! O replit funciona com uma maquina virtual linux, então você precisa de um ambiente igual ao replit para funcionar. a maioria das versões do gcc para o windows não ligam para a compatibilidade entre os sistemas, então seu problema seja esse. recomendo usar o tdm-gcc pelo fato de ser bem mais simples pra quem está iniciando.
-
Bat Como copiar todo o conteúdo de um disco para uma pasta de outro disco no MS DOS
kgin respondeu ao tópico de carcleo1999 em Programação - outros
Creio eu que o ideal seria usar o seguinte comando /s /e /k /p /i Se a pasta não existir ele vai forçar para ser criada. O ideal seria usar o comando robocopy porque o xcopy coloca o arquivo todo na memória (até onde eu me lembro) antes de copiar. colocando o comando /Z você pode acompanhar o progresso do xcopy. XCOPY Microsoft learn -
VisualG Cadastro de produtos, consulta de estoques usando vetores
kgin respondeu ao tópico de Eli Almeida em Programação - iniciantes
Esta sim! Veja que no enunciado não pede para retornar nada Uma melhoria seria colocar algumas checagens de entrada para evitar informações duplicadas. Dessa maneira funcao produto_existe(nome:caractere):inteiro var contador:inteiro inicio retorne 0 para contador de 1 ate quantidade_produtos_cadastrados faca se nome = produtos[contador].nome então retorne contador interrompa fimSe fimPara fimFuncao procedimento cadastra_produto var opcao:caractere inicio repita escreva("Digite o nome do produto:") leia(p_temp.nome) se (produto_existe(p_temp.nome) > 0) então escreval("O produto ", p_temp.nome, " Já existe no cadastro!") escreval("Deseja continuar cadastrando outro?") escreva("[S/N]:") leia(opcao) se (opcao <> "s") então interrompa fimSe fimSE ate não ((produto_existe(p_temp.nome) > 0) e (opcao = "s")) fimProcedimento Fiz de cabeça e provavelmente nem funciona :b
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