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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Manejo de archivos txt en: 4 Abril 2017, 05:25 am
Me podrian decir como podria ingresar una serie de nombres en un archivo txt y de ahi que se me ordenara segun el metodo que eliga el usuario en el menu,  esto es lo que llevo
Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <conio.h>
  7. #define Max 100
  8.  
  9. using namespace std;
  10. FILE *doc;
  11.  
  12. void OrdenaBur(int , char [Max][Max], char [Max]);//mis funciones
  13. void QS(char [Max][Max],int,int);
  14. void MShell(int , char [Max][Max]);
  15. void Imprimir(int , char [Max][Max]);
  16. void Guardar(int , char [Max][Max]);
  17.  
  18.  
  19.  
  20. int main() {
  21. int Tam;
  22.  
  23. char arreglo[Max][Max], temp[Max], preg;
  24. int Menu;
  25.  
  26.  
  27. cout << "  Metodos de ordenamiento"<<endl;
  28. cout << "Seleccione una opcion"<<endl;
  29. cout <<"1.Ingresar Datos"<<endl;
  30.    cout <<"2.Mostrar Datos"<<endl;
  31.    cout <<"3.Metodo QuickSort"<<endl;
  32. cout <<"4.Metodo Burbuja"<<endl;
  33.    cout <<"5.Metodo Shell"<<endl;
  34.    cout <<"6.Salir"<<endl;
  35.  
  36. cin >> Menu;
  37.  
  38. do{//mi menu
  39. system("cls");
  40.  
  41. cout << "\n\n\t 1.Ingresar Datos\n 2.Mostrar Datos\n 3.Metodo QuickSort"
  42. << "\n 4.Metodo Burbuja\n 5.Metodo Shell\n "
  43. << "\n 7.Salir\n";
  44. if(Menu=='\0')
  45. {
  46. cout  << "\t\tSeleccione la opcion\n";
  47. cin >> Menu;
  48. }
  49. switch(Menu){
  50.  
  51. case 1:
  52. {
  53. cout << "Ingrese la cantidad de cadenas que desee ordenar\n";
  54. cin >> Tam;
  55. Tam--;
  56. Guardar(Tam, arreglo);
  57. break;
  58. }
  59. case 2:
  60. {
  61.  
  62. cout << "\nSus cadenas ingresadas son las siguientes\n"<<endl;
  63. Imprimir(Tam, arreglo);
  64. break;
  65. }
  66. case 3:
  67. {
  68. QS(arreglo,0,Tam);
  69. Imprimir(Tam,arreglo);
  70. break;
  71. }
  72. case 4:
  73. {
  74. OrdenaBur(Tam,arreglo,temp);
  75. Imprimir(Tam,arreglo);
  76. break;
  77. }
  78. case 5:
  79. {
  80. MShell(Tam, arreglo);
  81. Imprimir(Tam,arreglo);
  82. break;
  83. }
  84. case 6:
  85. {
  86. return 0;
  87.    break;
  88. }
  89.  
  90. default:
  91. cout << "Error, Debe ingresar un dato valido\n";
  92. }
  93. cout << "\nDesea volver al menu?"
  94. << "\n s para volver\n n para salir\n";
  95. cin >>preg;
  96. Menu='\0';
  97. }
  98. while(preg=='s');
  99. return 0;
  100. }
  101. void OrdenaBur(int Tam, char arreglo[Max][Max], char temp[Max])
  102. {
  103. int tb, rg;
  104. cout << "\n\nSus cadenas ordenadas alfabeticamente con el metodo burbuja son: \n" << endl;
  105.  
  106. for(tb=0; tb<Tam; tb++)
  107. for(rg=tb+1; rg<Tam+1; rg++)
  108. if(strcmpi(arreglo[tb], arreglo[rg])>0)
  109. {
  110. strcpy(temp, arreglo[tb]);
  111. strcpy(arreglo[tb], arreglo[rg]);
  112. strcpy(arreglo[rg], temp);
  113. }
  114. }
  115. void QS(char arreglo[Max][Max],int limite_izq,int limite_der)
  116. {
  117.  
  118.    int izq,der,prob;
  119.    char temporal[Max],pivote[Max];
  120.    cout << "\n\nSus cadenas ordenadas \n"
  121. << "alfabeticamente con el metodo quick sort son: \n" << endl;
  122.  
  123.    izq=limite_izq;
  124.    der = limite_der;
  125.    strcpy(pivote,arreglo[(izq+der)/2]);
  126.  
  127.    do
  128. {
  129.  
  130.        while(strcmpi(arreglo[izq],pivote)<0)
  131. izq++;
  132.        while(strcmpi(arreglo[der],pivote)>0)
  133. der--;
  134.        if(strcmpi(arreglo[izq],arreglo[der])>=0)
  135.        {
  136.            strcpy(temporal,arreglo[izq]);
  137.            strcpy(arreglo[izq],arreglo[der]);
  138. strcpy(arreglo[der],temporal);
  139.            izq++;
  140.            der--;
  141.        }
  142.  
  143.    }
  144. while(izq<=der);
  145.  
  146.    if(limite_izq<der)
  147. QS(arreglo,limite_izq,der);
  148.    if(limite_der>izq)
  149. QS(arreglo,izq,limite_der);
  150. }
  151. void MShell(int Tam, char arreglo[Max][Max])
  152. {
  153. int i,j,k;
  154. char aux[Max] ;
  155. cout << "\n\nSus cadenas ordenadas alfabeticamente con el metodo shell sort son: \n" << endl;
  156. k=Tam/2;
  157.  
  158. while(k>0)
  159. {
  160. for(i=k/*+1*/;i<=Tam;i++)
  161. {
  162. j=i-k;
  163. while(j>=0)
  164. {
  165. if(strcmp(arreglo[j],arreglo[j+k])>=0)
  166. {
  167. strcpy(aux,arreglo[j]);
  168. strcpy(arreglo[j],arreglo[j+k]);
  169. strcpy(arreglo[j+k],aux);
  170. }
  171. else
  172. {
  173. j=0;
  174. }
  175. j=j-k;
  176. }
  177. }
  178. k=k/2;
  179. }
  180. }
  181.  
  182.  
  183.  
  184. void Guardar(int Tam, char arreglo[Max][Max])
  185. {
  186. int cont;
  187. for (cont=0;cont<=Tam;cont++)
  188. {
  189. cout << "\nCadena "<<cont+1<<endl;
  190. cin >> arreglo[cont];
  191. }
  192. }
  193. void Imprimir(int Tam, char arreglo[Max][Max])//Mi duda con los archivos
  194. {
  195.    int c;
  196.    doc= fopen("alfabetico.txt","r");
  197.    if (doc==NULL){
  198.    cout<<"Error con el archivo"<<endl;
  199.  
  200.     while((c=getc(doc))!=EOF){
  201.     if(c=='\n'){
  202.      cout<<endl;
  203.     }
  204.      else {
  205.     cout<<c;
  206.     }
  207.  
  208.     fclose(doc);
  209.  
  210.     }
  211.  
  212.    }
  213. }
  214.  
  215.  
  216.  
  217.  
  218.  
2  Programación / Programación C/C++ / Re: Borrar ultimo nodo lista simplemente enlazada en: 22 Marzo 2017, 22:16 pm
Las clases me las pidio el profesor si no, no me revisa mi programa
3  Programación / Programación C/C++ / Borrar ultimo nodo lista simplemente enlazada en: 22 Marzo 2017, 20:31 pm
Alguien me puede ayudar a borrar el ultimo nodo en mi lista simplemente enlazada, se lo agradecería mucho




Código
  1.  
  2. #include <cstdlib>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. class FLORES{//Aquí hago mi clase y mis apuntadores del tipo de la clase
  8.              private:
  9.              FLORES *liga;
  10.              FLORES *primero;
  11.              FLORES *auxiliar;
  12.              FLORES *nuevo;
  13.  
  14.              float precioventa;
  15.  
  16.              public:
  17.              FLORES(){//Inicializo mis apuntadores en NULL
  18.              primero=NULL;
  19.              auxiliar=NULL;
  20.              nuevo=NULL;
  21.              }                
  22.              void ingresa_nodo();
  23.              void mostrar_nodo();
  24.              void borrar_nodo();                      
  25.  
  26.                };
  27.  
  28. void FLORES::ingresa_nodo(){//Mi función para ingresar nodos
  29.  
  30.  
  31.                     system("cls");    
  32.                     if(primero==NULL){
  33.                    cout<<"ENTRO AQUI PORQUE NO HAY NODOS"<<endl;
  34.                    nuevo= new (FLORES);
  35.                    cout<<"Ingrese el precio de la flor"<<endl;
  36.                    cin>>nuevo->precioventa;
  37.                    primero= nuevo;
  38.                    auxiliar= nuevo;
  39.                    nuevo->liga=NULL;
  40.                    }
  41.                    else{
  42.                    cout<<"ENTRO AQUI PORQUE  HAY NODOS"<<endl;    
  43.                    nuevo=new (FLORES);
  44.                    cin>> nuevo->precioventa;
  45.                    auxiliar->liga= nuevo;    
  46.                    auxiliar=nuevo;
  47.                    nuevo->liga=NULL;
  48.                    }
  49.                    }
  50.  
  51.  
  52.  
  53. void FLORES::borrar_nodo(){// El problema XD
  54.                            auxiliar=auxiliar->liga;
  55.                            delete nuevo;
  56.                            auxiliar->liga=NULL;
  57.                            }
  58.  
  59.  
  60.  
  61.  
  62.  
  63. void FLORES::mostrar_nodo(){//Mi función para mostrar nodo
  64.                            auxiliar=primero;
  65.                            while(auxiliar!=NULL){
  66.                            cout<<"Precio:"<<auxiliar->precioventa<<endl;
  67.                            auxiliar=auxiliar->liga;
  68.                            }
  69.                             system("PAUSE");              
  70.                            }
  71.  
  72.  
  73.  
  74. int main(int argc, char *argv[])
  75. {
  76.  
  77. FLORES obj;//Creo mi objeto
  78.  
  79.  
  80. int opc;
  81.  
  82. do{//Menu
  83.   system("cls");
  84.   cout<<"\t"<<"\t"<<"\t"<<"MENU NODO"<<endl<<endl;
  85.   cout<<"1. Ingresar nodo"<<endl;
  86.   cout<<"2. Borrar nodo"<<endl;
  87.   cout<<"3. Ver nodo"<<endl;
  88.   cout<<"4. Salir"<<endl<<endl;
  89.   cout<<"Elige tu opcion:"<<endl,    
  90.   cin>> opc;        
  91. switch (opc){  
  92.             case 1:
  93.             obj.ingresa_nodo();    
  94.             break;
  95.  
  96.  
  97.            case 2:
  98.            obj.borrar_nodo();    
  99.            break;
  100.  
  101.           case 3:
  102.            obj.mostrar_nodo();
  103.            break;  
  104.  
  105.            case 4:
  106.            break;        
  107.  
  108. }  
  109.  
  110.  
  111. }while(opc!=4);      
  112.    system("PAUSE");
  113.    return EXIT_SUCCESS;
  114. }
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
4  Programación / Programación C/C++ / Ayuda con nodos en: 4 Marzo 2017, 21:03 pm
Apreciaria que me pudieran ayudar tengo que hacer un nodo  y que se muestre pero realmente no comprendo muy bien sobre apuntadores, esto es lo que llevo de codigo.

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. class FLORES{
  7.              private:
  8.              FLORES *liga;
  9.              FLORES *primero;
  10.              float precioventa;
  11.  
  12.              public:
  13.              FLORES(){
  14.              primero=NULL;}                
  15.              void ingresa_nodo();
  16.              void mostrar_nodo();                      
  17.  
  18.                };
  19.  
  20. void FLORES::ingresa_nodo(){
  21.                             if(primero==NULL){
  22.                              primero= new FLORES;
  23.  
  24.                             cout<<"El precio de la flor es:"<<endl;
  25.                             cin>>liga->precioventa;
  26.  
  27.                             system("PAUSE");
  28.                             system("cls");
  29.                             //liga=primero;
  30.                             }
  31.                             else{
  32.                             cout<<"Ya se creo el nodo"<<endl;
  33.                             }        
  34.                             }
  35.  
  36. void FLORES::mostrar_nodo(){
  37.  
  38.                           //primero->liga=primero;
  39.                           cout<< liga->precioventa<<endl;
  40.                           system("PAUSE");
  41.                           system("cls");
  42.                          }    
  43.  
  44. int main(int argc, char *argv[])
  45. {
  46.  
  47. FLORES *obj;
  48.  
  49.  
  50. int opc;
  51.  
  52. do{
  53.   cout<<"\t"<<"\t"<<"\t"<<"MENU NODO"<<endl<<endl;
  54.   cout<<"1. Ingresar nodo"<<endl;
  55.   cout<<"2. Mostrar nodo"<<endl;
  56.   cout<<"3. Salir"<<endl<<endl;
  57.   cout<<"Elige tu opcion;"<<endl,    
  58.   cin>> opc;        
  59. switch (opc){  
  60.             case 1:
  61.             obj->ingresa_nodo();    
  62.             break;
  63.  
  64.  
  65.            case 2:
  66.            obj->mostrar_nodo();    
  67.            break;
  68.  
  69.           case 3:
  70.  
  71.            break;    
  72.  
  73. }  
  74.  
  75.  
  76. }while(opc!=3);      
  77.    system("PAUSE");
  78.    return EXIT_SUCCESS;
  79. }


· Los códigos deben ir en etiquetas GeSHi
· los temas deben ir en su respectivo subforo (movido)
>aquí las reglas del foro
-Engel Lex
5  Programación / Programación C/C++ / Re: Ayuda en compilacion en: 10 Noviembre 2016, 23:23 pm
jaja gracias no me habia dado cuenta , y si a mi lista le quisiera ingresar mas de 1 juego como se haria?
6  Programación / Programación C/C++ / Ayuda en compilacion en: 10 Noviembre 2016, 22:53 pm
Alguien puede decirme porque me dice que no he declarado auxiliar, si lo declare en struct y por lo que me han struct es como si se declarara todo  en publico no se mucho del tema  .

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. using namespace std;
  7. void ingresar();
  8. struct lista{
  9. char nombre[20];
  10. int codigodebarras;
  11. char consola[10];
  12. struct lista *sig;
  13. }*cabeza=NULL, *final=NULL, *auxilar=NULL,*anterior=NULL;
  14.  
  15. int main(int argc, char *argv[])
  16. {
  17. int opc;
  18. do{
  19. system("cls");
  20. cout<<"Bienvenido"<<endl;
  21. cout<<"Menu de juegos"<<endl;    
  22. cout<<"1.Insertar juego"<<endl;
  23. cout<<"2.Visualizar juego"<<endl;
  24.   cout<<"3.Visualizar juego"<<endl;
  25.  cout<<"4.Borrar juego"<<endl;
  26.   cout<<"5. Salir"<<endl;
  27.  cout<<"Ingrese una opcion"<<endl;
  28.  cin>>opc;
  29.  switch(opc){
  30.  case 1: ingresar();
  31.  break;
  32.  case 5:
  33.                        break;
  34.                        }
  35.  
  36.  
  37. system("PAUSE");                
  38.  
  39.  
  40.  
  41. }while(opc!=5);      
  42.    system("PAUSE");
  43.    return EXIT_SUCCESS;
  44.  
  45.  
  46. }
  47.  
  48. void ingresar(){
  49. auxiliar= new lista;
  50. system("cls");    
  51. if(auxiliar){
  52. cout<<"Bienvenido a lista"<<endl;
  53. cout<<"Ingrese el nombre del juego"<<endl;
  54. fflush(stdin);
  55. gets(auxiliar->nombre);
  56. cout<<"Ingrese el codigo de barras"<<endl;
  57. fflush(stdin);
  58. cin>>codigodebarras;                                      
  59. cout<<"Ingrese la consola de su juego"<<endl;
  60. fflush(stdin);
  61. gets(auxiliar->consola);  
  62. auxiliar->sig=NULL;
  63. if (cabeza==NULL){
  64. cabeza=auxiliar;
  65. final=auxiliar;
  66. }
  67. else{
  68.  final->sig=auxiliar;
  69.  final=auxiliar;
  70. }
  71. }
  72. else{
  73. cout<<"No se aparto memoria"<<endl;
  74. }                        
  75. }
  76. }
  77.  
  78.  


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines