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 - naderST

#121
No necesariamente, por lo general en los archivos de cabecera (.h) se tiene son los prototipos de las funciones, pero la definición de las mismas se encuentran en otros archivos externos bien sea otro .c o un archivo de librería. El linker se debe encargar de enlazar todos estos archivos en un mismo archivo.
#122
Si estás trabajando con una GUI deberías mostrarlo en un label o algo por el estilo, por otra parte,  Visual Studio si no me equivoco tiene una consola donde debería mostrarse lo que estás imprimiendo con cout. Como te mencionaron en el otro foro, deberías declarar discriminant como float puesto que si lo declaras como int el número se truncará y podrías perder información del mismo. Si te fijas a,b y c los estás trabajando como entero, sería bueno que los trabajes como flotante porque los coeficientes de la ecuación pueden ser cualquier número real.

Te doy un consejo, primero lo primero, si estás empezando con C++ empieza con aplicaciones pequeñas en consola, para luego poder realizar aplicaciones con interfaces gráficas.

EDIT.

Con respecto al casting en la función sqrt() no es necesario debido a que esta función esta sobrecargada, es decir, dependiendo del tipo de dato que le pases como argumento se va a llamar a la función que le corresponda.
#123
Cuando haces Estruc[50] te sales de los límites del arreglo, ya que en C/C++ los arreglos van de 0 a n-1 donde n es el número de elementos del mismo.

En tu caso el arreglo va de 0 a 49.
#124
Valida que fopen no te esté retornando NULL y además verifica que no estés abriendo el fichero dos veces o algo por el estilo.

¿Qué tal si esta condición no se cumple?


strcmp(cedulaPago, usuario.cedula)==0


No se cerraría el fichero y ahí tenemos un problema.
#125
Programación C/C++ / Re: Duda sobre procesos
1 Diciembre 2012, 21:16 PM
Qué no entiendes? Por qué no haces un ejemplo más sencillo y tratas de entenderlo? También debes tomar en cuenta que fork() una vez duplicado el código por el lado del proceso padre puede devolver -1 si falla o el PID del nuevo proceso hijo, ahora bien por el lado del hijo devuelve 0
#126
Si colocas el error que te da el compilador te puedo ayudar
#127
Programación C/C++ / Re: Duda sobre procesos
1 Diciembre 2012, 20:04 PM
Sabemos que fork() duplica el código del proceso padre y el proceso hijo resultante continúa su ejecución donde quedó el padre.

Ese código que nos muestras va a ir creando un proceso a la vez y el proceso padre va a esperar que este termine (función wait). En el caso de i = 0 e i = 2 se va a cumplir la condición de ((i%2)==0) y el proceso hijo 0 y 2 crearan un proceso hijo respectivamente, los cuales harán exit inmediatamente. (Ambos procesos quedarán zombies en la tabla de procesos, debido a que su padre no hizo wait).

En general, se van creando procesos secuencialmente y en los casos particulares de i=0 e i=2 los procesos hijos crearan otro proceso hijo (nieto del principal, por así decirlo).
#128
Programación C/C++ / Re: Duda código en C
14 Noviembre 2012, 02:46 AM

printf("\n\n%p",&paneles);


Estás imprimiendo la dirección de memoria de paneles mas no la dirección a donde está apuntando. Nunca te va a imprimir NULL.


printf("\n\n%p",paneles);


Así sí te imprimiría NULL
#129
Programación C/C++ / Re: Duda código en C
14 Noviembre 2012, 01:43 AM
Al parecer no hay ningún problema con estas funciones. Si puedes mostrar el código donde llamas a estas funciones y haces el printf sería bueno.
#130
Tu algoritmo de ordenamiento tiene ciertos detalles, por ejemplo no haces el intercambio en el arreglo length. Hay varios algoritmos de ordenamiento, te recomiendo investigues sobre ellos. Aquí te dejo un ejemplo haciendo uso del ordenamiento de burbuja:


#include <stdio.h>
#include <string.h>

const char *const pnames[200] = {"Muhittin", "Mufit", "Serkan", "Kaan",
"Izzet", "Muzaffer", "Umid", "Sami", "Uykura", "Kayhan", "Yakup", "Mert",
"Cetin", "Ilknur", "Gokhan", "Salah", "Irem", "Korhan", "Isin", "Berk",
"Tacettin", "Duygu", "Figen", "Funda", "Fuat", "Arda","Muhsin", "Guray",
"Necati", "Kadriye", "Gurbuz", "Hamide", "Volkan", "Selami", "Esra",
"Cumhur", "Can", "Aleyna", "Salih", "Kamuran", "Ferhan", "Furuze",
"Sukufe", "Sidre", "Cahit", "Sercan", "Jale", "Bilge", "Tijen", "Tufan",
"Zeliha", "Cevdet", "Burak", "Ufuk", "Zarife", "Bengisu", "Melda", "Zafer",
"Yelda", "Didar", "Hande", "Cumali", "Dilek", "Kemal", "Hasan", "Ismail",
"Fatma", "Burcu", "Siyami", "Busra", "Gizem", "Ramize", "Sezai", "Polat",
"Melike", "Umut", "Serencan", "Uzeyir", "Kamile", "Deniz", "Veysel",
"Emrehan", "Gulcan", "Ender", "Furkan", "Veli", "Muhtesem", "Necmettin",
"Osman", "Perihan", "Didem", "Tunc", "Irmak","Petek", "Sebahat", "Halime",
"Mahir", "Leyla", "Eda", "Ali", "Ibrahim", "Berivan", "Ilter", "Metin",
"Bozkurt", "Olgun", "Hudai", "Esin", "Taylan", "Memduh", "Selimcan",
"Ayse", "Baran", "Keriman", "Tankurt", "Feramuz", "Abdullah", "Ferda",
"Kuntay", "Ceyhan", "Edip", "Nuri", "Mahide", "Selda", "Murathan",
"Celebi", "Talha", "Mehtap", "Ece", "Abdurrahman", "Baki", "Anil", "Unsal",
"Melahat", "Sezgin", "Miran", "Cansel", "Sibel", "Aliye", "Derya", "Naime",
"Gulden", "Konar","Soner", "Gulistan", "Mestan", "Galip", "Lamia", "Hakan",
"Ugur", "Ege", "Husnu", "Sumbul", "Mustafa", "Simge", "Selva", "Mehmet",
"Irfan", "Cezmi", "Turgut", "Konur", "Aysegul", "Mesut", "Ceren", "Adem",
"Ferhat", "Murat", "Yunus", "Beyhan", "Erdem", "Sunusi", "Ata", "Sencer",
"Handan", "Cihan", "Levent", "Aykut", "Ferit", "Demir", "Kerim", "Feraye",
"Caner", "Baris", "Ozlem", "Ihsan", "Meltem","Kurthan", "Okan", "Huseyin",
"Sezgi", "Celik", "Cemal", "Sinan", "Sefa", "Cigdem", "Leman", "Nejla",
"Gurkan", "Gulsum", "Damla",};

int main()
{
    int length[200], pos[200];
    int i, aux, j;

    for(i=0;i<200;i++)
    {
        pos[i] = i;
        length[i] = strlen(pnames[i]);
    }

    for(i=1;i<200;i++)
        for(j=0;j<(200-i);j++)
            if(length[j]>length[j+1])
            {
                aux = pos[j];
                pos[j] = pos[j+1];
                pos[j+1] = aux;

                aux = length[j];
                length[j] = length[j+1];
                length[j+1] = aux;
            }

    for(i=0;i<200;i++)
        printf("%s\n", pnames[pos[i]]);
    return 0;
}


Puedes revisar el siguiente enlace para más información de los algoritmos de ordenamiento:

http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento