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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  #include <conio.h> (linux)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: #include <conio.h> (linux)  (Leído 16,319 veces)
maxwellnewage

Desconectado Desconectado

Mensajes: 245


Ver Perfil
#include <conio.h> (linux)
« en: 7 Septiembre 2009, 23:33 pm »

tengo el siguiente programa:

Código:
#include <stdio.h>
#include <conio.h>

int main()
{
gotoxy( 20, 10 );
printf( "Hola" );

return 0;
}


y cuando lo compilo con el gcc aparece esto:

Código:
hola.c:2:19: error: conio.h: No existe el fichero ó directorio
maxwellnewage@maxwellnewage-desktop:~$ gcc  hola.c -o hola
/tmp/cc4hZdUi.o: In function `main':
hola.c:(.text+0x21): undefined reference to `gotoxy'
collect2: ld devolvió el estado de salida 1

entiendo, por lo q dice, que falta la biblioteca <conio.h>
es propia de windows?
como puedo agregarla en linux?


En línea

aguml


Desconectado Desconectado

Mensajes: 378



Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #1 en: 8 Septiembre 2009, 00:25 am »

conio es propia de borland y en linux no vale. Para hacer lo mismo que con gotoxy si programas bajo GNU/Linux puedes usar la función move(int fila, int columna), que viene en la librería NCURSES la cual funciona en casi todas las distribuciones.


En línea

SeC

Desconectado Desconectado

Mensajes: 109


@susan.


Ver Perfil WWW
Re: #include <conio.h> (linux)
« Respuesta #2 en: 8 Septiembre 2009, 00:29 am »

Personalmente nunca he utilizado conio.h, la verdad para darle formato a las impresiones en pantalla solo utilizo \t,\n,... lo que es estandar y compilara aqui y en la quebrá del ají, conio no tiene mayor transcendencia y es mejor no utilizarla (es mi opinión). Lo demas ya te lo explico aguml, lo que te propone es una alternativa, pero yo te recomendaría olvidarte de conio (almenos para eso del gotoxy)...

Un saludo.

En línea

Educad a los niños y no sera necesario castigar a los hombres - Pitagoras.
maxwellnewage

Desconectado Desconectado

Mensajes: 245


Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #3 en: 8 Septiembre 2009, 00:40 am »

bueno bueno, me olvido de conio.h
en formato solo se usar \n
cuales otras hay??
En línea

aguml


Desconectado Desconectado

Mensajes: 378



Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #4 en: 8 Septiembre 2009, 01:59 am »

Secuencias de escape

Las secuencias de caracteres en las que el primero es la barra invertida, se denominaron secuencias de escape y aunque originariamente se utilizaron para la representación de los caracteres de control, por extensión pueden representarse de este modo todos los códigos ASCII. Además se dispone de algunos símbolos predefinidos para los caracteres más frecuentes. Por ejemplo, \n se utiliza para representar el carácter nueva línea (decimal 10). Los símbolos utilizados se muestran en la tabla adjunta.

    Secuencia   Valor     Símbolo          Que hace                          

     \a               0x07         BEL           Sonido audible (bell)

     \b               0x08          BS           Retroceso (backspace)

     \f               0x0C          FF            Salto de formato (formfeed)

     \n               0x0A         LF             Saltar una línea (linefeed)

     \r               0x0D         CR             Retorno de carro (carriage return)

     \t               0x09          HT             Tabulación horizontal (H Tab)

     \v               0x0B         VT             Tabulación vertical (V Tab)

     \\               0x5c           \               Barra invertida (backslash) [2]

     \'               0x27           '                Apóstrofo (comilla simple)

     \"               0x22           "               Doble comilla

     \?               0x3F           ?              Interrogación

     \O           cualquiera  cualquiera     O = cadena de hasta tres dígitos octales

     \xH         cualquiera  cualquiera     H = cadena de dígitos hexadecimales

     \XH         cualquiera  cualquiera     H = cadena de dígitos hexadecimales


Te aconsejo que te descargues el libro de Programacion en C/C++ de Deitel & Deitel que te aclarará montones de dudas como esta. Esto lo saqué de google pero en el libro viene mejor explicado. Por ejemplo:

Secuencia de escape                                 Descripcion
\f (Nueva pagina o avance de pagina)       Mueve el cursor al inicio de la siguiente pagina logica.
« Última modificación: 8 Septiembre 2009, 02:07 am por aguml » En línea

EvilGoblin


Desconectado Desconectado

Mensajes: 2.323


YO NO LA VOTE!


Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #5 en: 8 Septiembre 2009, 05:33 am »

Yo quise usar ncurses porque \t me congelaba la aplicacion un tiempo

y me lleve con la agria sorpresa de que no es compatible con printf (osea tiene toda su gama de funciones para imprimir en pantalla)
algo por lo cual desisti.. y me dedico a hacer entorno graficos si necesito manejar algo mas complejo que simple imprimir texto

xD

Suerte
En línea

Experimental Serial Lain [Linux User]
borja

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #6 en: 29 Enero 2019, 05:06 am »

hola buenas noches tengo que entregar esta tarea como royecto en c++ ero el programa no uede compilar y me aarece este error  C:\Users\Coni\Desktop\Makefile.win [Build Error]  [main.o] Error -1073741819

este es mi royecto:

#include <stdio.h>
#include <conio.h>

main ()
{
    int op, nu1, nu2,res;
    float res1;
    printf ("Elige la operacion que deseas calcular \n");
     printf ("1. Suma \n ");
    printf ("2. Resta \n ");
    printf ("3. Multiplicacion \n ");
    printf ("4. Division \n ");
    printf ("5. Perimetro del circulo \n ");
    printf ("6. Area del circulo \n ");
    printf ("7. Perimetro del triangulo \n ");
    printf ("8. Area del triangulo \n ");
    printf ("9. Salir \n ");
    scanf ("%d", &op);
    switch (op)
    {
        case 1: printf("Suma \n");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1+nu2;
          printf ("la suma de los dos numeros es: %d\n",res);

        break;
        case 2: printf("Resta \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1-nu2;
          printf ("la diferencia de los dos numeros es: %d\n",res);
        break;
        case 3: printf("Multiplicacion \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1*nu2;
          printf ("la multiplicacion de los dos numeros es: %d\n",res);

        break;
        case 4: printf("Division \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1/nu2;
          printf ("la division  de los dos numeros es: %d\n",res);

        break;
        case 5: printf("Perimetro del circulo \n ");
        printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=2*3.1416*nu2;
          printf ("el perimetro del circulo es: %f\n",res1);

        break;

       case 6: printf("Area del circulo \n ");

      printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=3.1416*(nu2*nu2);
          printf ("el area del circulo es: %f\n",res1);
        break;


       case 7: printf("Perimetro del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=nu1+nu2+nu2;
          printf ("el perimetro del triangulo es: %d\n",res);
        break;

        case 8: printf("Area del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=(nu1*nu2)/2;
          printf ("la area del triangulo es: %d\n",res);
        break;

        default:printf("Salir");
    }
    getch();
    return 0;
}


me pudieran ayudar? por favor. Por su atencion muchas gracias
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #7 en: 30 Enero 2019, 12:48 pm »

hola buenas noches tengo que entregar esta tarea como royecto en c++ ero el programa no uede compilar y me aarece este error  C:\Users\Coni\Desktop\Makefile.win [Build Error]  [main.o] Error -1073741819

este es mi royecto:

#include <stdio.h>
#include <conio.h>

main ()
{
    int op, nu1, nu2,res;
    float res1;
    printf ("Elige la operacion que deseas calcular \n");
     printf ("1. Suma \n ");
    printf ("2. Resta \n ");
    printf ("3. Multiplicacion \n ");
    printf ("4. Division \n ");
    printf ("5. Perimetro del circulo \n ");
    printf ("6. Area del circulo \n ");
    printf ("7. Perimetro del triangulo \n ");
    printf ("8. Area del triangulo \n ");
    printf ("9. Salir \n ");
    scanf ("%d", &op);
    switch (op)
    {
        case 1: printf("Suma \n");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1+nu2;
          printf ("la suma de los dos numeros es: %d\n",res);

        break;
        case 2: printf("Resta \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1-nu2;
          printf ("la diferencia de los dos numeros es: %d\n",res);
        break;
        case 3: printf("Multiplicacion \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1*nu2;
          printf ("la multiplicacion de los dos numeros es: %d\n",res);

        break;
        case 4: printf("Division \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1/nu2;
          printf ("la division  de los dos numeros es: %d\n",res);

        break;
        case 5: printf("Perimetro del circulo \n ");
        printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=2*3.1416*nu2;
          printf ("el perimetro del circulo es: %f\n",res1);

        break;

       case 6: printf("Area del circulo \n ");

      printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=3.1416*(nu2*nu2);
          printf ("el area del circulo es: %f\n",res1);
        break;


       case 7: printf("Perimetro del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=nu1+nu2+nu2;
          printf ("el perimetro del triangulo es: %d\n",res);
        break;

        case 8: printf("Area del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=(nu1*nu2)/2;
          printf ("la area del triangulo es: %d\n",res);
        break;

        default:printf("Salir");
    }
    getch();
    return 0;
}


me pudieran ayudar? por favor. Por su atencion muchas gracias

Este mensaje no está directamente relacionado con este tema. Lo suyo sería que crearas un tema nuevo para resolver tu problema. Además los trozos de código hay que ponerlos entre etiquetas de código GeSHi (puedes elegirlo encima del cuadro de texto).
Además te recomiendo no uses <conio.h>. En tu caso, como alternativa al <getch()> puedes usar <getchar()> (que se encuentra en <stdio.h>) y si programas en C++ puedes usar <cin.get()> (que se encuentra en <iostream>).

No controlo mucho los makefile en windows pero tiene pinta de que el error se debe al makefile con el que estás compilando, no al código fuente.

Aparte de eso, en el <case> para hacer la división deberías hacer un typecast y usar la variable <res1> por si la división no es exacta:
Código
  1. res1 = (float)(n1)/n2;
Y en el <case> del perímetro del triángulo, dudo que esa fórmula sea válida...
Código:
Ptriangulo = 2h * b ??? 
Que yo recuerde, cuando hacía esos ejercicios en clase, había que usar trigonometría (Pitágoras) para resolver esos ejercicios. Suerte :-X
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: #include <conio.h> (linux)
« Respuesta #8 en: 30 Enero 2019, 15:20 pm »

En el terminal de Linux tienes las secuencias de escape que te permiten posicionar el cursor dónde quieras. Son una simple cadena de texto se lanza con printf, por ejemplo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validacion de datos en C + getch() en windows y linux sin conio
Programación C/C++
bdoX 2 4,363 Último mensaje 29 Julio 2012, 04:19 am
por rir3760
Que ignifica este include en linux
Programación C/C++
aurquiel 1 3,447 Último mensaje 31 Enero 2017, 15:23 pm
por MAFUS
Mi kali Linux no encuentra /usted/include/asm
ASM
yukixdxd 0 2,922 Último mensaje 29 Enero 2018, 23:15 pm
por yukixdxd
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines