注册之后登陆错误,我试了一下注册时的两个数组输入后存储的是乱码,求大神指正代码哪里错了
#include <stdio.h>#include <string.h>
#include <windows.h>
void welcome ()
{
system ("color F9");
printf ("\n\n\n\n\n\n");
printf (" ======================================\n");
printf (" ===============考试系统===============\n");
printf (" ======================================\n");
Sleep (2000);
}
void myregister(char username[30],char password[30])
{
system ("cls");
printf (" ======================================\n");
printf (" ===============用户注册===============\n");
printf (" ======================================\n");
Sleep (1000);
printf ("请先注册再使用本系统!\n");
printf ("请输入用户名\n");
scanf ("%s",&username);
printf ("请输入密码\n");
scanf ("%s",&password);
Sleep (1000);
}
void mylogin (char username[30],char password[30])
{
char username1[30];
char password1[30];
system ("cls");
printf("注册成功!请登录!\n");
while(1)
{
printf ("请输入用户名\n");
scanf ("%s",&username1);
printf ("请输入密码\n");
scanf ("%s",&password1);
getchar ();
if (strcmp(username,username1)==0&&strcmp(password,password1)==0)
{
printf ("登陆成功\n");
printf ("欢迎使用本系统!\n");
Sleep (1000);
system ("cls");
break;
}
else {
printf ("用户名或密码错误,请重新登陆\n");
Sleep (1000);
system ("cls");
}
}
}
int examin (char exam[5][7][100])
{
int j,i,score;
printf ("C语言考试开始\n");
Sleep (3000);
for (j=0;j<5;j++)
{for (i=0;i<5;i++)
printf ("%s\n",exam[j][i]);
printf ("请输入答案:\n");
gets (exam[j][6]);
if (strcmp(exam[j][5],exam[j][6])==0)
{
printf ("回答正确\n");
score=score+20;
}
else printf ("回答错误\n");
Sleep (2000);
system ("cls");
}
return score;
}
int main(int argc, char *argv[])
{
int i,score=0,j;
char username[30];
char password[30];
char exam[5][7][100]={
{{"1 以下叙述中错误的是( )"},
{"A.使用三种基本结构构成的程序只能解决简单问题"},
{"B.结构化程序由顺序、分支、循环三种基本结构组成"},
{"C.C语言是一种结构化程序设计语言"},
{"D.结构化程序设计提倡模块化的设计方法"},
{"A"},
{""}},
{{"2 以下选项中关于程序模块化的叙述错误的是( )"},
{"A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序"},
{"B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块"},
{"C.把程序分成若干相对独立的模块,可便于编码和调试"},
{"D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序"},
{"A"},
{""}},
{{"3 关于算法,以下叙述中错误的是( )"},
{"A.某个算法可能会没有输入"},
{"B.某个算法可能会有零个或多个输入"},
{"C.一个算法对于某个输入的循环次数是可以事先估计出来的"},
{"D.任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕"},
{"D"},
{""}},
{{"4 C语言程序的模块化通过以下哪个选项来实现( )"},
{"A.变量"},
{"B.函数"},
{"C.程序行"},
{"D.语句"},
{"B"},
{""}},
{{"5 以下不能用于描述算法的是( )"},
{"A.文字叙述"},
{"B.程序语句"},
{"C.伪代码和流程图"},
{"D.E-R图"},
{"D"},
{""}}
};
welcome ();
myregister(username,password);
mylogin (username,password);
score=examin (exam);
printf ("考试结束,您的成绩为:%d\n",score);
return 0;
}