#include <stdio.h>
#include <string.h>
bool search(char id[], char pass[]) {
FILE *fp
char tid[10], tpass[10]
fp = fopen("c:\\data", "r")
while (!feof(fp)) {
fscanf(fp, "%s%s", tid, tpass)
if (strcmp(tid, id)==0 &&strcmp(tpass, pass)==0) {
fclose(fp)
return true
}
}
fclose(fp)
return false
}
bool login() {
char id[10], pass[10]
printf("Login\nPress the id: ")
scanf("%s", id)
printf("Press the password: ")
// 可以自行将password处理成*号, 如果不会可以发信给我
scanf("%s", pass)
printf("-----------------------")
if (search(id, pass))
return true
else
return false
}
void _add(char id[], char pass[]) {
FILE *fp
fp=fopen("c:\\data", "a")
// 在写入文件时可以按一定的排序方式插入,可减少以后Login时的search时间
fprintf(fp, "%s %s\n", id, pass)
fclose(fp)
}
void regis() {
char id[10], pass[10], tpass[10]
printf("Register\nPress the id: ")
scanf("%s", id)
while (true) {
printf("Press the password: ")
scanf("%s", pass)
printf("Press the password again: ")
scanf("%s", tpass)
if (strcmp(pass, tpass) != 0)
printf("The passwords you pressed are not the same!\n")
else
break
}
_add(id, pass)
printf("-----------------------Register successfully!\n")
}
void init() {
FILE *fp
if ((fp=fopen("c:\\data", "r")) == NULL) { // 注意,一定要有个名叫data(没有扩展名)的合法文件在C盘根目录
printf("---------File is not exist\n")
system("pause")
exit(0)
}
else
fclose(fp)
}
int main(void){
int command
init() // 检查data文件在不在
while (true) {
printf("-----------------------(Login: 1 Register: 2 Exit: 3)\n")
scanf("%d", &command)
printf("-----------------------\n")
// 这里可以编写command的检测语句
if (command == 3)
break
else if (command == 1) {
if (!login())
printf("ID is not exist or password is wrong!\n")
else
printf("Login successfully!\n")
}
else
regis()
}
return 0
}
搞定了。。。我是用成功了的。。。如果有问题就发信给我。。。。
#include<stdio.h>#include<stdlib.h>
#include<string.h>
int main()
{
char username[20]
char password[20]
char s1[20],s2[20]
int n=0
printf("--------------------\n 1 注册 \n 2 登录 \n 0 退出 \n--------------------\n 请选择(0-2)\n")
scanf("%d",&n)
while(n==1){
char usernametmp[20]//tmp作为临时保存单位
char passwordtmp[20]
printf("请输入用户名:")
scanf("%s",usernametmp)
strcpy(username,usernametmp)
printf("请输入密码:")
scanf("%s",passwordtmp)
strcpy(password,passwordtmp)
printf("注册成功!\n")
break
}
while(n==2)
{
printf("输入用户名:")
fflush(stdin)//清空输入缓冲区
gets(s1)
printf("输入密码:")
fflush(stdin)
gets(s2)
if((strcmp(s1,username)==0)&&(strcmp(s2,password)==0)){
printf("登陆成功\n")}
else{
printf("用户名或密码错误!登录失败!\n")}
}
return 0
}
代码如下:
#include<stdio.h>
#pragma warning(disable:4996)
#include<string.h>
int main()
{
int i = 0
char password[10] = { 0 }
printf("请输入密码:")
while (i <3)
{
scanf("%s", password)
printf("\n")
if (strcmp(password, "972816") == 0)
{
printf("登录成功\n")
break
}
else
{
i++
if (i != 3)
printf("再输入一次")
}
}
if (i == 3)
printf("密码错误三次退出登录界面\n")
system("pause")
return 0
扩展资料:
#include后面有两种方式,<>;和""前者先在标准库中查找,查找不到在path中查找。后者为文件路径,若直接是文件名则在项目根目录下查找。
引用方法:#include <stdio.h>
注意事项:在TC2.0中,允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的。也不建议这样做。以避免出现在其他IDE中无法编译或执行的问题。
参考资料来源:百度百科—include
参考资料来源:百度百科—stdio.h
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)