问题遇到的现象和发生背景
需要实现用户注册,然后只有老用户注册完才可以登录。相把注册的信息输到结构体当中,再通过结构体和在登录界面的比较,实现老用户登录,否则就需要去注册。这个报错没解决,后面的代码也就没写下去
!!
运行结果及报错内容
73 14 [Error] expected expression before 'Student'
122 11 [Error] expected expression before 'Student'
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
typedef struct information//结构体
{
char name[10] ;//名字
int stn[10];//学号
char psw[10];//密码
}Student;
void menu();//主菜单
void Register();//新用户注册
void Login();
int main(void)
{
struct Student;
int choice;
loop1:
menu();
printf("请选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
{
Register();
goto loop1;//注册完成回到主菜单界面
break;
}
case 2:
{
break;
};
case 3:break;
default :printf("输入错误!");
}
system("pause");
system("cls");
}
/*主菜单*/
void menu()
{
printf("欢迎进入智慧校园门户系统!\n");
printf("1、新用户\n");
printf("2、老用户\n");
printf("3、退出系统\n");
}
/*新用户注册*/
void Register()
{
struct Student;
char name[10];
char sex[10];
char mail[10];
int stn;
char tel[10];
char idn[10];
char psw1[10];
char psw2[10];
system("CLS");
printf("姓名:");
scanf("%s",&name);
printf("性别:");
scanf("%s",&sex);
printf("学号:");
scanf("%d",&Student.stn);
loop1:
printf("身份证号:");
scanf("%s",&idn);
while(strlen(idn)!=18) //确认身份证号码是否为有效位数18位
{
printf("请输入有效信息!\n");
printf("身份证号:");
scanf("%s",&idn);
}
printf("电话:");
scanf("%s",&tel);
while(strlen(tel)!=11) //确认电话号码是否为有效位数11位
{
printf("请输入有效位数的电话号码!\n");
printf("电话:");
scanf("%s",&tel);
}
printf("邮箱:");
scanf("%s",&mail);
printf("密码:");
scanf("%s",&psw1);
printf("确认新密码:");
scanf("%s",&psw2);
while(psw1!=psw2) //确认两次密码是否一致
{
printf("密码不一致\n请再次确认密码!\n");
printf("密码:");
scanf("%d",&psw1);
printf("确认新密码:");
scanf("%d",&psw2);
}
printf("注册成功!");
system("pause");
system("cls");
}
/*老用户登录 */
void Login()
{
struct Student;
int stn1;
print("学号:");
scanf("%d",stn1);
if(stn1==Student.stn);
}
主要是自己是真的不会c语言,结构体这些都是自己学的,什么也都没教,scanf输入结构体 新用户注册,老用户登录 错了嘛