PREGUNTAS CONTESTADAS - C/Visual C

 Hay un total de 745 Preguntas.<<  >> 

    Pregunta:  2452 - ESTRUCTURAS
Autor:  xiomara rojas
tengo que hacer un editor de texto en c++ pero debo hacerlo utilizando estructuras como listas circulares o listas doblos y estoy trabajando tambien con archivos pero como estoy utilizando mouse se me esta complicando, me gustaria que me ayudaran para saber como meter los cursores, para modificar(agregar o eliminar) agradeceria de todo corazon que me colaboraran
  Respuesta:  José Luis Torres Pantoja
Saludos
No se exactamente cuál es el problema que tienes, si es con las listas, con los archivos o con las gráficos y ratón, de cualquier manera creo que te puedo ayudar, tengo código en C para manejo de listas, pilas y colas, tengo código en C para menejo de archivos(incluso organizaciones de archivos (indexados, arboles b+ , multilistas, etc)) y por último también tengo para manejar gráficos y ratón, si en algo te puedo ayudar no dudes en mandarme un mail.
  Respuesta:  Daniel Azkona Coya
Para coger las pulsaciones de los cursores tienes que hacer un getch() y si te devuelve un cero vuelve a hacer un getch(), la segunda vez recogerá un código del buffer de teclado. Este código será 77, 78, 79 u 80. No se ahora mismo cual es cada tecla.

Espero haberte ayudado, si necesitas algo más, escribeme.

Un saludo.

    Pregunta:  2507 - INSTALA EN MEMORIA UN RPGRAMA
Autor:  alejandro galban
Hola mi duda y pregunta es como puedo instalar en memoria un programa hecho en c++ 3.0 , es que debo instaler en memoria el prograa para que en cualquier momento que yo este trabajando en ms-dos o en windows, y que yo resione alguna combinacion de teclas este programa se ejecute automaticamente. tambien el problema surge de cuando quiero hacer un programa que resida en un cd, y que al entrar se ejecute automaticamante.

yo lo unico que se es que hay que utilizar interrupciones pero yo la verdad no se utilizarlas, he leido que me serviria creo la 21h , o no se cual sea, ya que esta me permite accesar en memoria sin que el sistema se de cuenta, y con eso se quitaria el problema de la platforma de windows, ya que este no me permitiria esto segun tengo entendido.

si alguien me pudiera ayudar u orienter se lo agradeceria mucho, gracias.
  Respuesta:  Fabián Andrés Sierra Carvajal
Supón que logras acceder a a la memoria sin que el sistema operativo se dé cuenta.
Ahora bien, ¿cómo haces que lo que esté ahí se ejecute? El único que puede hacer un programa inicie su ejecución es el sistema operativo.
Para DOS, la manera estándar de dejar un programa residente es modificar un vector de interrupción y luego usar la interrupción 32h del DOS para dejarlo en memoria;
en Turbo C y Borland 3.0,esto se hace con la función keep o dos_keep.
En Windows, no hay problemas para que varios programas se ejecuten a la vez,pero no es posible modificar un vector de interrupción. Lo que sí es posible es capturar un evento antes de que lo haga la aplicación que lo llamó, mediante el grupo de funciones de la API Hook. Ve la documentación del SDK. Esto es bastante más difícil de hacer en Borland 3.0, y no es compatible con Windows de 32 bits.
¡Suerte!

    Pregunta:  2568 - PARALELISMO EN C
Autor:  Enrique Linares R.
¿QUE ES EL PARALELISMO Y COMO TRABAJARLO EN GRAFICOS DE LENGUAJE C?
  Respuesta:  Jesús Antón Martín
El "paralelismo" no sé, supongo que te refieres a la CONCURRENCIA o multitarea. El cómo trabajarlo depende del entorno bajo el que trabajes. Si trabajas bajo DOS, deberás currarte tú las macros de CORRUTINAS con lo que vas a encontrar en longjump.h o setjmp.h

Básicamente se trata de las funciones
"setjmp(jmpbuf);" y "longjmp(jmpbuf);", retornando la primera 1 si está ahí porque se la llamó o 0 si ha llegado ahí por una llamada a longjmp(). La potencia de estas rutinas sólo se puede comparar al peligro que su uso conlleva, ya que permiten saltar entre funciones, restaurando los registros y las variables "volatile".

Estas rutinas funcionarán en todos los entornos, ya que forman parte del estándar. Por supuesto, si trabajas bajo UNIX utilizarás "fork()" y si eres de WinTel utilizarás Threads.

En cuanto a la pregunta acerca de gráficos, te mando un ejemplo que usa DJGPP y su librería gráfica GRX.

Pulsa aquí para descargar los archivos

    Pregunta:  2637 - COMPILAR UN PROGRAMA C EN VISUAL C++
Autor:  Christian Veintimilla
Quiero saber si yo hago un programa en lenguaje c, puedo compilarlo en visual c++.
  Respuesta:  Daniel Micol
Sí. Cuando haces un programa en lenguage C, puede ser compilado con el compilador de Visual C++, pero SÓLO si el programa de C ha sido creado como una Consola con Visual C++. Después todo lo que tienes que hacer es decirle que lo compile.
  Respuesta:  Luis Santín
Es muy simple, debes tener el código en un fichero .C, lo abres con el Visual C++ 6.0, pulsas CRTL+F8 para contruirlo y luego MAYUS+F8 para lincarlo, y luego si no recibe comandos externos (de la linea de comandos de MS-DOS por ejemplo) con pulsar CTRL+F5 te lo ejecuta.
  Respuesta:  Gustavo Muro
Claro que los puedes compilar !!

la unica restriccion es de que los archivos include (.h) tengan la misma estructura y las subrutinas sean comunes,por ejemplo se pones

#include <stdio.h>

debes verificar que sea compatible este archivo .h con el de la version con la cual lo creaste

espero te sirva de ayuda

    Pregunta:  2667 - AYUDA-EXPLICACION-CONCEPTO BREAK
Autor:  Franklin Hallón
Necesito ayuda sobre Sentencia Break qué es para que sirve? Por favor si alguien puede ayudarme le agradeceria millon. Ya sea sentencia Break o simplemente Break.

Gracias...
  Respuesta:  yon
break quiebra ciclos como el del for, while o do while de forma prematura. Por ejemplo podrias tener un ciclo un un if que define si el ciclo debe romperse de forma prematura e/j:
for .....
if(condicion)
break; // Quiebra el ciclo.

esta tecnica no es muy bien vista si es un funcion podrias usar un return
así:
funcion()
for .....
if(condicion)
return; // Quiebra el ciclo

si tienes mas de un bucle (ciclo) el break quiebra mas anidado
Adios
  Respuesta:  Jaume Vime Bosch
Mira la sentencia Break(); sirve para romper qualquier bucle en el momento que nosotros queramos, por ejemplo

void main()
{
int a=0;
int contador=0;

while (contador<=4)
{
contador ++;
a = a +2;
if (a=4)
{
break();
}
}
}
En este pequeno ejemplo, el bucle while se romperà en el momento en que a sea 4 i devolvera el control al main;

Por otra parte la sentencia break tambien es usada en la sentencia swith, a si si despues de el codigo introduciodo en el case no ponemos un break continua por las otras ramas en el caso que tambien se de una de esas condiciones.

Espero que te haya servido de ayuda.
Hasta pronto.

(Perdona por la ortografia pero es que el castellano no lo domino demasiado)
  Respuesta:  Fabián Andrés Sierra Carvajal
A ver:

Si tenemos
i=0;
while(i < 345){
if(arreglo[i]==0){
break;
}
arreglo[i]=´p´;
i++;
}

al llegar al break saldrá del while.
Un break sale del bloque iterativo (o switch) más cercano sin evaluar la condición.
¡Suerte!

    Pregunta:  2706 - COMO MAXIMIZAR Y/O MINIMIZAR VENTANAS DE WINDOWS DESDE C
Autor:  William silva
Hola.

necesito maximizar o minimizar ventanas que pertenecen a windows desde un programa en C, he intentado utilizar int86... pero no lo he logrado.

Agradesco sus respuestas.
  Respuesta:  Daniel Azkona Coya
Hola,

No se si te refieres a C bajo DOS o bajo Win32, porque en las API de Win32 hay una función que hace eso: SetWindowPos().

Si quieres algo mas, escribeme.

Un saludo,

    Pregunta:  2710 - LEER PUERTO COM2 Y CREAR UNA DLL
Autor:  FRANKLIN ALBEIRO GOMEZ MENDOZA
Quisiera saber como puedo leer datos de un puerto de comunicaciones com2 de una bascula electronica y despues este programa crearlo como una Dll para poder tomar los datos desde visual Foxpro y almacenarlos en una base de datos.

Gracias por cualquier colaboracion que me puedan prestar.
  Respuesta:  luis alfonso cañas
en "MarshallSoft Computing, Inc.
Post Office Box 4543
Huntsville AL 35815

Voice : 256-881-4630
FAX : 256-880-0925
email : [email protected]
web : www.marshallsoft.com

Puedes bajar una serie de dll, que te permiten abrir los puertos serial, sin mucho problema.

Y son bantante economicos.

    Pregunta:  2713 - COMO RECIBO DE TECLADO UN POLINOMIO DE CUALQUIER GRADO
Autor:  Christian Veintimilla
Tengo que hacer una calculadora de polinomios de cualquier grado, y quiero saber como puedo yo recibir
este polinomio, si el usuario ingresa todo por teclado, por ejemplo:
5x^2+4x^9-2x^56
no se como recibirlo, ademas debo implementar este programa con Listas enlazadas y me gustaria saber si
alguien me puede ayudar con esta pregunta o con alguna funcion para poderlo hacer.

Lamentablemente manejo poco el lenguaje C y le agradeceria muchisimo si me pudieran ayudar con este trabajo.

si alguien conoce la funcion para sumar, restar, multiplicar o dividir polinomios, yo le quedaria eternamente
agradecido.

Muchas gracias de antemano.
  Respuesta:  CESAR NAVA SOTO
Una forma para ingresar el polinomio seria leyendo los coeficientes de la funcion. Por ejemplo en 2X^2+3X-1, los coeficientes serian 2, 3 y -1. Aqui te pongo un pequeño ejemplo de como iria la rutina.

int N,I,A[100];
printf("Inserte el orden de la ecuacion: ");
scanf("%d",&N);
for(I=N;I>=0;I--)
{
printf("Inserte el coeficiente de X^%d",I);
scanf("%d",&A[I]);
}

Si quieres un programa completo que lea un polinomio y calcule, por ejemplo, las raices de una ecuacion, escribeme y te lo mando por e-mail.

    Pregunta:  2801 - PROTEGER UN DISQUETE
Autor:  Maria consuelo rodriguez
Necesito saber como puedo codificar en Turbo C 3.0 un programa que me permita dar seguridad a un disquete, de manera que no permita copiarlo o que requiera de alguna clave para hacerlo, en que lenguaje es mas apropiado para diseñarlo

gracias
  Respuesta:  CESAR NAVA SOTO
Puedes crear un programa (ya sea en C++ o Visual Basic), de tal manera que lea el numero de serie del diskette, de tal forma que al correr el programa, si detecta que el numero de serie no es el mismo, no permita ejecutarse.

    Pregunta:  2807 - SOBRECARGA OPERADORES
Autor:  Alberto Ruiz
Buenas

He buscado informacion sobre la sobrecarga de operadores, pero no me llego a aclarar del todo. Podriais ponerme un ejemplo de sobrecarga para que el signo = igualara strings (strcpy)?

Es que he encontrado otros ejemplos, pero no los acabo de entender. Gracias por adelantado...
  Respuesta:  Gregorio Cobá Gala
La sobrecarga de operadores en algunas versiones de C++ no funcion con strings a menos que crees una clase de tipo string. El siguiente ejemplo me funciona muy bién en Borland C++ 3.1

#include
#include
#include

class string
{
public:

string( char * ); // Constructor
~string(); // Destructor

string& operator = ( char * ); // Se sobrecargo el operador =

char *_string;
unsigned long _length;

};

string::string( char *str )
{
unsigned int l;

_string = 0l;
_length = 0;

if( str )
{
l = strlen( str ):
_string = (char *)new[ l + 1 ];
strcpy( _string, str );
_length = l;
}
}

string& string::operator = (char *str )
{

unsigned int l;

if( str )
{
l = strlen( str );
if( l != _length )
{
delete _strings;
_strings = (char*)new[ l + 1 ];
_length = l;
}

strcpy( _strings, str );

}

return *this;

}

strings:~strings()
{

if( _strings )
delete _strings;

_strings = 0l;
_length = 0;
}


void main()
{
strings ptr( "Hola" );

printf( "%s\n", ptr._string ); // -> Hola

ptr = "Hola de nuevo" ;

printf( "%s\n", ptr._string ); // -> Hola de nuevo

}

|<  <<  9 10 11 12 13 14 15 16 17 18 19  >>  >|