elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  AYUDA, Leer desde un archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA, Leer desde un archivo  (Leído 752 veces)
Kougami

Desconectado Desconectado

Mensajes: 53


Ver Perfil
AYUDA, Leer desde un archivo
« en: 18 Diciembre 2016, 20:34 pm »

Buenas,
Necesito ayuda porque a la hora de realizar un programa que lea desde un archivo un numero y compruebe o no si la suma de cada digito elevado al numero total de digitos es igual al numero leido.
A continuacion dejo el codigo. Muchas gracias de antemano

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cmath>
  4. #include <string>
  5. #include <iomanip>
  6. using namespace std;
  7.  
  8. void explicacion(){
  9. cout <<"Número Narcisista: Un número es narcisista cuando la suma de cada uno de sus digitos" <<endl;
  10. cout <<"elevado al numero de digitos del número da como resultado el mismo numero." <<endl;
  11. cout <<"Ejemplo: " <<endl;
  12. cout <<setw(10) <<"153 = 1³ + 5³ + 3³" <<endl;
  13. }
  14.  
  15.  
  16. bool es_noEs_narcisista(int num, int condicion){
  17. return num == condicion;
  18. }
  19.  
  20. int leerNumeros(int num){
  21. ifstream datos;
  22. datos.open("datos.txt");
  23. if (datos.is_open()){
  24. datos >> num;
  25. while (!datos.fail()){
  26. datos >> num;
  27. cout <<num <<endl;
  28. }
  29. }
  30.  
  31. }
  32.  
  33. int numDigitos(int num){
  34. int nDigitos;
  35. nDigitos = 0;
  36. while (num != 0){
  37. num = num / 10;
  38. nDigitos++;
  39. }
  40. return nDigitos;
  41. }
  42.  
  43. int comprobacion(int num, int nDigitos){
  44. int condicion, digitoI, digitosElevados;
  45. while (num != 0){
  46. digitoI = num%10;
  47. digitosElevados = pow(digitoI, nDigitos);
  48. condicion = condicion + digitosElevados;
  49. num = num/10;
  50. }
  51. return condicion;
  52. }
  53.  
  54. void mostrar(int num){
  55. cout <<"El primer nº narcisista leido es el: " <<num <<endl;
  56. }
  57.  
  58. int main (int argc, char** args){
  59. int num, nDigitos, condicion;
  60. explicacion ();
  61. leerNumeros(num);
  62. nDigitos = numDigitos(num);
  63. condicion = comprobacion(num, nDigitos);
  64. mostrar (num);
  65. system ("pause");
  66. return 0;
  67. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer xml desde archivo batch
Scripting
Dead0922 8 7,015 Último mensaje 8 Mayo 2009, 13:20 pm
por Dead0922
Leer archivo LOG desde Query SQL Server 2008
Bases de Datos
Shell Root 5 13,479 Último mensaje 1 Diciembre 2011, 12:21 pm
por Novlucker
problema al leer gauss desde un archivo
Programación C/C++
Idmus 1 873 Último mensaje 14 Noviembre 2013, 19:36 pm
por Idmus
leer desde archivo en c « 1 2 »
Programación C/C++
mataliebres 10 3,236 Último mensaje 7 Marzo 2015, 18:12 pm
por mataliebres
Leer archivo json desde vb.net ...? ayuda !!!
.NET (C#, VB.NET, ASP)
lordhackerbynary 2 4,696 Último mensaje 26 Agosto 2016, 09:30 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines