Pesquisar este blog

Livros Recomendados

quarta-feira, 2 de setembro de 2020

URI - 2757 - Entrada e Saída de Números Inteiros - Iniciante - C++

Plataforma: URI

Problema2757

Enunciado:
O seu professor gostaria que você fizesse um programa com as seguintes características:

  1. Crie três variáveis para armazenar números inteiros;
  2. Leia o primeiro número, que pode ser um valor na faixa de: -10000 ≤ A ≤ 10000;
  3. Leia o segundo número, que pode ser um valor na faixa de: 0 ≤ B ≤ 99;
  4. Leia o terceiro número, que pode ser um valor na faixa de: 0 ≤ C ≤ 999;
  5. Imprima a letra A, um espaço em branco, o sinal de igual, um espaço em branco, o número armazenado na primeira variável, uma virgula, um espaço em branco, a letra B, um espaço em branco, o sinal de igual, um espaço em branco, o número armazenado na segunda variável, uma virgula, um espaço em branco, a letra C, um espaço em branco, o sinal de igual, um espaço em branco, o número armazenado na terceira variável. Não esqueça de pular linha;
  6. Repita o procedimento 5, colocando o número em um espaçamento de 10 dígitos e justificado a direita;
  7. Repita o procedimento 5, colocando o número em um espaçamento de 10 dígitos e preenchido com zeros;
  8. Repita o procedimento 5, colocando o número em um espaçamento de 10 dígitos e justificado a esquerda.

Linguagem: C++

Solução:

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int getSize(int n) {
    int digitos = 1;
    
    while (n > 9 || n < -9) {
        digitos++;
        n /= 10;
    }    
    
    return digitos;
}

void printZeros(int quantidade) {
    while (10 - (quantidade++) > 0)
        cout << "0";    
}

int main() {
    
    int a, b, c;
    cin >> a >> b >> c;
    
    cout << "A = " << a << ", B = " << b << ", C = " << c << endl;
    cout << "A = " << setw(10) << a << ", B = "
         << setw(10) << b << ", C = " << setw(10) << c << endl;
    
    int tamA = getSize(a), tamB = getSize(b), tamC = getSize(c);
    
    cout << "A = ";
    if (a < 0) {
        tamA++;
        cout << "-";
    }
    
    printZeros(tamA);
    cout << abs(a) << ", B = ";
    printZeros(tamB);
    cout << b << ", C = ";
    printZeros(tamC);
    cout << c << endl;
    
    cout << "A = " << setw(10) << left << a << ", B = "
         << setw(10) << b << ", C = " << setw(10) << c << endl;

    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas