#include <stdio.h>
#include <string.h>
int cont=-1; //definir en el original
void usuario();
int sleep();
int main()
{
usuario();
return 0;
}
void usuario(void){
struct
{
char nombre[81];
char usuario[81];
char contra_usuario[30];
char tarjeta[30];
}ficha;
int seleccion,r,seleccion1,buscar,comparar;
char usu[81],ubicacion[81],con_usu[81];
do{
printf("Leidos %d datos\n",cont
+1); printf("1.Registrarse\n2.Ingresar\n0.Salir\n");
switch(seleccion){
/************************Solicitar datos*********************************/
case 1:
puts("\t Registrarse... \n"); printf("Introduce tu nombre:\n"); gets(ficha
[cont
+1].
nombre); printf("Introduce el usuario:\n"); gets(ficha
[cont
+1].
usuario); printf("Introduce la contraseña:\n"); gets(ficha
[cont
+1].
contra_usuario); printf("Introduce numero de tarjeta:\n"); gets(ficha
[cont
+1].
tarjeta); cont++;
printf("Ahora estas ******* \n"); sleep(1);
break;
/**************************Ingresar*************************/
case 2:
buscar
=strcmp(ficha.
usuario,usu
);if(buscar != 0){
}
else{
printf("Ingresa la contraseña:\n"); comparar
=strcmp(ficha
[cont
+1].
contra_usuario,con_usu
);if(comparar==0){
printf("1.Adeudos\n2.Rentar bici\n"); if(seleccion1==1){
printf("Los adeudos de esta cuenta son...\n"); sleep(1);
}
if(seleccion1==2){
printf("Nuestras terminales son:\n"); printf("Dame el nombre de la terminal que deseas:\n"); printf("La renta es por *****\n"); printf("A partir dla primer hora se ****"); printf("Continuar(1.Si 2.No):\n"); if(r==1){
}
}
}
}
break;
}//fin switch
}while (seleccion!=0);
}//fin programa
Me salen estos errores pero que esta mal?
programa.c:42:1: warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]
gets(ficha[cont+1].nombre);
^
programa.c:42:11: error: subscripted value is neither array nor pointer nor vector
gets(ficha[cont+1].nombre);
^
programa.c:45:11: error: subscripted value is neither array nor pointer nor vector
gets(ficha[cont+1].usuario);
^
programa.c:48:11: error: subscripted value is neither array nor pointer nor vector
gets(ficha[cont+1].contra_usuario);
^
programa.c:51:11: error: subscripted value is neither array nor pointer nor vector
gets(ficha[cont+1].tarjeta);
^
programa.c:74:22: error: subscripted value is neither array nor pointer nor vector
comparar=strcmp(ficha[cont+1].contra_usuario,con_usu);
Debes estar detrás de C11 así que gets no existe.
Por lo demás ficha no es un array, pero lo tratas como tal.