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

#1391
¿Qué escuela es y qué estás estudiando? Yo vi algo pero con CCS. Me hubiera gustado más MPLAB ya que hay versión para Linux.
#1392
Soy de la opinión de que reinventar la rueda es un mal hábito.  Las librerías estándar suelen estar lo más optimizadas y libres de errores posible.
#1393
Mira las funciones de la libreria ctype, está todo lo que buscas.
#1394
¿La verdad? Está todo mal.
Veo que otras veces ya te han dicho que repases cómo funcionan las funciones. Deberías hacerlo.
Deberías repasar cómo se escriben los números  :-\
Deberías repasar las estructuras if, while.
Deberías repasar como se declaran los arrays.
...
Deberías coger un libro de C++ y empezar desde el principio.

#1395
Por otra parte el código que has escrito está muy mal. Muy mal. Parece que lo has escrito así como te venía a la cabeza y no te has molestado a repasarlo antes de pedir ayuda aquí.
El simple hecho de que haya dos instrucciones return seguidas ya debería alertarte para revisarlo.
Tienes funciones que no se cierran, tienes if terminados por punto y coma, while con un else abres y cierras bloques, con las llaves, sin ton ni son.
¡Tienes nombres de funciones y variables con espacios intercalados!
Para que veas su estructura te he recolocado el código con las tabulaciones según la práctica al uso, almenos deberías hacer eso antes de ponerte a depurarlo para ver como está la lógica de tu código.

Código (cpp) [Seleccionar]
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main()
{
    double mat[j];
    double v[v];
    int departamentos y ventas();
    {
        float total dep=0;
        float total_pago=0;
        do{
            for(i=0;i<=6;i++)
                for(j=0;j<=5;j++)
                {
                    cout<<mat[j];
                    srand (time(NULL));
                    mat[j]=1+rand()%(1-7);
                    mat[j]=1+rand()%(1-3);
                    {
                        for(V=0;V<=5;V++)
                        {
                            cout<<V[V];
                            v[v]=1+rand()%(1-2000,00);
                            v[v]=1+rand()%(1-10.000,00);
                            while(mat[j]=0);
                            {
                                cout<<"la venta es de 10.000,00";
                            }
                            else
                            while (mat[j]=1);
                            {
                                cout<<"la venta es de 2.000,0";   
                            }
                            while (mat[j]=2);
                            {
                                cout<<"la venta es de 3.000,00";   
                            }
                        } while (mat[j]=3);
                        {
                            cout<<"la venta es de 4.000,00";   
                            return 0;
                        }
                        int modo de pago()
                        {
                            if(v[v]=0);
                            {
                                cout<<"con debito";
                            }
                            if(v[v]=1)
                            {
                                cout<<"con cheque";
                            }
                            if(v[v]=2)
                            {
                                cout<<"con efectivo";
                            }
                            if(v[v]=3)
                            {
                                cout<<"con credito";
                            }   
                        }
                        int calculo_total_dep_y_total_modo_pago()
                        {
                            if(true);
                            {
                                if(dep1_vent1.000,00)
                                if(dep2_ent2==200,000)
                                if(dep2_ent2==3.000,00)
                                if(dep3_vent3==4.000,00)
                                    total_dep=dep1_vent1+dep2_ent2+dep3_vent3;
                                if(debito==1.000,00)
                                if(cheque==2.000,00)
                                if(efectivo==3.000,00)
                                if(credito==4.000,00)
                                    total_pago=debito+cheque+efectivo+credito;
                            }
                            return 0;
                        }
                        return 0;
                        return 0;
                    }





Otra cosa, antes de Publicar un mensaje pincha Previsualizar y mira si está como te gustaría. Una vez que veas que esté bien para compartirlo pulsa Publicar.

MOD EDIT: No hagas doble post.
#1396
A ver, simple para que esté entre GeSHi:
Selecciona todo el código, vas al desplegable GeSHi y seleccionas el lenguaje.
#1397
Tienes un problema de base y es que las cadenas literales NO se pueden modificar porque son constantes.

Así cuándo en tu programa quieres hacer un strcpy de una cadena a otra realizas una operación ilegal de modificación de una zona de memoria con solo permiso de lectura.

Para hacer strcpy necesitas que la memoria pueda ser modificable y eso lo puedes hacer accediendo a la memoria del montón con malloc o calloc. En ese caso debes pensar que copias una cadena más larga a otra que tiene menor espacio estarás escribiendo en una zona de datos desconocida. Por eso podrías definir una tabla con el tamaño de la mayor cadena.

O, como dije, puedes intercambiar punteros con lo que no incurrirás a problemas de espacio y podrás seguir usando el array de punteros.

void insercion_directa(char *nombre[]) {
int i, j, fin;
char *aux;
   
for(i = 1; i < 4; i++) {
        fin = 0;
        for(j = i; j > 0 && !fin; j--) {
            if(strcmp(nombre[j-1], nombre[j]) > 0) {
                aux = nombre[j-1];
                nombre[j-1] = nombre[j];
                nombre[j] = aux;
                fin = 1;
            }
        }
    }
}

#1398
Antes de pasar el carácter al array mira si es un carácter que te interesa, en caso contrario:
· Lo conviertes en espacio y lo metes en el array y pones un marcador como que ya has hecho un espacio.
· Lees el siguiente carácter: si te interesa lo agregas al array y pones el marcador de espacio a 0. Si no te interesa miras el marcador de espacio: si está a 0 introduces un espacio al array, si está a 1 simplemente ignoras el carácter y vuelves a leer.
#1399
En vez de
nombre[0]="Alberto";
Debes escribir
nombre[0] = calloc(strlen("Alberto") + 1, sizeof(char));
strcpy(nombre[0], "Alberto");




De hecho, ya que tu lista son punteros a char debes reestructurar todo el programa para trabajar con punteros, no con arrays. Y ya que usas punteros en la función insercion_directa no debes hacer uso de strcpy sino moveri directamente los punteros.

Otra forma sería usar una lista cuadrada, al estilo char nombre[4][80];entonces la programación sería más sencilla pero tendrías muchos bytes que no usarías.

Recuerda que, ya que tienes que usar calloc, cuándo termines de usar los datos debes liberar la memoria con free.
#1400
Aunque el chip no tenga un puerto específico para ello lo puedes hacer tú mismo:
Por ejemplo, sobre una base de tiempos de 20ms haces separaciones de 1ms. Primero mantienes la patilla los 20ms en ON. Al cabo de un tiempo tienes durante 19ms en ON y 1ms en OFF. Después 18ms ON y 2ms OFF. Y así hasta que se apague la luz del todo.