Problemas con struct i funciones
Buenas a todos,
soy un principiante en C y tengo un problema con crear struct y utilizarlas para funciones. Me dice error cuando defino las estructuras y no se que pasa...
Tengo que crear una struct en el programa principal, esta estructura tiene nombres de usuarios que estan dados de alta, los puertos y las IPs. El que pasa es que me dice error cuando defino las estructuras y no encuentro el error.
En el programa tengo que coger por el teclado el nombre de usuario y mirar si esta de alta en el servidor (y si estan dados de alta actualizo los datos), para esto tengo una funcion que es:
C贸digo:
int USUARIO_ALTA( char nombre_usuario[], int longitud_nombre, int Puerto_TCP, char usuario_ip[], tengo que passar la estructura para que se modifique y actualize los datos);
devuelve 0 si ok o -1 si el usuario no esta dado de alta
Como tengo que pasar la estructura dentro la funcion para que se modifique (parametro de entrada y salida)?
En grandes rasgos el programa es:
C贸digo:
void main () {
//Definimos las estructuras
struct USUARIOS_ALTAS {
#define Altas 2 //N潞 de usuarios dados de alta
char Usuarios [Altas] [10] = {"Javier","Manuel"}; //Nombre de usuarios
char longUsuarios [Altas] = {6, 6}; //Longitud de los nombres
int Port_Usuarios [Altas] = {0,0}; //Puerto que estan connectador
unsigned long IP_Usuarios [Altas]; //Ip que estan connectador
};
//Creamos las variables
struct USUARIOS_ALTAS usuarios_altas;
char nombre_usuario [10];
int longitud_nombre;
int Puerto_TCP;
char usuario_ip [16];
****COGEMOS LOS DATOS****
USUARIO_ALTA( nombre_usuario[], longitud_nombre, Puerto_TCP, usuario_ip[], **tengo que passar la estructura para que se modifique y actualize los datos (parametro entrada/salica [驴Como lo hago?])**);
}
1- Problema: Como defino la estructura, me sale incorrecta..
2- Problema: 驴Como escribo para que la estructura sea un parametro de entrada/salida en la funcion?
Muchas gracias
soy un principiante en C y tengo un problema con crear struct y utilizarlas para funciones. Me dice error cuando defino las estructuras y no se que pasa...
Tengo que crear una struct en el programa principal, esta estructura tiene nombres de usuarios que estan dados de alta, los puertos y las IPs. El que pasa es que me dice error cuando defino las estructuras y no encuentro el error.
En el programa tengo que coger por el teclado el nombre de usuario y mirar si esta de alta en el servidor (y si estan dados de alta actualizo los datos), para esto tengo una funcion que es:
C贸digo:
int USUARIO_ALTA( char nombre_usuario[], int longitud_nombre, int Puerto_TCP, char usuario_ip[], tengo que passar la estructura para que se modifique y actualize los datos);
devuelve 0 si ok o -1 si el usuario no esta dado de alta
Como tengo que pasar la estructura dentro la funcion para que se modifique (parametro de entrada y salida)?
En grandes rasgos el programa es:
C贸digo:
void main () {
//Definimos las estructuras
struct USUARIOS_ALTAS {
#define Altas 2 //N潞 de usuarios dados de alta
char Usuarios [Altas] [10] = {"Javier","Manuel"}; //Nombre de usuarios
char longUsuarios [Altas] = {6, 6}; //Longitud de los nombres
int Port_Usuarios [Altas] = {0,0}; //Puerto que estan connectador
unsigned long IP_Usuarios [Altas]; //Ip que estan connectador
};
//Creamos las variables
struct USUARIOS_ALTAS usuarios_altas;
char nombre_usuario [10];
int longitud_nombre;
int Puerto_TCP;
char usuario_ip [16];
****COGEMOS LOS DATOS****
USUARIO_ALTA( nombre_usuario[], longitud_nombre, Puerto_TCP, usuario_ip[], **tengo que passar la estructura para que se modifique y actualize los datos (parametro entrada/salica [驴Como lo hago?])**);
}
1- Problema: Como defino la estructura, me sale incorrecta..
2- Problema: 驴Como escribo para que la estructura sea un parametro de entrada/salida en la funcion?
Muchas gracias
-Define la estructura y la funci贸n antes de la funci贸n main():
#include <string.h>
struct USUARIOS_ALTAS {
#define Altas 2 //N潞 de usuarios dados de alta
char Usuarios[Altas][10]; //Nombre de usuarios
char longUsuarios[Altas]; //Longitud de los nombres
int Port_Usuarios[Altas]; //Puerto que estan connectador
unsigned long IP_Usuarios[Altas]; //Ip que estan connectador
};
bool USUARIO_ALTA(struct USUARIOS_ALTAS *usuarios_altas,char nombre_usuario[10],int longitud_nombre,int Puerto_TCP,char usuario_ip[16]);
-En la funci贸n main():
USUARIOS_ALTAS usuarios_altas;
strncpy(usuarios_altas.Usuarios[0],(const char*)\"Javier\\0\",7);
strncpy(usuarios_altas.Usuarios[1],(const char*)\"Manuel\\0\",7);
usuarios_altas.longUsuarios[0] = 6;
usuarios_altas.longUsuarios[1] = 6;
usuarios_altas.Port_Usuarios[0] = 0;
usuarios_altas.Port_Usuarios[1] = 0;
char nombre_usuario[10]=\"Juan\\0\";
int longitud_nombre=4;
int Puerto_TCP=80;
char usuario_ip[16]=\"123.456.789\";
bool resultado;
//Llama a la funci贸n USUARIO_ALTA
resultado=USUARIO_ALTA(&usuarios_altas,nombre_usuario,longitud_nombre,Puerto_TCP,usuario_ip);
-Implementa la funci贸n USUARIO_ALTA:
bool USUARIO_ALTA(struct USUARIOS_ALTAS *usuarios_altas,char nombre_usuario[10],int longitud_nombre,int Puerto_TCP,char usuario_ip[16]){
return true;
}
#include <string.h>
struct USUARIOS_ALTAS {
#define Altas 2 //N潞 de usuarios dados de alta
char Usuarios[Altas][10]; //Nombre de usuarios
char longUsuarios[Altas]; //Longitud de los nombres
int Port_Usuarios[Altas]; //Puerto que estan connectador
unsigned long IP_Usuarios[Altas]; //Ip que estan connectador
};
bool USUARIO_ALTA(struct USUARIOS_ALTAS *usuarios_altas,char nombre_usuario[10],int longitud_nombre,int Puerto_TCP,char usuario_ip[16]);
-En la funci贸n main():
USUARIOS_ALTAS usuarios_altas;
strncpy(usuarios_altas.Usuarios[0],(const char*)\"Javier\\0\",7);
strncpy(usuarios_altas.Usuarios[1],(const char*)\"Manuel\\0\",7);
usuarios_altas.longUsuarios[0] = 6;
usuarios_altas.longUsuarios[1] = 6;
usuarios_altas.Port_Usuarios[0] = 0;
usuarios_altas.Port_Usuarios[1] = 0;
char nombre_usuario[10]=\"Juan\\0\";
int longitud_nombre=4;
int Puerto_TCP=80;
char usuario_ip[16]=\"123.456.789\";
bool resultado;
//Llama a la funci贸n USUARIO_ALTA
resultado=USUARIO_ALTA(&usuarios_altas,nombre_usuario,longitud_nombre,Puerto_TCP,usuario_ip);
-Implementa la funci贸n USUARIO_ALTA:
bool USUARIO_ALTA(struct USUARIOS_ALTAS *usuarios_altas,char nombre_usuario[10],int longitud_nombre,int Puerto_TCP,char usuario_ip[16]){
return true;
}
