[Curso] Introducción a la programación en C (III)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
Bright Julen
Experto
Experto
Mensajes: 843
Registrado: 03 Sep 2009, 11:34
PSN ID: BrightJulen
Contactar:

Re: [Curso] Introducción a la programación en C (III)

Mensaje por Bright Julen »

Mmmmm prueba a quitar getch
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Quita el getch(), no lo necesitas para nada estando en Linux.

Es un error del enlazador (o linker, ld), así que si no encuentra la librería es porque posiblemente no la tengas instalada.

Código: Seleccionar todo

sudo apt-get install build-essential

A ver si con esto se soluciona, ya me cuentas.
Imagen

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: [Curso] Introducción a la programación en C (III)

Mensaje por largeroliker »

Mis pinitos en el C:

He intentado mezclar los ejemplos del primer post, antes de meternos en operaciones y tal.

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  char* nombre_profesor = "m0skit0";
  char* nombre_alumno = "largeroliker";
  float nota = 7.5;
  int edad_larger = 19; 
 
  printf ("En este programa %s ensena a %s, de %d años de edad y que pretende sacar por lo menos un %.2f en el examen :P\n", nombre_profesor, nombre_alumno, edad_larger, nota);
 
 getch();   
  return 0;
}



Resultado:

Imagen

Todo bien, salvo un par de pequeños errores de novato:

Primero, me daba error de sintaxis tras el float: Esto era porque me había comido el ; xD
Segundo, siempre daba error en el return. Esto era porque el getch queda un carácter a la izquierda, y yo lo había puesto justamente encima (así estaba en uno de los ejemplos :P)

Saludos! ;)
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Aparte de poner una ñ xD

largeroliker escribió:Segundo, siempre daba error en el return. Esto era porque el getch queda un carácter a la izquierda, y yo lo había puesto justamente encima (así estaba en uno de los ejemplos :P)

¿Lo cualo?
Imagen

Avatar de Usuario
largeroliker
Administrador
Administrador
Mensajes: 8283
Registrado: 03 Sep 2009, 09:46
PSN ID: larger0o
Gamertag Xbox Live: larger0o
Steam ID: larger0o
Twitter: larger0o
Ubicación: Málaga
Contactar:

Re: [Curso] Introducción a la programación en C (III)

Mensaje por largeroliker »

Si, una ñ la quité pero la otra me la dejé enterita xD

m0skit0 escribió:¿Lo cualo?


Código: Seleccionar todo

 getch()
  return 0;
}


Y yo lo ponía...

Código: Seleccionar todo

  getch()
  return 0;
}


Saludos! ;)
Imagen
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

Re: [Curso] Introducción a la programación en C (III)

Mensaje por dark_sasuke »

largeroliker escribió:

Código: Seleccionar todo

  getch()
  return 0;
}


Saludos! ;)


a mi me gunciona asi :S

por cierto larger podrias usar el \n , que esa frase tan larga no se ve bien :D
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Eso no tiene sentido larger. Da igual el número de espacios o tabulaciones. Si quieres prueba a ponerlo todo seguido, en una sola línea y verás como funciona igual. ¿No será que se te ha olvidado poner ;?
Imagen

Avatar de Usuario
Kracker
ViP Hordes
ViP Hordes
Mensajes: 1212
Registrado: 03 Sep 2009, 00:38
PSN ID: Mario_-Almada_-
Contactar:

Re: [Curso] Introducción a la programación en C (III)

Mensaje por Kracker »

m0skit0 escribió:Quita el getch(), no lo necesitas para nada estando en Linux.

Es un error del enlazador (o linker, ld), así que si no encuentra la librería es porque posiblemente no la tengas instalada.

Código: Seleccionar todo

sudo apt-get install build-essential

A ver si con esto se soluciona, ya me cuentas.



De hecho lo hice sin getch() cuando lo estaba tratando de compilar para ver si me funcionaba asi y fue perfecto, pero como todos los estan haciendo con getch() pense que yo hacia algo mal o que no me deberia de dar error..

Que funcion tiene getch() profe?.

Edito..

m0skit0 escribió:

Código: Seleccionar todo

getch();

Espera la pulsación de una tecla.


:oops:
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

Re: [Curso] Introducción a la programación en C (III)

Mensaje por dark_sasuke »

getch() es para windows(Eso que dicen que esoo SO, si eso XDDDD), para que la ventana en la que se ejecuta el codigo no se cierre automaticamente y asi poder ver el resultado(hasta ahi tengo entendido yo :) )

en linux no es necesario y todos lo usan porque todos estan en windows :tongue:
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Bueno, la definición más correcta es la que da Kracker, por supuesto. getch() puede ser usada de varias formas, siendo una de las más sencillas la que comenta dark_sasuke. Por cierto Kracker, ¿has probado el comando que te di a ver si soluciona ese error del enlazador?
Imagen

Responder