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 - Dark Invader

#41
Cita de: Triper0 en 26 Julio 2011, 22:26 PM
Si, es un seminario de lenguaje C, no nos permiten ni C++ ni C#.
Es más, nos hicieron hacer un trabajo final de manejos de .BMP y nos hicieron hacer todo por nuestra cuenta, nada de usar funciones predefinidas de BMP ni nada, todo manual...
Aprendí bastante, pero fue un dolor de cabeza importante, jaja...

Jaja me lo imagino  :xD
#42
Edito:ya lo explico el compañero naderST  :P

De todos modos eso seria todo segun veo,si quieres puedes utilizar al operador new para asignar memoria,es de C++ pero es mas simple de asignar,aunque claro si el profe te dice que uses C yo no voy a decir lo contrario,asique dejaria el code asi si nadie tiene algo que añadir.

PD:Asignar la fecha como int a --->26072011,queda mas chapuzas pero bueno...Ademas no lo he probado,lo estoy diciendo por intuicion mas que otra cosa...xD

Un saludo
#43
Ahora estaría bien,te faltaba el cast:

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

typedef struct {
char *nombre;
char *apellido;
char *fecha;
char *legajo;
char *tipDoc;
int DNI;
}Alumno;

int main(){
Alumno alu,alu2;
alu.nombre= (char *)malloc(sizeof(alu.nombre));
alu.apellido= (char *)malloc(sizeof(alu.apellido));
alu.fecha= (char *)malloc(sizeof(alu.fecha));
alu.legajo= (char *)malloc(sizeof(alu.legajo));
alu.tipDoc= (char *)malloc(sizeof(alu.tipDoc));
strcpy(alu.nombre,"Esteban");
strcpy(alu.apellido,"Gonzalez");
strcpy(alu.fecha,"02111991");
strcpy(alu.legajo,"10662/3");
strcpy(alu.tipDoc,"DNI");
alu.DNI=36363023;

alu2.nombre= (char*) malloc(sizeof(alu2.nombre));
alu2.apellido= (char*)malloc(sizeof(alu2.apellido));
alu2.fecha= (char *)malloc(sizeof(alu2.fecha));
alu2.legajo= (char*)malloc(sizeof(alu2.legajo));
alu2.tipDoc= (char*)malloc(sizeof(alu2.tipDoc));

alu2=alu;

printf("El nombre del alu es: %s, el de alu2 es: %s\n",alu.nombre,alu2.nombre);
printf("El apellido del alu es: %s, el de alu2 es: %s\n",alu.apellido,alu2.apellido);
printf("La fecha del alu es: %s, el de alu2 es: %s\n",alu.fecha,alu2.fecha);
printf("El legajo del alu es: %s, el de alu2 es: %s\n",alu.legajo,alu2.legajo);
printf("El tipo de documento del alu es: %s, el de alu2 es: %s\n",alu.tipDoc,alu2.tipDoc);
printf("El DNI del alu es: %d, el de alu2 es: %d\n\n\n",alu.DNI,alu2.DNI);

strcpy(alu.nombre,"Jose");

printf("El nombre del alu es: %s, el de alu2 es: %s\n",alu.nombre,alu2.nombre);
printf("El apellido del alu es: %s, el de alu2 es: %s\n",alu.apellido,alu2.apellido);
printf("La fecha del alu es: %s, el de alu2 es: %s\n",alu.fecha,alu2.fecha);
printf("El legajo del alu es: %s, el de alu2 es: %s\n",alu.legajo,alu2.legajo);
printf("El tipo de documento del alu es: %s, el de alu2 es: %s\n",alu.tipDoc,alu2.tipDoc);
printf("El DNI del alu es: %d, el de alu2 es: %d\n",alu.DNI,alu2.DNI);

return 0;
}


Por cierto,una sugerencia,yo la fecha la pondria como int mas que como char... :rolleyes:

Un saludo
#44
Hola a todos,resulta que tengo este codigo:

int& maxref(int& a, int& b)
{
if (a >= b)
return a;
else
return b;
}

maxref(i, j) = 0;


He estado practicando con referencias sencillas,como por ejemplo:

int i=2;
int& iref = i;


Lo malo es que en las funciones de este tipo me lio un poco,veamos se pasa la los parametros i,j y la funcion recoje la memoria donde están almacenados ambos,luego imaginemos que a es mayor que b,retorna a,pero ¿que retorna exactamente?¿su direccion de memoria?.Lo que si se es que el valor retornado se le asigna el valor de 0 pero lo que no entiendo bien es:

int& maxref

He probado también a ponerlo sin el apersand,y me da el mismo valor¿es que estoy haciendo dos cosas iguales?Porque lo que me despista es eso,lo demas para nada.

Puede parecer un poco simple,pero he trabajado con muchas funciones de pasar los parametros por valor y por referencia tipo:

int a =3;
int j = 5;
int funcion(&a,&j);

int funcion(int *a ,int *b){
etc}


Pero nunca tuve que usar este tipo,he buscado algo de información pero no me lo ha dejado suficientemente claro...Si alguien me pudiera echar un cable se lo agradeceria.

Un saludo
#45
Creo que aquí nadie se lee las reglas: http://foro.elhacker.net/programacion_cc/reglas_del_subforo-t251603.0.html

CitarEste no es un subforo donde se soliciten tareas, sino un lugar donde resolver dudas.


Aquí se resuelven dudas dudas,no se hacen las tareas,si le haceis las tareas pues aprende lo mismo que  un párbulo leyendo un libro de inglés de universidad  :rolleyes:

Además de infringir las normas,también las infringís vosotros haciéndole las tareas.Además la última respuesta está hecho con arrays.El ejercicio no es muy dificil,sólo hay que pensar un poco.

Un saludo
#46
Tambien podrias echarle un ojo a la libreria math,ya que tiene un monton de funciones matematicas incorporadas.
#47
En tu ultimo codigo¿que es lo que quieres conseguir?¿poner el valor segun las columnas y filas y darle un valor?,o simplemente que introduzca un valor y guardarlo en una variable?

Si es el primero es esto:

#include <stdio.h>
        int main ()
         {

            int i,j,columnas,filas,ventas;

            printf (" diga el numero de columnas \t ");
            scanf("%d",&columnas);
            printf (" diga el numero de filas \t  ");
            scanf("%d",&filas);
            int matri[columnas][filas];
           
            for (i=1 ; i<=columnas; i++)
            {
                for (j=1 ; j<=filas; j++) 
                {
                printf ("diga su venta \t %d/%d ",i,j);
                scanf ("%d",&matri[i][j]);
           
                                              }
                                              }
           
}

           


De todas maneras pienso que lo mas comodo seria incrementar el valor de filas y columnas en el for
#48
Gracias a ambos

Linux no me intersa tanto y yo pensaba que el fork() era para windows  :huh: Porque el manual que me paso el_java pensaba que era para windows no para linux¿es cierto?

Me gustaria si alguno tiene un poco de tiempo como se puede jugar para matar un proceso en la memoria no generado por un proceso padre,es decir,matar con C por ejemplo el notepad.exe

Gracias a todos por el interes.

Dark Invader
#49
Gracias El_Java,parece muy interesante el manual que me has mandado.Ya obtuve una pagina del compañero Queta pero esta tambien parece muy interesante...Si alguien mas tiene alguna pagina se lo agradeceria  :P

Si pudiera ser mas manuales pero para windows sobre todo.

Un saludo y gracias
#50
Hola a todos  ::)

Me gustaría saber si teneis por ahí un manual para aprender todo lo relacionado con los procesos en lenguaje C,es decir,como crear procesos padres e hijos,como matar procesos,etc...

Os estaría agradecido si es un manual básico,ya que nunca he tocado procesos en C.

Bueno gracias a quien pueda ayudarme.

Un saludo