0votos

Programacion en c++ en C++

por Emanuel hace 3 meses

Utilizando la biblioteca <locale> de la biblioteca estándar C++, para detectar los dígitos. No indica el procedimiento de ingreso. Por lo que solicito por línea de comandos y lo paso a la función que retorna la suma, dispara una excepción si no son 2 dígitos o letras

Escriba un programa en c++, para: leer un numero entero de dos digitos(verificar que asi sea) y determinar a cuanto es igual la suma de sus digitos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream> 
#include <locale> 
using namespace std; 
 
int sum( char const*arg ) { 
  int add = 0; 
  string numbers( arg ); 
  if( 2 < numbers.size() ) 
    throw "Cantidad de dígitos no acordado"; 
  for( char const&number : numbers ) 
    if( isdigit( number, locale("") ) add += stoi( string({number}) ); 
    else throw "No todos los caracteres son dígitos"; 
  return add; 
int main( int argc, char**argv ) 
  try { 
    cout << "La suma de los dígitos es: " << sum( argv[1] ) << endl;; 
  } catch( char const*ex ) { 
    cerr << ex << endl; 
  return 0; 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.