Ir ao conteúdo
  • Cadastre-se

Igor Emanoel Junqueira

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

6
  1. @giu_d Obrigado pelas dicas realmente não tinha colocado, na questão do menu não posso colocar pois o site não aceita,coloquei do jeito que você falou o do while, o case 5 , o default não tenho o que colocar nele pois não posso colocar qualquer mensagem no programa porque o site não aceita. mas enviei no site e continua com a mesmo nota.
  2. No trabalho pede pra fazer o seguinte. O programa deverá apresentar um menu contendo as opções incluir (1), excluir (2), listar (3), alterar (4) e sair (5). Deverão ser criados n vetores (sendo n o número de informações). O vetor deverá possui um número limite sendo que a rotina de inclusão deverá respeitar esse limite, caso o usuário tente incluir um registro fora do tamanho especificado o sistema deverá apresentar a mensagem "cheio". A exclusão deverá ser do tipo lógica, ou seja, deverá existir um vetor do tipo booleano que define se o registro está ou não excluído. Para alteração e exclusão deverá ser utilizado o primeiro campo do registro para a busca, caso não seja encontrado o programa deverá apresentar a mensagem "nao existe". Parte-se do pressuposto que não deverão existir dois registros com o primeiro campo de busca igual. Durante a alteração o primeiro campo não poderá ser alterado. No início do programa sempre deverá ser lido a quantidade de registros. fiz e enviei no site da minha faculdade que da a nota na hora ele deu nota 75.8 e deu a seguinte mensagem de erro. O programa pode realizar uma repetição sem fim de operações de escrita. A quantidade de dados escritos pelo programa é diferente da quantidade de dados esperados. já testei tudo e não achei nada de errado, se poder ajudar a encontrar algo de errado vai ajudar muito segue o código. #include <iostream> using namespace std; int main(){ int limite, menu, j; cin >> limite; string nome[limite], marca[limite], ano[limite], descricao[limite], aux; bool registro[limite]; for (int i = 0; i < limite; i++) registro[i] = true; bool vazio = true, auxBool; menu = 0; while (menu != 5) { cin >> menu; switch(menu) { case 1: //incluir vazio = false; j = 0; while (!vazio and j < limite) { //verificar se tem espaço no vetor if (registro[j]) { vazio = true; } j++; } //posição do vetor com espaço vazio está 1 posição na frente, então j-- j--; if (!vazio) { cout << "cheio" << endl; } else { registro[j] = false; cin >> nome[j]; cin >> marca[j]; cin >> ano[j]; cin >> descricao[j]; } break; case 2: //excluir cin >> aux; j = 0; auxBool = true; while (j < limite and auxBool) { if (aux == nome[j] and registro[j] == false) { auxBool = false; registro[j] = true; } j++; } if (auxBool) cout << "nao existe" << endl; break; case 3: //listar for (int i = 0; i < limite; i++) { if (!registro[i]) { cout << nome[i] << endl; cout << marca[i] << endl; cout << ano[i] << endl; cout << descricao[i] << endl; } } break; case 4: //alterar cin >> aux; auxBool = true; j = 0; while (j < limite and auxBool) { if (nome[j] == aux and registro[j] == false) { cin >> marca[j]; cin >> ano[j]; cin >> descricao[j]; auxBool = false; } j++; } if (auxBool) cout << "nao existe" << endl; break; } } return 0; }
  3. @devair1010 enviei no site da minha faculdade que corrige automático os exercícios, testei aqui seu código e esta dando loop infinito, mas de qualquer forma obrigado por ajudar.
  4. Questão 12: Vetores - Caracteres intermediários Faça um programa com um vetor de tamanho n que irá receber um conjunto de caracteres. O tamanho n deverá ser lido antes dos caracteres. O programa deve ler mais 2 caracteres que servirão como marcadores. O programa, então, deverá escrever os caracteres do conjunto que estão entre os dois caracteres digitados como marcadores. Os marcadores não precisam estar em ordem, ou seja, o primeiro marcador não necessariamente precisa vir antes do segundo. Entrada: 1-Tamanho n do vetor. 2-Linha contendo os caracteres do vetor (separados entre si por espaço). 3-Linha contendo os dois caracteres delimitadores (separados entre si por espaço). Saídas: 1- Caracteres do vetor entre os delimitadores. Exemplo de entrada: 6 A B C D E F C F Exemplo de saída: D E enviei esse exercício e o site me deu nota 18.7 dizendo que A quantidade de dados escritos pelo programa é diferente da quantidade de dados esperados.Alguém pode me ajudar a fazer de uma outra forma ? Obrigado! #include <iostream> using namespace std; int main () { int n,i; cin >> n; char vet[n],n1,n2; bool aux = false; for(i=0; i<n; i++){ cin >> vet[i]; } cin >> n1 >> n2; for(i=0; i<n; i++){ if (vet[i] == n1){ while (!aux and vet[i] != n2){ cout << vet[i+1] << " "; i++; if (i == n-2){ aux = true; } } } } return 0; }
  5. @Simon Viegas Obrigado pelas dicas, estava usando do jeito que você mostrou o operador logico ou só que na hora de rodar tava calculando errado ai resolvi fazer um por um mais vou tentar de novo usando essas suas dicas. Muito Obrigado me ajudou muito!
  6. @Simon Viegas Obrigado! achei mais fácil usar o SE primeiro e o escolha caso por ultimo da uma olhada se esta certo e da uma olhada pra mim se a tabulação do código esta correta porque minha professora também cobra muito isso,o senao não achei necessário usar, você acha que devo colocar ? muito obrigado mano ta me ajudando muito Algoritmo "FolhaDePagamento" // Descrição : Programa para calcular folha de pagamento // Autor(a) : Igor Emanoel .G. Junqueira // Data atual : 04/09/2017 Var codigo :inteiro //codigo do funcionário horas_trab :inteiro //número de horas trabalhadas turno :caracter //turno de trabalho categoria :caracter //categoria do funcionário sal_minimo :real //salario minimo valor_hora :real //valor da hora trabalhada sal_inicial :real //valor salario inicial aux_aliment :real //valor do auxílio alimentação sal_final :real //valor do salário final i: inteiro //i do comando de repetição Inicio para i <-1 ate 400 faca //leitura de dados do funcionário Escreval("Informe seu codigo:") Leia(codigo) Escreval("Informe o numero de horas trabalhadas no mês:") Leia(horas_trab) Escreval("Digite G para gerente e F para funcionario") Escreval("Informe sua categoria:") Leia(categoria) Escreval("Digite M para Matutino e V para Vespertino N para Noturno") Escreval("Informe seu Turno:") Leia(turno) Escreval("Informe o Salario Minimo:") Leia(sal_minimo) Se (categoria = "G") e (turno = "N")então valor_hora <- sal_minimo * 0.06 fimse se (categoria = "G") e (turno = "M")então valor_hora <- sal_minimo * 0.04 fimse se (categoria = "G") e (turno = "V")então valor_hora <- sal_minimo * 0.04 fimse se (categoria = "F") e (turno = "N")então valor_hora <- sal_minimo * 0.02 fimse se (categoria = "F") e (turno = "M")então valor_hora <- sal_minimo * 0.01 fimse se (categoria = "F") e (turno = "V")então valor_hora <- sal_minimo * 0.01 fimse //formula para calcular o salario inicial sal_inicial <- horas_trab * valor_hora escolha (sal_inicial) Caso 1 ate 800 aux_aliment <- sal_inicial * 0.25 Caso 801 ate 1200 aux_aliment <- sal_inicial * 0.20 Caso 1201 ate 9999999 aux_aliment <- sal_inicial * 0.15 outrocaso escreval ("Opção Invalida") fimescolha sal_final <- sal_inicial + aux_aliment Escreval("Codigo:",codigo," Horas Trabalhadas:",horas_trab) Escreval("Valor da Hora Trabalhada:",valor_hora," Salario Inicial:",sal_inicial) Escreval("Auxilio Alimentação:",aux_aliment," Salario Final:",sal_final) fimpara Fimalgoritmo
  7. @Simon Viegas dei mais uma mexida no algoritmo ficou assim Algoritmo "FolhaDePagamento" // Descrição : Programa para calcular folha de pagamento // Autor(a) : Igor Emanoel .G. Junqueira // Data atual : 04/09/2017 Var cod: inteiro //codigo nhoratrab: inteiro // número de horas trabalhadas turno: caracter catg: caracter //categoria salam: real // salario minimo salain: real // salario inicial i: inteiro //i do comando de repetição sl:real // variavel para receber salario minimo sli:real // variavel para receber salario inicial slf: real // salario final Inicio para i <-1 ate 400 faca escreval ("Informe seu codigo:") leia (cod) escreval ("Informe o numero de horas trabalhadas:") leia (nhoratrab) Escreval ("Digite G para gerente e F para funcionario") Escreval ("Informe sua categoria:") leia (catg) Escreval ("Digite M para Matutino e V para Vespertino N para Noturno") Escreval ("Informe seu Turno:") leia (turno) Escreval ("Informe o Salario Minimo:") leia (salam) Escolha (turno) e (catg) Caso "G" e "N" sl <- salam * 0.06 Escreva (sl) caso "G" e "M" ou "V" sl <- salam * 0.04 caso "F" e "N" sl <- salam * 0.02 caso "F" e "M" ou "V" sl <- salam * 0.01 fimescolha Escreval ("Informe seu salario Inicial:") leia (salain) se (salain<=800.00)então sli <- salain * 0.25 fimse se (salain>800.00) ou (salain<=1.200)então sli <- salain * 0.20 fimse se (salain>1.200)então sli <- salain * 0.15 fimse slf <- salain + sli Escreval ("Codigo:",cod," Horas Trabalhadas:", nhoratrab) Escreval ("Valor da Hora Trabalhada:",sl," Salario Inicial:", salain) Escreval ("Auxilio Alimentação:", sli ," Salario Final:", slf) fimpara Fimalgoritmo
  8. Algoritmo "FolhaDePagamento" // Descrição : Programa para calcular folha de pagamento // Autor(a) : Igor Emanoel .G. Junqueira // Data atual : 04/09/2017 Var cod: inteiro //codigo nhoratrab: inteiro // número de horas trabalhadas turno: caracter catg: caracter //categoria salam: real // salario minimo salain: real // salario inicial i: inteiro //i do comando de repetição sl:real // variavel para receber salario minimo sli:real // variavel para receber salario inicial slf: real // salario final Inicio para i <-1 ate 400 faca escreval ("Informe seu codigo:") leia (cod) escreval ("Informe o numero de horas trabalhadas:") leia (nhoratrab) Escreval ("Digite M para Matutino e V para Vespertino N para Noturno") Escreval ("Informe seu Turno:") leia (turno) Escreval ("Digite G para gerente e F para funcionario") Escreval ("Informe sua categoria:") leia (catg) Escreval ("Informe o Salario Minimo:") leia (salam) Escolha (turno) e (catg) Caso "G" e "N" sl <- salam * 0.06 Escreva (sl) caso "G" e "M" ou "V" sl <- salam * 0.04 caso "F" e "N" sl <- salam * 0.02 caso "F" e "M" ou "V" sl <- salam * 0.01 casocontrario // não consegui fazer o caso contrario Escreva ("Opção Invalida") fimescolha Escreval ("Informe seu salario Inicial:") leia (salain) se (salain<=800.00)então sli <- salain * 0.25 fimse se (salain>800.00) ou (salain<=1.200)então sli <- salain * 0.20 fimse se (salain>1.200)então sli <- salain * 0.15 fimse slf <- salain + sli fimpara Escreval (cod, nhoratrab, sl, salain , sli , slf) Fimalgoritmo Ficou mais ou menos assim porque fiz no caderno ai passei para o VisualG mais não precisa rodar no VISUALG tem que entregar no papel mesmo, só me fala se tem algo errado e se ta certo esses metodos que usei Obrigado!
  9. @Simon Viegas Obrigado! estou com duvida na parte de usar o Escolha caso e também no comando de repetição
  10. Galera estou com esse trabalho de AED1 na imagem fala tudo que tem que fazer se alguém poder ajudar de preferência em visualg. Obrigado!

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