Guest User

RetosC++ HackxCrack

a guest
Dec 8th, 2012
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.16 KB | None | 0 0
  1. /***************** Retos C++ HxC ***********************
  2. *                                                      *    Ejercicio 1: Escribir el nombre de cada digito
  3. *                                                      *    Ejercicio 2: Leer contenido de un archivo de texto
  4. *                                                      *    Ejercicio 3: Localizar el numero mayor en una cadena de
  5. *                                                      *                 4 digitos introducidos por el usuario
  6. *   Propuesto por:  stakewinner00                      *
  7. *   Hecho por: Tryger                                  *
  8. *                                                      *
  9. *   Perdon por el retraso...                           *
  10. *******************************************************/
  11.  
  12. #include <iostream>
  13. #include <string>
  14. #include <fstream>
  15. #include <stdlib.h>
  16.  
  17. using namespace std;
  18.  
  19. void ejercicio3();
  20. int StringToInt(string cadena);
  21. int Conversion(char caracter, int factor, int valor);
  22.  
  23. void ejercicio1() {
  24.     string numero;
  25.     cout << "Numero: ";
  26.     cin >> numero;
  27.  
  28.     for (int i =0; i<numero.length(); i++) {
  29.         char digito = numero[i];
  30.  
  31.         switch (digito) {               //Numeros en letras
  32.             case '1': cout << "uno ";
  33.                 break;
  34.             case '2': cout << "dos ";
  35.                 break;
  36.             case '3': cout << "tres ";
  37.                 break;
  38.             case '4': cout << "cuatro ";
  39.                 break;
  40.             case '5': cout << "cinco ";
  41.                 break;
  42.             case '6': cout << "seis ";
  43.                 break;
  44.             case '7': cout << "siete ";
  45.                 break;
  46.             case '8': cout << "ocho ";
  47.                 break;
  48.             case '9': cout << "nueve ";
  49.                 break;
  50.             case '0': cout << "cero ";
  51.                 break;
  52.         }
  53.     }
  54.     cout << endl << endl;
  55. }
  56.  
  57. void ejercicio2() {         //Leer fichero de texto
  58.     string linea;
  59.     ifstream lector;
  60.  
  61.     lector.open ("fichero.txt");
  62.     while(!lector.eof()) {
  63.         getline(lector,linea);
  64.         cout << linea << endl;
  65.     }
  66.     lector.close();
  67. }
  68.  
  69.  
  70. void ejercicio3() { //Encontrar el numero mayor
  71.  
  72.     int cadena[4];
  73.     string precadena;
  74.     cout << "Introduzca 4 numeros separados con un espacio: ";
  75.     getline(cin,precadena);
  76.     precadena += ' ';
  77.    
  78.     //Convertir la linea introducida a array integer...
  79.     int x = 0;
  80.     string partes;
  81.     for(int i=0;i<precadena.length();i++) {
  82.         if(precadena[i]!=' ') {
  83.             partes += precadena[i];
  84.         }
  85.         else {
  86.             cadena[x] = StringToInt(partes);
  87.             partes = "";
  88.             x++;
  89.         }
  90.     }
  91.    
  92.     //Encontrar el mayor...
  93.     int pCont = 0;
  94.     for (int i = 0; i < 4; i++) {
  95.             for (int f = 0; f < 4; f++) {
  96.                 if (cadena[i] >= cadena[f]) {
  97.                     pCont++;
  98.                 }
  99.             }
  100.             if(pCont == 4){
  101.                 cout << cadena[i] << endl;
  102.                 break;
  103.             }
  104.             pCont = 0;
  105.     }
  106. }
  107.  
  108. //Convertir una cadena string en integer
  109. int StringToInt(string cadena) {
  110.     int valor = 0;
  111.     for (int i = 0; i < cadena.length(); i++) {
  112.         if (i != 0) {
  113.             valor = Conversion(cadena[i], 10, valor);
  114.         }
  115.         else {
  116.             valor = Conversion(cadena[i],1, valor);
  117.         }
  118.     }
  119.     return valor;
  120. }
  121.  
  122.  
  123. int Conversion(char caracter, int factor, int valor) {  //
  124.  
  125.     switch (caracter) {
  126.             case '1': valor = valor * factor + 1;
  127.                 break;
  128.             case '2': valor = valor * factor + 2;
  129.                 break;
  130.             case '3': valor = valor * factor + 3;
  131.                 break;
  132.             case '4': valor = valor * factor + 4;
  133.                 break;
  134.             case '5': valor = valor * factor + 5;
  135.                 break;
  136.             case '6': valor = valor * factor + 6;
  137.                 break;
  138.             case '7': valor = valor * factor + 7;
  139.                 break;
  140.             case '8': valor = valor * factor + 8;
  141.                 break;
  142.             case '9': valor = valor * factor + 9;
  143.                 break;
  144.             case '0': valor *= factor;
  145.                 break;
  146.             default: cout << "Error en la conversion.";
  147.             break;
  148.         }
  149.         return valor;
  150. }
  151.  
  152.  
  153. int main() {
  154.     ejercicio1();
  155.     ejercicio2();
  156.     ejercicio3();
  157.     return 0;
  158. }
Add Comment
Please, Sign In to add comment