C/Visual C - ¿Cómo dejar de usar conio.h , iostream.h y otras librerías no estándar?

   
Vista:

¿Cómo dejar de usar conio.h , iostream.h y otras librerías no estándar?

Publicado por The Oliztik (2 intervenciones) el 05/06/2011 22:54:19
Hola a todos, bueno, recién estoy aprendiendo a programar en lenguaje C++, y desde un principio nuestro profesor nos enseñó a utilizar funciones como "gotoxy", "cout", "cin", "getch", "getche", "system", "clrscr", etc. Pero al ir leyendo comentarios en internet, he visto que no es recomendable utilizar estas funciones, ya que no son funciones estándar, y la verdad que eso me preocupa, porque con estas funciones puedo realizar programas de forma fácil. He tratado de cambiar estos hábitos, y veo que puedo sustituir el cout por scanf y el cin por printf, pero son un poco más difíciles de usar, además hay cosas que no puedo hacer sin el gotoxy y el clrscr. Veo que sin estas funciones me veo limitado. Por eso recurro a este foro para saber si es que puedo mediante las funciones y librerías estándar del C (no c++) podría realizar las mismas cosas que usando las no estándar.

Por ejemplo: Tranquilamente utilizando las funciones no estándar puedo realizar la siguiente validación:

# include <conio.h>
# include <iostream.h>
# include <stdlib.h>

int main(void)
{
char resp;
system("color 1e");
system("title PROGRAMA HECHO POR LUIS");
do{
gotoxy(5,5);
clreol(); system("color 1e");
cout<<"Desea continuar (S/N) "; cin>>resp;
}while(resp!='s'&& resp!='S' && resp!='n' && resp!='N');
if(resp=='s' || resp == 'S')
{gotoxy(5,7); cout<<"Puede continuar";}
else
{clrscr();
system("color 4e");
gotoxy(15,5); cout<<"Gracias por su visita ";
}
getche();
return 0;
}

Pero cuando trato de usar las funciones estándar, no me sale de manera exacta. He leído que en C se puede hacer cualquier cosa con mucha imaginación, y pienso que si es así, entonces con las funciones estándar puedo hacer mejores cosas, muchas más. Espero respuestas, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Cómo dejar de usar conio.h , iostream.h y otras librerías no estándar?

Publicado por Armando Nava (127 intervenciones) el 08/06/2011 01:49:52
Las funciones las tendrías que implementar tu. Por ejemplo para borrar la pantalla en el siguiente enlace se hace mediante ensamblador.
http://www.solocodigo.com/foros/viewtopic.php?f=18&t=35671


Todo lo demas que quieras implementar para sustituir a conio.h se puede hacer, pero requiere algo más de conocimientos.

http://paginespersonals.upcnet.es/~rvm1/e_graf.html
http://atc.ugr.es/docencia/udigital/13.html
http://www.investigacion.frc.utn.edu.ar/labsis/Publicaciones/InvesDes/3deng/Intro/13h.htm
http://www.modelo.edu.mx/univ/virtech/prograc/grafico1.htm

Las liberías conio.h y graphics.h son no estándar y fueron implementadas para ms-dos, al ser no estándar no son portables por ejemplo en Unix, Linux, etc. Son propias del S.O. en donde se programa la aplicación y están casadas con la arquitectura y hardware para el cual fue escrito el compilador, sin embargo para estas fechas no funcionan muy bién en un monitor LCD.
http://en.wikipedia.org/wiki/Conio.h

Las librerías estándar te garantizan que tu código correrá en otras máquinas, sin embargo también depende del harware y del software con el que cuenten y habra que hacer unas pocas modificaciones. No es lo mismo compilar en una RS6000 desde linea de comando que desde el TC++ 3.0

Del lado de Unix se tienen otras librería graficas, hace 8 años las conocí y no he visto mejores en windows.
http://es.wikipedia.org/wiki/X_Window_System
http://www.softintegration.com/chhtml/toolkit/demos/X11/motif/
También son no estándar, no se pueden ejecutar directamente en windows a menos que usemos un emulador gráfico.

==============================

Que hacer entonces, sigue aprendiendo las bases de C y C++, cuando tengas necesidad de programar C en Solaris, HP-UX, Linux, hay bastante documentación en Internet. Ahora que si quieres que el código en realidad no cambie mucho, esta JAVA con su librería swing, pero aun así los resultados pueden variar.


Espero no haberte confundido, yo inicie con el TC 3.0, todavía lo uso por la IDE que trae, pero hay que dar entrada a las nuevas tecnologías, y en estas epocas de competencia conocer casi cualquier lenguaje de programación y anexas (VBS, Visual Basic, VisualC++, Delphi, JAVA, Java Script, HTML, HTA, CSS,etc, etc, etc, etc) y también entrarle a las bases de datos. El lenguaje C te dara la bases para todo lo demás.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar