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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / copiar archivos desde un sftp en: 24 Agosto 2018, 17:10 pm
saludos, tenia muchos años sin entrar a este gran foro que muchas veces me ayudo en C/C++

en este caso vengo uds es por lo siente, en mi trabajo (soy analista de sistemas de una tienda) el gerente de tecnologia me encomendó lo siguiente para mi sucursal


Es fácil (para aquellos que lo dominan mejor que yo) , desde mi maquina , hay que ir a recoger un fichero a un servidor SFTP . Pero primeramente , hay que listar los archivos que contiene el directorio , supongamos que es en /FICHEROS/in . El motivo de listar los ficheros que se recogen , es que posteriormente deben ser borrados ( para no correr riesgo de eliminar algún fichero que entre nuevo ), Entonces el script miraría los ficheros que hay disponibles en el directorio , los recoge, y borra del SFTP solamente los que se han recogido, hay otro detalle más a agregar, si la copia va bien , se mueven los ficheros a una carpeta x si da error , se mueven a otra, osea se que es mucho pedir pero recurro a uds xq estoy contra reloj y seria cuestion de que me ayuden con dicho script o bash para ser especifico ya que es en linux-unix  T_T
2  Programación / PHP / error undefined en: 29 Septiembre 2016, 17:40 pm
buenas, tengo la siguiente pregunta, sucede que por medio de una funcion php envio por parametros a otro documento donde esta el cuerpo de dicha funcion unos valores, realizo una consulta a postgreSQL y luego retorno un select de numeros de cuenta bancarias, sucede que funciona bien pero pareciera que en las versiones mas reciente por ejemplo el firefox 48 me dice al retornar el select "undefined", pero no siempre es asi, es mas tanto en IE9, IE EDGE, CHROME, FIREFOX, funciona bien pero a veces sale ese error, sera porque la consulta a la base de datos es grande? aproximadamente son como 100 registros que devuelvo en un select
3  Programación / Programación C/C++ / C con asm en: 3 Noviembre 2015, 21:56 pm
buenas tengo una duda, no logro llamar la rutina printf de asm en el dev cpp, se que me diran que no utilice ese IDE pero estoy dedicado al mundo de linux y pues asi me acostumbro a seguir utilizando la sintaxi de AT&T.

Código
  1. asm("pushl %ecx");
  2. asm("call printf");

sabran que primero debo hacer un pushl a la direccion de memoria de lo que quiero mostrar en pantalla pero aun asi me dice que no sabe a donde hace referencia la funcion printf y me la detecta como si fuera de la libreria stdio.h
4  Programación / Programación C/C++ / estructuras dinamicas en: 2 Noviembre 2014, 04:06 am
SALUDOS A TODOS!!!!  ;D
bien quiero informar que se que aqui no se hacen tareas pero cuando la persona que solicita ayuda por lo menos ya a adelantado parte de su proyecto entonces se hace la ecepcion y se ayuda en algo a la persona y yo soy uno de esas personas, estoy haciendo un codigo y bueno e realizado parte de el pero estoy algo trancado y solicito de su ayuda colegas programadores

aqui el enunciado (algo largo)

Código
  1. La empresa disquera "TEMPTATIONS" desea obtener información rápida de sus CD´s e Intérpretes, es decir; que por el titulo de un CD desea conocer el interprete y, dado un intérprete conocer todos los CD´s que él posee.
  2. Se sabe que están disponibles las siguientes estructuras de listas, almacenadas en forma dinámica:
  3. LISTAS DE INTÉRPRETES: Sus nodos contienen la siguiente información:
  4. - Nombre del intérprete,
  5. - Apuntador al principio de la lista de CD´s que posee el interprete,
  6. - Apuntador al final de la lista de CD´s que posee ese interprete,
  7. - Apuntador al sucesor de la lista del intérprete.
  8. LISTAS DE CD´s: Sus nodos contienen la siguiente información:
  9. - Nombre del CD,
  10. - Apuntador al sucesor de la lista de CD´s de ese interprete.
  11. LISTA DE DISQUERAS:
  12. - Nombre de la Disquera,
  13. - Apuntador al sucesor de la lista de Disquera de ese CD.
  14. Nota: Suponga que un CD consta de un único interprete y de una sola disquera, y un intérprete puede tener uno o más CD´s y haber grabado con una o más disqueras.
  15. Basado en la información anterior:
  16. Diseñe un algoritmo y un programa en C, muestre un menú cuya primera opción sea para agregar los elementos de la lista, la segunda opción debe mostrar el nombre de los intérpretes y todos sus CD´s y estos a su vez la disquera, si este existe o envíe un mensaje de error en caso contrario, la opción de eliminar elementos de la lista y la última opción de salir.

y aqui mi code
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. using namespace std;
  6.  
  7. typedef struct TEMPTATIONS
  8. {
  9.  char interprete[20];
  10.  char CDs[15];
  11.  TEMPTATIONS *siguiente;
  12.  } TEMPTATIONS;
  13.  
  14.  
  15. void mostrar_menu();
  16. void agregar_elemento();
  17. void mostrar_lista();
  18. void eliminar();
  19.  
  20. TEMPTATIONS *primero, *ultimo;
  21.  
  22. int main()
  23. {
  24.    char opcion;
  25.    primero=(TEMPTATIONS *)NULL;
  26.    ultimo=(TEMPTATIONS *)NULL;
  27.    do
  28.    {
  29.       mostrar_menu();
  30.       opcion=getche();
  31.       switch(opcion)
  32.       {
  33.  
  34.           case '1': agregar_elemento();
  35.           break;
  36.           case '2': mostrar_lista();
  37.           break;
  38.           case '3': eliminar();
  39.           break;
  40.           case '4': exit(1);
  41.  
  42.           default: printf("Opcion no valida\n");
  43.           break;
  44.       }
  45.    }while(opcion!='4');
  46.  
  47. }  
  48.  
  49.  
  50.   void mostrar_menu()
  51.   {
  52.      printf("1.- Anadir Interprete \n");
  53.  printf("2.- Mostrar Lista de Interpretes?\n");    
  54.  printf("3.- Eliminar Interprete?\n");
  55.      printf("4.- Salir\n\n");
  56.      printf("Escoge una opcion: \n");
  57.      fflush(stdin);
  58.  
  59.  
  60.   }
  61.  
  62.  void agregar_elemento()
  63.  {
  64.    TEMPTATIONS *nuevo;
  65.    nuevo=(TEMPTATIONS *)malloc(sizeof(TEMPTATIONS));
  66.    if(nuevo==NULL)
  67.     printf("No hay memoria disponible!!! \n");
  68.  
  69.     else
  70.     {
  71.             printf("\n");
  72.      printf("Agregar \n");
  73.      printf("Interprete: ");
  74.      fflush(stdin);
  75.      gets(nuevo->interprete);
  76.      printf("CDs: ");
  77.      fflush(stdin);
  78.      gets(nuevo->CDs);
  79.      nuevo->siguiente=NULL;
  80.  
  81.  
  82.       if(primero==NULL)
  83.       {
  84.  
  85.  
  86.  
  87.        primero=nuevo;
  88.        ultimo=nuevo;
  89.  
  90.       }
  91.       else
  92.       {                        
  93.       ultimo->siguiente=nuevo;
  94.       ultimo=nuevo;
  95.       }
  96.      }
  97.       system("pause");
  98.        system("cls");
  99.  }
  100.  
  101.  void mostrar_lista()
  102.  {
  103.    TEMPTATIONS *auxiliar;
  104.    int i;
  105.    i=0;
  106.    auxiliar=primero;
  107.    printf("\n Mostrando la lista completa:\n");
  108.    while(auxiliar!=NULL){    
  109.       printf("Interprete: %s, CDs: %s\n",auxiliar->interprete, auxiliar->CDs);
  110.       auxiliar= auxiliar->siguiente;
  111.       i++;
  112.  
  113.    }  
  114.    if(i==0){
  115.    printf("\nLa lista esta vacia!!\n");
  116.    }
  117.  }
  118.  
  119.   void eliminar()
  120.   {
  121.    TEMPTATIONS *aux2, *aux1, *auxiliar1;
  122.    int j, borralo;
  123.  
  124. auxiliar1=primero;
  125.     j=1;
  126.  
  127.      if(auxiliar1==NULL)
  128.      {
  129.        printf("--->La lista esta vacia\n");
  130.       }
  131.   else
  132.       {
  133.        while(auxiliar1!=NULL)
  134.        {
  135.     printf("\n %d Interprete: %s y su CDs es:%s \n",j,auxiliar1->interprete,auxiliar1->CDs);
  136.     auxiliar1=auxiliar1->siguiente;
  137.     j++;
  138.        }
  139.         printf("Cual desea eliminar\n");
  140.         scanf("%d",&borralo);
  141.         aux2=primero;
  142.        for(j=1;j<borralo-1;j++)
  143.        {
  144.           aux2=aux2->siguiente;
  145.        }
  146.         if(borralo==1)
  147.         {
  148.            primero=aux2->siguiente;
  149.            aux2->siguiente=NULL;
  150.         }
  151.                   else
  152.                   {
  153.                       aux1=aux2;
  154.                       aux2=aux2->siguiente;
  155.                       aux1->siguiente=aux2->siguiente;
  156.                       aux2->siguiente=NULL;
  157.                    }
  158.  
  159.        }
  160.         }
5  Programación / Programación C/C++ / problema con el juego de undir la flota en: 22 Julio 2014, 05:04 am
buenas e estado realizando un proyecto de la universidad y e logrado hacer muchas cosas ahora luego que finalice el proyecto a mi profesor se le ocurrio la idea de hacer que en vez de un barco sea  igual a una sola posicion de la matriz, quiere que sea un barco formado por varias secciones y con sentidos definidos.



aqui el codigo que entregue y quiere q sea el mismo code que modifique pero realmente si me cuesta evaluar con una sola posicion no se como hacer con varias posiciones al mismo tiempo para determinar si esta undido el barco y tambien el colocarlos en el tablero por ser de varias secciones.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <conio.h>
  5. #include <windows.h>
  6.  
  7. // Posiciones: '0'=desocupado | '1'=Hay barco | '2'=Barco destruido
  8.  
  9. void wait(int seconds) // Funcion 'clock' para el tiempo de juego
  10. {
  11.    clock_t endwait;
  12.    endwait = clock() + seconds * CLOCKS_PER_SEC;
  13.    while( clock() < endwait )
  14.    {}
  15. }
  16.  
  17. void imprimir();
  18. void iniciar();
  19.  
  20. int i, j, k, jugador[10][10], oponente[10][10], opcion1, opcion2, puntajejugador=0, puntajeoponente=0; // Variables globales
  21. time_t start,end;
  22. double dif, tiempototal=0;
  23.  
  24. //________________________________________________________________________________________________
  25. void imprimir() // Funcion que imprime el tablero de juego
  26. {  
  27.    printf("\t\t\t\t\t    Tiempo transcurrido= %.1f segundos\n\n", tiempototal);
  28.  
  29.    for(i=1;i<=10;i++) // Imprime tablero del oponente
  30.    {
  31.        printf("\n\t");
  32.        for(j=1;j<=10;j++)
  33.        {
  34.            if(oponente[i][j]==3)
  35.            {
  36.                printf("  #");
  37.            }
  38.            else
  39.            {
  40.                if(oponente[i][j]==2) // Imprime 'X' si vale 2
  41.                {
  42.                    printf("  X");
  43.                }
  44.                else
  45.                {
  46.                    printf("  -");
  47.                }
  48.            }                                    
  49.        }
  50.        if(i==3)
  51.        {
  52.            printf("\tOPONENTE");
  53.        }
  54.        else
  55.        {
  56.            if(i==1)
  57.            {
  58.                printf("\t\t\tPuntaje oponente: %d", puntajeoponente);
  59.            }
  60.        }
  61.    }
  62.  
  63.    printf("\n\n\t ______________________________\n\n");
  64.  
  65.    for(i=1;i<=10;i++) // Imprime el tablero del jugador
  66.    {
  67.        printf("\n\t");
  68.        for(j=1;j<=10;j++)
  69.        {
  70.            if(jugador[i][j]==3)
  71.            {
  72.                printf("  #");
  73.            }
  74.            else
  75.            {
  76.                if(jugador[i][j]==2) // Imprime 'X' si vale 2 || 'O' si vale 1
  77.                {
  78.                    printf("  X");
  79.                }
  80.                else
  81.                {
  82.                    if(jugador[i][j]==1)
  83.                    {
  84.                        printf("  O");
  85.                    }
  86.                    else
  87.                    {
  88.                        printf("  -");
  89.                    }
  90.                }
  91.            }                                    
  92.        }
  93.        if(i==3)
  94.        {
  95.            printf("\tJUGADOR");
  96.        }
  97.        else
  98.        {
  99.            if(i==1)
  100.            {
  101.                printf("\t\t\tPuntaje jugador: %d", puntajejugador);
  102.            }
  103.        }
  104.    }
  105.  
  106.    printf("\n\n");  
  107. }
  108. //_______________________________________________________________________________________________
  109.  
  110. void iniciar() // Rellena con '0' el arreglo y coloca los barcos
  111. {
  112.  
  113.    for(i=1;i<=10;i++) // Llena todo con '0'
  114.    {
  115.        for(j=1;j<=10;j++)
  116.        {
  117.            jugador[i][j]=0;
  118.            oponente[i][j]=0;
  119.        }
  120.    }
  121.  
  122.    printf("\n\n Dame las coordenadas de tus barcos~\n\n");
  123.  
  124.    srand(time(NULL));
  125.    for(k=1;k<=10;k++) // Distribuye los barcos
  126.    {
  127.        imprimir();
  128.  
  129.        i=1+rand()%10; // Distribuye los barcos oponentes
  130.        j=1+rand()%10;
  131.        while(oponente[i][j]==1)
  132.        {
  133.            i=1+rand()%10; j=1+rand()%10;
  134.        }
  135.        oponente[i][j]=1; // La posicion de los barcos valdra 1
  136.  
  137.        printf("\n\tX%d = ", k);
  138.        scanf("%d", &opcion2);
  139.        while(opcion2<1 || opcion2>10)
  140.        {
  141.            printf("    Escoje un valor valido ( 1 a 10 )\n\n\tX%d = ", k);
  142.            scanf("%d", &opcion2);
  143.        }
  144.  
  145.        printf("\n\tY%d = ", k);
  146.        scanf("%d", &opcion1);
  147.        while(opcion1<1 || opcion1>10)
  148.        {
  149.            printf("\n    Escoje un valor valido ( 1 a 10 )\n\n\tY%d = ", k);
  150.            scanf("%d", &opcion1);
  151.        }
  152.  
  153.        if(jugador[opcion1][opcion2]==1)
  154.        {
  155.            printf("\n Ese valor ya existe...");
  156.            getche();
  157.            k=k-1;
  158.        }
  159.        jugador[opcion1][opcion2]=1;
  160.  
  161.        system("cls");
  162.  
  163.    }  
  164.  
  165. }
  166.  
  167. void presentacion()
  168. {
  169. system("color 0B");
  170.  
  171.    printf("\n\n\t    ~BATALLA NAVAL~\n\n\t\t#\n\t\t#|\n\t\t#|#\n\t\t#|##\n\t\t#|###\n\t\t#|####");
  172.    printf("\n\t\t#|#####\n\t\t#|######\n\t#########################\n\t _______________________");
  173.    printf("\n\t  ####/)###############\n\t   ###(/##############\n\t    #################\n\t     ###############");
  174.    printf("\n\n\n\t1- JUGAR\n\n\t2- SALIR\n\n\n\tDame tu opcion:");
  175. }
  176. //_______________________________________________________________________________________________
  177.  
  178. main() // Inicia el programa (main)
  179. {
  180.    int res, auxiliar, probabilidadcpu, destruidosoponente=0, destruidosjugador=0, ganador;
  181.    float dificultadcpu=0.5;
  182.  
  183.    presentacion();
  184.    scanf("%d", &res);
  185.    system("cls");
  186.  
  187.    switch(res)
  188.    { // Eliges la opcion Jugar o Salir
  189.  
  190.       case 1:
  191.       {
  192.           iniciar(); // Llama a la funcion iniciar
  193.           printf("\n\n\n\t\t Preparado?\n\n");
  194.           wait(2);
  195.           printf("\n\t\t AHORA!!!");
  196.           wait(1);
  197.  
  198.           do
  199.           {
  200.               time(&start);
  201.               system("cls"); // Limpia la pantalla
  202.  
  203.               imprimir();
  204.  
  205.               printf(" Es tu turno! Dame la posicion que deseas atacar~\n\n");
  206.               printf("\tX = ");
  207.               scanf("%d", &opcion2);
  208.               while(opcion2<1 || opcion2>10)
  209.               {
  210.                   printf("\n    Escoje un valor valido ( 1 a 10 )\n\n\tX = ");
  211.                   scanf("%d", &opcion2);
  212.               }
  213.  
  214.               printf("\tY = ");
  215.               scanf("%d", &opcion1);
  216.               while(opcion1<1 || opcion1>10)
  217.               {
  218.                   printf("\n    Escoje un valor valido ( 1 a 10 )\n\n\tY = ");
  219.                   scanf("%d", &opcion1);
  220.               }
  221.  
  222.               auxiliar=oponente[opcion1][opcion2];
  223.               oponente[opcion1][opcion2]=3;
  224.               system("cls");
  225.               imprimir();
  226.               oponente[opcion1][opcion2]=auxiliar;                          
  227.  
  228.               if(oponente[opcion1][opcion2]==1)
  229.               {
  230.                   oponente[opcion1][opcion2]=2;
  231.                   destruidosoponente=destruidosoponente+1;
  232.                   puntajejugador=puntajejugador+200;
  233.                   printf("\n Haz acertado!!\n\n");
  234.               }
  235.               else
  236.               {
  237.                   printf("\n Haz fallado...\n\n");
  238.               }
  239.  
  240.               system("PAUSE");
  241.               system("cls");
  242.               if(destruidosoponente==5)
  243.               {
  244.                   printf("\n\n\n\n\t\t\tHAZ GANADO!!");
  245.                   getche();
  246.               }                              
6  Programación / Programación C/C++ / funcion tangente en: 16 Julio 2014, 21:01 pm
BUENAS ESTOY REALIZANDO UN CODIGO DONDE GRAFIQUE LA FUNCION SENO, COSE Y TANGENTE, YA TENGO HECHAS LAS 2 PRIMERAS PERO NO SE ME OCURRE COMO PODRIA GRAFICAR LA TANGENTE YA QUE ES EN FORMA VERTICAL, ME PODRIAN DAR ALGUN TIPS O IDEA DE COMO GRAFICARLA DE FORMA GENERAL, ES DECIR, SI INTRODUCIR PARAMETROS POR EL USUARIO. GRACIAS DE ANTE MANO
7  Programación / Programación C/C++ / problema con array de punteros a cadenas en: 10 Julio 2014, 23:27 pm
tengo el problema con esta linea
Código
  1. char *paises_miembros[] = {"Argentina","Belgica","Estados Unidos","Francia","Reino Unido",
  2. "Grecia","Hungria","Italia","Nueva Zelanda","Rusia","Suecia","Japon"};
  3.  
y es que el compilador me da un error


Código
  1. 9 77 C:\Users\Nerys\Desktop\main.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
8  Programación / Programación C/C++ / comprobar numero repetido en un vector en: 25 Junio 2014, 21:39 pm
buenas estoy haciendo un juego de rol donde una de las condiciones es que no se pueda utilizar 2 poderes iguales por el mismo jugador, y no logro dar con el code adecuado

aqui una muetra de lo que hice pero esta mal debido a que el valor que ingrese lo almacena pero despues en el for caigo en decir que esta repetido aunque en realidad solo esta en una sola posicion

ayudenme gracias

Código
  1. scanf("%d",&res2);
  2.                           poderj1[indice]=res2;
  3.  
  4.                 for(int cc=0;cc<=res2;cc++)
  5.                 {
  6.                 if(poderj1[cc]==res2)
  7.                 {
  8.                 printf("\n no puedes utilizar dos poderes iguales!!!\n");
  9.                 getch();
  10.  
  11.                 }
  12.                 }
  13.                   indice=indice+1;    
9  Programación / Programación C/C++ / problemilla con estructura y archivo txt en: 9 Junio 2014, 23:12 pm
saludos a todos, me encuentro un proyecto universitario y e realizado un codigo en base a lo que hemos estudiado de leer nombres y apellidos guardarlos en una estructura y luego guardarlos en un archivo txt pero tengo un problema que no me guarda bien los datos en el archivo de texto. pido de su ayuda y puedan decirme en que fallo y que debo cambiar. de antemano muchas gracias.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. /* Ahora usando el mismo archivo de datos,
  6. leer los nombres y crear otro archivo con
  7. los nombres ordenados de la forma apellido, primer_nombre y segundo_nombre*/
  8.  
  9. //Estructura
  10.  
  11. typedef struct {
  12.  
  13.    char primer_nombre [45];
  14.    char segundo_nombre [45];
  15.    char apellido_persona [45];
  16.  
  17. } datos;
  18.  
  19. //listado de personas
  20. void lista_personas(){
  21. int m=0,k=0,z=1,y=0,x=0;
  22.  
  23. //Indicacion de los datos de la estructura
  24.  
  25. FILE *Doc;
  26.  
  27. printf("Ingresar la cantidad de personas que se generara en su lista:\n\n"); scanf("%d",&k);
  28. printf("\n\nla cantidad de personas en su lista es de %d.\n\n",k);
  29.  
  30. datos datos_estruct[y];
  31.  
  32. Doc=fopen("Documento.txt","wb");
  33.  
  34. for(m=0;m<=k;m++){
  35.          printf("\n\nEl I.D Registro de la persona es: %d\n\n",z);
  36.          printf("Ingrese el Primer nombre de la persona:\n");
  37.          scanf("%s",&datos_estruct[y].primer_nombre[x]);
  38.          printf("\nIngrese el segundo nombre de la persona:\n");
  39.          scanf("%s",&datos_estruct[y].segundo_nombre[x]);
  40.          printf("\nIngrese el apellido de la persona:\n");
  41.           scanf("%s",&datos_estruct[y].apellido_persona[x]);
  42.          x++;
  43.          y++;
  44.          z++;                
  45. }
  46.  
  47. for(m=0;m<k;m++){
  48. fwrite(&datos_estruct[y], sizeof(datos),1,Doc);
  49. y++;
  50. }
  51.  
  52. fclose(Doc);
  53.  
  54.  
  55. }       //fin listado_personas
  56.  
  57.  
  58. // Inicio main
  59. main(){
  60.  
  61.  
  62. lista_personas();
  63. printf("\n\n\nSus datos fueron guardados satisfactoriamente.\n\n\n");
  64.  
  65. system("pause");      
  66. }
10  Programación / Programación C/C++ / turbo C y borland C en: 3 Junio 2014, 20:53 pm
saludos a todos los miembros del foro. siempre e utilizado los IDE geany, code::blocks , devcpp- orwell devcpp, visual estudio C, wxdevcpp, netbeans. Pero nunca en turbo C ni borland C y quisiera saber si en esos dos la sintaxi es la misma que si programara en code::blocks. gracias de antemano
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines