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

#611
Tal y como lo tienes la función espera una tabla ya definida.
Para hacer lo que pides debes pasar solo el puntero y crear todas las dimensiones dentro de la función.

Por supuesto esto a grandes rasgos.
#612
És C++, por lo que se me escapa un poco, pero veo la función llena de malas prácticas. Lo que te voy a comentar no te resolverá el problema pero podría acercarte a la solución:
Si usas C++ úsalo en su totalidad, en vez de atrás de char usa la clase string.
No abras un archivo para lectura y escritura de forma separada y al mismo tiempo con dos manejadores distintos. Mantén tus recursos cargados el tiempo imprescindible, es decir: abre el archivo y lo lees (cópialo a un arraya si es necesario) y cierralo. Ábrelo de nuevo para escritura el tiempo necesario para modificarlo.

Intenta encontrar el bucle que mejor se ajuste al momento. Esos do-while que usas son muy redundantes.

Todo eso hace el código tuyo demasiado 'sucio'. Intenta refactorizarlo marcando bien las pautas de cada sección.
#613
Pues eso depende del entorno en que te encuentres: Windows, qt, gtk, etc. Debes buscar la ayuda según el entorno pues para cada uno es diferente.
#614
Aparte del error con el scanf que te han marcado, el uso de gets (no recomendado y que se ha eliminado en las últimas versiones de C) y el uso de fflush en stdin (la función solo sirve para flujos de salida, en los de entrada no está especificado su funcionamiento) el error que tienes en Busqueda es que no realizas una búsqueda en el array, solo miras el primer elemento.

Sigue el flujo del programa.
Entras en un for para recorrer el array y el if busca si existe el dato. Si lo encuentra devuelve el nombre y sale del for. Bien.
La cosa viene cuando no encuentra el dato: directamente, sin tener en cuenta el resto del array, indica que no ha encontrado el producto y el break hace que salga del for, sin existir posibilidad de buscar en el resto del array.

Por tanto te falta algo para, en caso de que no se encuentre pase al siguiente elemento del array y diga que no hay existencias en caso de no encontrarse.

Por cierto, te iría bien separar la búsqueda de la presentación de resultados, verás que la lógica para llegar a la solución es más clara: es decir, por una parte buscas en el array y si encuentras el elemento marcas como que lo has encontrado y detienes la búsqueda pero si no lo has encontrado indicas que no ha habido éxito. Después según el resultado lanzas un mensaje u otro.
#615
Programación C/C++ / Re: Ayuda
26 Noviembre 2017, 13:09 PM
Haz un bucle interior para imprimir los asteriscos. Igual que los has escrito en vertical puedes escribirlos en horizontal.
#616
Metes cosas raras dentro de clave. Primero deberías capturar el carácter nuevo y si pasa tus filtros lo metes dentro de clave, sino haces lo que debes hacer según sea un \n, \b, etc.
#617
Fíjate en este for:
for (i = REN; i =0; i++)
Si REN es un número mayor que 0 entonces i tendrá que decrecer, sinó irá aumentando indefinidamente.
En la condición de paro dices i = 0 y esto no es una condición sino una asignación. Supongo que querrías decir i >= 0;

Tienes errores de este tipo.
#618
Esto ResSuma >= '10' en C no existe. Las comillas simples son para indicar un (1) dato de tipo carácter, por tanto tener dos encerrados entre comillas simples es un error per se. Seguro que querías decir el valor numérico por tanto quita las comillas.
#619
Scripting / Re: Ayuda con Ejercicios en python
25 Noviembre 2017, 00:06 AM
Te equivocaste de foro. Hay uno dedicado a los lenguajes de script. Deberías probar allí.
#620
Muchas cosas:
srt.tolower(entrada)
srt no existe ¿qué querías decir?

Capturas una cadena, entrada, pero solo necesitas un carácter. ¿No sería mejor capturar un carácter?

En el switch, creo yo, intentas comparar una cadena entera con un caracter. Son dos cosas totalmente diferentes.

Tu case es 'a' y 'b' pero en el programa pides las letras 'A' y 'C'.