• Domingo 15 de Diciembre de 2024, 07:33

Autor Tema:  problema cannot start a parameter declaretion  (Leído 1498 veces)

kmiko

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
problema cannot start a parameter declaretion
« en: Domingo 13 de Febrero de 2011, 04:37 »
0
Buenas pues yo les queria antes de nada agradecer por leer mi problema , y tambien si me ayudan a encontrar solucion.
Les comento el programa que estoy haciendo es para un trabajo de programacion.
Y hay una parte en la que registro a un usuario ylo guardo en un archivo "usuarios.dat".
lo que queria hacer era comprobar que este usuario no este registrado, por ahora pretendia que me mostrase los datos que hay en el .dat.
Código: C++
  1. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. void skip()
  3. {
  4.     //aqui creo una estructura como la definida anteriormente
  5.     stUsuario user;
  6.     char op;
  7.     //con esta variable lo que hago es comprobar q el registro se a realizado correctamete
  8.     int us;
  9.     //fichero es el puntero con el que luego me voy a dirigir al archivo usuario.dat
  10.     //donde posteriormente almacenare los datos de los usuarios
  11.     FILE *fichero;
  12.     clrscr();
  13.     gotoxy(45,3);cout<<"Casas CuatroSferas";
  14.     gotoxy(45,18);cout<<"CuatroSferas le desea mucha suerte";
  15.     gotoxy(5,7);cout<<"En esta sección podra registarte, o si ya tienes un usuario podra";
  16.     gotoxy(5,8);cout<<"logearte";
  17.     gotoxy(5,9);cout<<"Introduzcala opcion que desee siendo 'R' registrarse y 'L' login...";
  18.     do{
  19.         gotoxy(5,10);clreol();cin>>op;
  20.         op=toupper(op);
  21.     }while ((op!='R')&&(op!='L'));//
  22.     clrscr();
  23.     fichero=fopen("usuarios.dat","a");
  24.     if (fichero!=NULL)
  25.     {
  26.         if (op=='R'){
  27.             us=registro(user);
  28.             if (us==0){
  29.                 fwrite (&user,sizeof(user),1,fichero);
  30.                 fclose(fichero);
  31.                 fichero=fopen("usuarios.dat","rb");
  32.                 fread(&user,sizeof(user),1,fichero);
  33.             }//fin del if de escritura con los datos del registro
  34.         }//fin del if que comprueba que la opcion elegida sea usuario
  35.     }//fin del if de comprobacion del que no haya error  en la carga-creacion del fichero usuarios.dat
  36.         //registrarse();
  37.     //fin del if de opciones
  38. }//fin de skip
  39. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  40. int registro(stUsuario &a)
  41. {
  42.  
  43.     clrscr();
  44.     char pass1[10];
  45.     gotoxy(5,5);cout<<"Introduce login";
  46.     gotoxy(5,6);cout<<"Introduce contraseña";
  47.     gotoxy(5,7);cout<<"Repite contraseña";
  48.     gotoxy(5,8);cout<<"Introduce importe inicial";
  49.     gotoxy(32,5);gets(a.nombre);
  50.     do{
  51.         gotoxy(32,6);clreol();gets(a.pass);
  52.         gotoxy(32,7);clreol();gets(pass1);
  53.     }while (strcmpi(a.pass,pass1)!=0);
  54.     gotoxy(32,8);cin>>a.saldo;
  55.     if (strcmpi(a.nombre,"f")!=0)
  56.         { return (0);}
  57.  
  58.  
  59.  
  60. }//fin de la funcion cadena login
  61. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  62. void mostrar_datos(stUsuarios a)
  63. {
  64. cout<<"nNombre:  "<<a.nombre;
  65. /*cout<<"nEdad:    "<<a.pass;
  66. cout<<"nSaldo:   "<<a.saldo;     */
  67. //////////////////////////////////////////////
  68. //  arriba tengo esta estructura declarada
  69. struct stUsuario
  70.     {
  71.     char nombre[25];
  72.     char pass[10];
  73.     int saldo;
  74.     };
  75.  
  76.  

y lo que me pasa es que me da 2 errores distintos:
'stusuarios' cannot start a parameter declaration,
structure requiered on left side of .or .*in function mostrar:datos(int)

gracias por todo

kmiko

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: problema cannot start a parameter declaretion
« Respuesta #1 en: Domingo 13 de Febrero de 2011, 04:41 »
0
El copilador que uso es borland c++ 4.5


La sabiduría es un bien comun
compartela
 :comp:
 a cuidarse

gracias

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: problema cannot start a parameter declaretion
« Respuesta #2 en: Domingo 13 de Febrero de 2011, 08:04 »
0
Comentas que definiste una estructura stUsuario, en la función mostrar_datos esperas recibir un parámetro de tipo stUsuarios (con 's' al final), ¿es esto correcto, se trata de otra estructura o es un error?
La imaginación es el límite.
Hardware & Software | Mexchip