Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Faça um algoritmo que leia a nota de 10 alunos de uma turma e guarde-as em um vetor. No final, mostre - Exercícios Resolvidos de C++Quantidade de visualizações: 266 vezes |
Pergunta/Tarefa: Faça um algoritmo que leia a nota de 10 alunos de uma turma e guarde-as em um vetor. No final, mostre: a) Qual é a média da turma b) Quantos alunos estão acima da média da turma c) Qual foi a maior nota digitada d) Em que posições a maior nota aparece Sua saída deve ser parecida com: Informe a 1.a nota: 9 Informe a 2.a nota: 7.5 Informe a 3.a nota: 8 Informe a 4.a nota: 6.5 Informe a 5.a nota: 9.2 Informe a 6.a nota: 5.7 Informe a 7.a nota: 10 Informe a 8.a nota: 8 Informe a 9.a nota: 9.1 Informe a 10.a nota: 10 Média da turma: 8.3 Quant. alunos acima da média: 5 Maior nota digitada: 10.0 A maior nota aparece na posição: 6 A maior nota aparece na posição: 9 Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double notas[10]; double soma, media, maior; int quant_acima_media, pos_maior_nota; // vamos efetuar a leitura das 10 notas dos alunos for(int i = 0; i < 10; i++){ cout << "Informe a " << (i + 1) << ".a nota: "; cin >> notas[i]; } // vamos efetuar os cálculos maior = notas[0]; soma = 0.0; quant_acima_media = 0; for(int i = 0; i < 10; i++){ // a nota atual é maior que a nota que temos if(notas[i] > maior){ maior = notas[i]; } // vamos somar mais esta nota soma = soma + notas[i]; } // calcula a média da turma media = soma / 10; // vamos contar os alunos acima da média for(int i = 0; i < 10; i++){ // esta nota está acima da média? if(notas[i] > media){ quant_acima_media = quant_acima_media + 1; } } // vamos mostrar os dados cout << "\nMédia da turma: " << media; cout << "\nQuant. alunos acima da média: " << quant_acima_media; cout << "\nMaior nota digitada: " << maior; // e agora as posições da maior nota cout << "\n"; for(int i = 0; i < 10; i++){ if(notas[i] == maior){ cout << "\nA maior nota aparece na posição: " << i; } } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em C++ usando a função rename()Quantidade de visualizações: 11681 vezes |
Em algumas situações nossos códigos C++ precisam renomear arquivos. Isso pode ser feito com o auxílio da função rename() ou _rename(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:int rename(const char *oldname, const char *newname); a) EINVAL - Invalid argument - Os nomes dos arquivos contém caracteres inválidos; b) ENOENT - No such file or directory - O caminho do arquivo é inválido; c) EACCESS - Acesso negado - Algum outro programa está usando este arquivo e mantém controle sobre o mesmo. Veja um trecho de código C++ no qual renomeamos um arquivo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos renomear este arquivo char arq_antigo[] = "C:\\Dev-Cpp\\arquivo.txt"; char arq_novo[] = "C:\\Dev-Cpp\\arquivo2.txt"; // vamos testar se o arquivo foi renomeado com sucesso if(rename(arq_antigo, arq_novo) != 0){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Arquivo renomeado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É possível usar a versão Unicode de rename() ou _rename(). O método _wrename, também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos renomear este arquivo wchar_t arq_antigo[] = L"C:\\Dev-Cpp\\arquivo.txt"; wchar_t arq_novo[] = L"C:\\Dev-Cpp\\arquivo2.txt"; // vamos testar se o arquivo foi renomeado com sucesso if(_wrename(arq_antigo, arq_novo) != 0){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Arquivo renomeado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Como exibir a saída em um programa C++ usando o objeto coutQuantidade de visualizações: 704 vezes |
O objeto cout, presente no arquivo de cabeçalho iostream, é usado quando precisamos exibir a saída em nossos programas C++. Por ser um objeto da classe ostream, o objeto cout nos oferece muitos métodos, funções e propriedades que permitem um melhor controle sobre a formatação de saída. Como o objeto cout é associada com o fluxo padrão de saída em um programação C++, as informações a serem exibidas na tela são fornecidas a ele por meio do operador de inserção (<<). Veja um trecho de código no qual usamos o objeto cout para exibir o valor da constante matemática PI: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]){ // vamos obter o valor da constante PI double pi = M_PI; // vamos usar o objeto cout para exibir o resultado cout << "O valor de PI é: " << pi << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: O valor de PI é: 3.14159 Vamos ver mais um exemplo? Eis um código C++ que usa o objeto cin para ler dois valor informados pelo usuário e depois usa o objeto cout para exibir a soma dos dois valores: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ int a, b, soma; // vamos ler dois valores cout << "Informe o primeiro valor: "; cin >> a; cout << "Informe o segundo valor: "; cin >> b; // vamos somar os dois valores soma = a + b; // e agora mostramos o resultado cout << "A soma dos valores é: " << soma << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Informe o primeiro valor: 8 Informe o segundo valor: 5 A soma dos valores é: 13 |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados int da linguagem C++Quantidade de visualizações: 10668 vezes |
O tipo de dados int da linguagem C++ é usado quando queremos representar números inteiros, ou seja, sem partes fracionárias. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // declara uma variável do tipo int int idade = 45; cout << "A idade é: " << idade << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } A capacidade de armazenamento do tipo int depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos INT_MIN e INT_MAX, definidos no header climits (limits.h). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Valor mínimo: " << INT_MIN << "\n"; cout << "Valor máximo: " << INT_MAX << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este programa você terá um resultado parecido com: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Valor mínimo: -2147483648 Valor máximo: 2147483647 Veja que o tipo inteiro aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ int soma = INT_MAX + 2; cout << "Resultado: " << soma << "\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Este programa exibirá o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Resultado: -2147483647 Note que este não é o resultado esperado, visto que INT_MAX + 2 deveria retornar: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 2147483647 + 2 = 2147483649 Porém, como o valor máximo que pode ser armazenado em um int é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo int ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo int: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Tamanho de um int: " << sizeof(int) << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } O resultado da execução deste código será algo como: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Tamanho de um int: 4 bytes |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |