Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MAFUS

#21
¿Estás seguro de la línea 28?
#22
Programación C/C++ / Re: CICLO INFINITO
25 Septiembre 2021, 11:07 AM
En buscaindice en vez de ser strcpy ¿no debería ser strcmp?
#23
¿No deberías usar la barra invertida doble dentro de la cadena de comillas?
#24
Programación C/C++ / Re: Pilas de caracteres en C
19 Septiembre 2021, 20:55 PM
Usa el stack.
Por ejemplo con la cadena 'mi caso,a.' tiene que ocurrir esto:
'm': la introduzco al stack. stack: 'm'
'i': la introduzco al stack. stack: 'mi'
' ': la introduzco al stack. stack: 'mi '
'c': la introduzco al stack. stack: 'mi c'
'a': la introduzco al stack. stack: 'mi ca'
's': la introduzco al stack. stack: 'mi cas'
'o': la introduzco al stack. stack: 'mi caso'
',': borro el ultimo elemento del stack. stack: 'mi cas'
'a': la introduzco al stack.  stack: 'mi casa'
'.': dejo de procesar la cadena. stack: 'mi casa'

Por tanto debes hacer uso del stack que te han proporcionado para realizar el trabajo.
Además deberás inventar algo para poder imprimir la cadena que hay guardada en la stack en orden y sin vaciarla.

Espero que así explicado veas que no hay que usar ese array auxiliar. Si sabes usar un stack (el ejercicio está pensado para eso) no te será difícil.
#25
Programación C/C++ / Re: Pilas de caracteres en C
19 Septiembre 2021, 18:20 PM
CitarPor cada operación se deben mostrar los caracteres que queden.
Según entiendo se debe mostrar la cadena procesada hasta ese momento. Pero cuando encuentras el '.' cierras el programa directamente.
Para el '!' escribes un '\0' (que te machaca el carácter que has escrito anteriormente), muestras tmpCad (recuerda que solo tiene '\0') y regresas de la función sin mirar los demás caracteres.


Además tienes toda una pila que no usas para nada. ¿Estás seguro que debes usar el array tmpCad para el ejercicio?
#26
Eso es .Net, como trabaje sin ese framework deberá encontrar otra cosa.
#28
Si cuando vas a escribir un nuevo post o una respuesta miras la barra de herramientas que hay justo encima del cuando de entrada, hay una lista desplegable que dice Código GeSHi. En ella hay muchos lenguajes. Debes elegir con el que vas a escribir el trozo de código.

Automáticamente aparecerá un par de etiquetas en el cuadro de escritura entre corchetes con code=lenguaje y /code. Entre las dos etiquetas escribes tu código.
#29
Usa etiquetas GeSHi para poner tu código, lo encontrarás como desplegable en la barra de botones del post.

Respondiendo a tu mensaje cambia ese 0x8000 por un 1.
El 0x8000 lo que hace es mirar si la tecla se está pulsando durante la llamada a la función, el 1 informa si desde la anterior llamada a la función se ha pulsado la tecla, es decir, informa si la tecla en algún momento ha sido pulsada. Creo que ese es el comportamiento que estás buscando.

Aquí está la información al completo de cómo funciona: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate
#30
Programación C/C++ / Re: Ciclo DO WHILE
7 Septiembre 2021, 14:03 PM
Para entender cómo funciona eso debes comprender sobre el ámbito de las variables. Una variable existe desde el bloque que se crea (lo que hay dentro de unas llaves { }) y ocupa tanto a ese bloque como a todos los internos. Por lo tanto un bloque interno puede manipular una variable de un bloque más externo y esta se verá afectada pues sigue trabajando en su bloque.

Después está la ocultación: una puede declarar una variable en un bloque interno con el mismo nombre que una variable de un bloque externo. A partir de entonces y hasta el final de ese bloque interno cunado se nombre dicha variable hará referencia a la del bloque interno, la más externa está oculta del código.

Un programa ejemplo:
#include <stdio.h>

int main() {
    int dato = 6;

    printf("Dato del bloque externo: %d\n", dato);
   
    {
        int dato = 7; // El dato de este bloque oculta al del bloque externo
        printf("Dato dentro del primer bloque: %d\n", dato);
    }

    printf("Dato del bloque externo: %d\n", dato);

    {
        dato += 4; // Este dato es el del bloque externo
        printf("Dato del segundo bloque: %d\n", dato);
    }

    printf("Dato del bloque externo: %d\n", dato);
}