Ir ao conteúdo

AdrianoSiqueira

Membro Pleno
  • Posts

    1.273
  • Cadastrado em

  • Última visita

Tudo que AdrianoSiqueira postou

  1. @Lucca Rodrigues Na linha 16 adiciona a condição de parada dentro do for: for (quantidade = 0; entrada < 0; ++quantidade) { //Caso a quantidade seja 0 E remove o bloco else nas linhas 24 e 25, deixando apenas o if: if (entrada >= 0) //Caso o valor seja maior que 0 media += entrada; //Atribuição por adição
  2. @Lucca Rodrigues Quais comandos foram usados e que não podiam? Você fala das operações com strings?
  3. Para usar os valores da variável user, ela tem que ser declarada como atributo da classe, ou seja, do lado de fora dos métodos.
  4. public boolean certificPlaca(String placa) { return placa.length() == 8; }
  5. Seria algo assim? String s = "Oi"; if (s.length() == 1) System.out.println(s); else System.out.println("Erro");
  6. Seria algo assim? #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int quantidade; double entrada; double media; char situacao[10] = ""; char repetir = 's'; do { // Reseta as variáveis a cada ciclo entrada = 0; media = 0; system("cls"); for (quantidade = 0;; ++quantidade) { do { printf("Nota [%i]: ", (quantidade + 1)); scanf("%lf", &entrada); } while (entrada > 10); if (entrada >= 0) media += entrada; else break; } if (quantidade > 0) media /= quantidade; if (media >= 6) strcpy(situacao, "Aprovado"); else strcpy(situacao, "Reprovado"); printf("------------------------------ \n"); printf(" Média: %.2f \n", media); printf("Situação: %s \n", situacao); printf("------------------------------ \n"); printf("Repetir [ S / N ]: "); scanf(" %c", &repetir); } while(repetir == 's'); return 0; } Observações: 1- O for está trabalhando com uma variável externa à sua declaração, isso é útil porque assim podemos acessar essa variável fora do laço. 2- Repare que o segundo argumento do for foi omitido, isso porque a condição de parada não é numérica.
  7. Tenta assim: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int quantidade = 0; double entrada = 0; double media = 0; char repetir = 's'; char situacao[10] = ""; do { // Limpar a tela system("clear"); // Linux // system("cls"); // Windows printf("Quantidade de notas: "); scanf("%i", &quantidade); if (quantidade <= 0) // Valor inválido exit(1); // Saída com erro for (int i = 0; i < quantidade; ++i) { do { printf("Nota [%i de %i]: ", i, quantidade); scanf("%lf", &entrada); } while (entrada < 0 || entrada > 10); media += entrada; } media /= quantidade; if (media >= 6) strcpy(situacao, "Aprovado"); else strcpy(situacao, "Reprovado"); printf("------------------------ \n"); printf(" Média: %.2f \n", media); printf("Situação: %s \n", situacao); printf("------------------------ \n"); printf("Repetir? [ S / N ]: "); scanf(" %c", &repetir); } while (repetir == 's'); return 0; }
  8. @Ray fourth Cara aquele diagrama de classe está meio estranho, eu também não estou conseguindo entender o contexto como um todo. Talvez uma pessoa mais experiente possa te ajudar.
  9. A variável numero representa a posição no vetor valor. Já a variável valor é o novo valor que deve ser atribuído na posição numero: public void setValor(int numero, int valor) { this.valor[numero] = valor; } // Lembrando que this.valor é o vetor da classe Equipamento. // E valor é a variável que veio por parâmetro do método. De acordo com o diagrama de classe, o vetor tem esse nome de valor apenas para dificultar, para deixar mais fácil o entendimento, renomeie o vetor para algum outro nome.
  10. Um exemplo de código menor seria algo assim: #include <stdio.h> #include <stdlib.h> int main() { int tamanho = 1000; int i; double vetor[tamanho]; double entrada = 0; double media = 0; for (i = 0; i < tamanho; ++i) { printf("Digite um número: "); scanf("%lf", &entrada); if (entrada < 0) break; vetor[i] = entrada; media += entrada; } if (entrada < 0) { media /= i; printf("Média: %.2f \n", media); } return 0; }
  11. Já tentou assim: int soma = 0; for (int i = 0; i < TAM; ++i) { for (int j = 0; j < LARGE; ++j) { soma += matriz[TAM][LARGE]; } } printf("Soma: %i", soma);
  12. Tenta isso: https://www.guj.com.br/t/metodo-para-limpar/79605/7
  13. Segue um exemplo funcional: public class Principal { public static void main(String[] args) { System.out.println("Hello World!!!"); // Suja a tela try { Thread.sleep(1000); // Espera 1 segundo para ver a mágica acontecer new ProcessBuilder("clear").inheritIO().start().waitFor(); // Para linux (acho que para mac também) } catch(Exception e) { e.printStackTrace(); } } } Como eu uso Linux, vou mostrar como fazer pelo terminal, mas no cmd do Windows o processo deve ser semelhante: $ javac Principal.java $ java Principal 1- O comando javac chama o compilador e passa a classe Principal.java para ser compilada. 2- O comando java chama a JRE e passa o arquivo Principal.class gerado pelo javac. No caso do terminal do Linux, não foi necessário explicitar a extensão .class. 3- O símbolo de dólar ($) indica que os comandos foram executados como usuário comum (sem permissões administrativas). Compilando o programa: Executando: Depois de 1 segundo:
  14. Para limpar a tela do console você pode usar: try { new ProcessBuilder("cls").inheritIO().start().waitFor(); // Para windows new ProcessBuilder("clear").inheritIO().start().waitFor(); // Para linux (acho que para mac também) } catch(Exception e) { e.printStackTrace(); } Obs.: Só vai funcionar se o programa for executado através da linha de comando.
  15. Se a classe ItemOrcamento tivesse um construtor vazio, então a classe ItemOrcamentoComplexo não precisaria implementar um construtor que receba o valor.
  16. Recomendo fazer uma formatação convencional.
  17. Tenta assim: #include <stdio.h> #include <stdlib.h> int main(){ float media = 0; float entrada = 0; int max = 10; for(int i = 0; i < max; ++i){ printf("Digite a nota [ %i de %i ]: ", (i + 1), max); scanf("%f", &entrada); if(entrada > 0) media += entrada; else exit(1); } media /= max; printf("A média dos números positivos é: %.2f \n", media); return 0; }
  18. O código parece correto, mas a sua lógica está um pouco estranha. Tenta desse jeito e vê se resolve: case "Consultar": boolean encontrou = false; System.out.println("Digite o nome para pesquisa: "); consulta = usuario.nextLine(); // Percorre todos os nomes for (int i = 0; i < 100; i++) { if (nome[i].equals(consulta)) { System.out.println("Nome: " +nome[i]); System.out.println("Email: " +email[i]); System.out.println("Telefone:" +telefone[i]); encontrou = true; // Flag para indicar se o nome foi encontrado break; // Interrompe o FOR quando o nome for encontrado } } /* Se todos os nomes foram consultados e o nome não foi encontrado, então exibe a mensagem de aviso. */ if (!encontrou) { System.out.println("Contato não cadastrado"); } break; // Encerra o case
  19. Olá, fiz alguns ajustes e no meu caso está funcionando corretamente. Testa aí e vê se atende às suas necessidades. #include <stdio.h> #include <stdlib.h> int main() { float valor; float desconto; float total; int quantidade; int tipo; char nome[50]; printf("Nome do produto: "); scanf("%s", nome); printf("Valor unitário: "); scanf("%f", &valor); printf("Quantidade: "); scanf("%i", &quantidade); printf("Tipo do produto: "); scanf("%i", &tipo); switch(tipo) { case 1: desconto = 0.1; break; case 2: desconto = 0.08; break; case 3: desconto = 0.05; break; } total = quantidade * valor; total = total - (total * desconto); printf("Valor total da compra: R$ %.2f \n\n", total); return 0; } adicionado 4 minutos depois Obs.: A sua variável mult não está recebendo nenhum valor porque você usou (<-), deveria ter usado o sinal de igual (=).
  20. O erro basicamente está dizendo que o código foi compilado com uma versão mais recente do java. Isso significa que a sua versão do JRE é mais antiga. Exemplo: Compilei um código com o JDK 8. Se eu tentar executar esse código com o JRE 7 não vai funcionar. Atualize o seu java para uma versão mais recente que deve resolver.
  21. @r_Tray Você tem razão, é que eu tentei simplificar o código.
  22. Tenta excluir todas as partições (volumes). No final deve aparecer apenas uma única partição descrita como "espaço não alocado". A partir daí você refaz as partições que desejar.
  23. Acredito que esse procedimento resolva seu problema: Como Formatar um HD no Windows 10. No seu caso, ambos os discos estão particionados, então toma cuidado para não formatar o HD errado e sumir com as suas coisas.
  24. Tenta colocar ele normalmente, se o PC achar que é dual boot, entra no SO principal. Dentro dele, formate o HD que tem o Linux.
  25. Esse erro chamado nan, significa Not A Number. Isso acontece porque algum resultado não é numérico. Pelo seu código, dá para ver que você só se preocupou em verificar se a != 0, mas pelos valores que você informou: a = 4 b = 1 c = 2 Delta = -31. Na hora que vai calcular a raiz quadrada, o erro é lançado porque não existe raiz de número negativo. Dica: É uma boa prática de programação, inicializar todas as variáveis logo ao declará-las. Segue um exemplo de como ficaria o código: #include <iostream> #include <math.h> int main(){ double a = 0; double b = 0; double c = 0; double delta = 0; double raizDelta = 0; double x1 = 0; double x2 = 0; std::cout << "Digite os valores de a, b, c separados por espaço:" << std::endl; std::cout << "> "; std::cin >> a; std::cin >> b; std::cin >> c; if (a == 0) { std::cout << "O 'A' não pode ser 0!" << std::endl; return 1; // Encerra o programa. Valor diferente de 0 indica falha. } delta = std::pow(b, 2) - (4 * a * c); std::cout << " A: " << a << std::endl; std::cout << " B: " << b << std::endl; std::cout << " C: " << c << std::endl; std::cout << " D: " << delta << std::endl; if (delta >= 0) { raizDelta = std::sqrt(delta); x1 = (-b + raizDelta) / (2 * a); x2 = (-b - raizDelta) / (2 * a); std::cout << "RD: " << raizDelta << std::endl; std::cout << "X1: " << x1 << std::endl; std::cout << "X2: " << x2 << std::endl; } else { std::cout << "Delta é NEGATIVO. Não tem como continuar a conta." << std::endl; } return 0; } adicionado 5 minutos depois Essa combinação de valores resulta no delta = 196. Em outras palavras foi pura sorte ter dado certo.

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