编写一个登录“教务系统”的小程序。功能包括:刚进入系统时要求先注册,注册信息包括用户名(由字母组成)、密码与学号,注册后再转登录,登录时判断用户名与密码是否一致,一致提示登录成功,登录成功界面显示改学生的用户名与学号。若不一致要求重新登录。连续输入三次错误,提示您的账号已被冻结。
代码如下
#include
#include
#define s 100
//判断信息是否吻合
int denglu(char str1[s],char str2[s],char str4[s],char str5[s]){
if(strcmp(str4,str1)==0){
if(strcmp(str5,str2)==0)
return(1);
else
return(0);
}
else
return(0);
}
//判断是否登录成功
int ceshi(int num){
int i=0;
while(1){
if(num==1){
return(1);
break;
}
i+=1;
if(num==3){
return(0);
break;
}
}
}
//主函数
int main() {
printf("欢迎来到加教务系统,请依次填入您的用户信息:\n");
int denglu(char str1[s],char str2[s],char str4[s],char str5[s]);
int ceshi(int num);
int num1,num2;
char str1[s],str2[s],str3[s],str4[s],str5[s];
printf("用户名(由字母组成):");
gets(str1);
printf("密码:");
gets(str2);
printf("学号:");
gets(str3);
printf("注册成功!\n");
printf("-------------------------------登录------------------------------\n");
printf("用户名");
gets(str4);
printf("密码");
gets(str5);
num1 = denglu(str1[s],str2[s],str4[s],str5[s]);
num2 = ceshi(num1);
if(num2 == 1){
printf("登陆成功");
printf("用户名:");
puts(str1);
printf("学号:");
puts(str3);
}
else{
printf("您的帐户已被冻结");
}
return 0;
}
大一新生上课刚学了函数,想简单应用一下,代码能跑,但在循环那边应该是有点问题
修改如下,供参考:
#include <stdio.h>
#include <string.h>
#define s 100
//判断信息是否吻合
int denglu(char str1[s],char str2[s],char str4[s],char str5[s]){
if(strcmp(str4,str1)==0){
if(strcmp(str5,str2)==0)
return(1);
else
return(0);
}
else
return(0);
}
//判断是否登录成功
int ceshi(int num){
//int i=0;
//while(1){
if(num==1){
return(1);
//break;
}
//i+=1;
if(num == 0){ //(num==3)
return(0);
//break;
}
//}
}
//主函数
int main() {
printf("欢迎来到加教务系统,请依次填入您的用户信息:\n");
int denglu(char str1[s],char str2[s],char str4[s],char str5[s]);
int ceshi(int num);
int num1,num2;
char str1[s],str2[s],str3[s],str4[s],str5[s];
printf("用户名(由字母组成):");
gets(str1);
printf("密码:");
gets(str2);
printf("学号:");
gets(str3);
printf("注册成功!\n");
printf("-------------------------------登录------------------------------\n");
printf("用户名");
gets(str4);
printf("密码");
gets(str5);
//num1 = denglu(str1,str2,str4,str5);
//denglu(str1[s],str2[s],str4[s],str5[s]);
num2 = ceshi(denglu(str1,str2,str4,str5));//ceshi(num1);
if(num2 == 1){
printf("登陆成功");
printf("用户名:");
puts(str1);
printf("学号:");
puts(str3);
}
else{
printf("您的帐户已被冻结");
}
return 0;
}