C语言编写一个用户登陆的程序?

C语言编写一个用户登陆的程序?,第1张

代码如下:

#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

请把原码全部贴出来,这个截图太模糊。

我从模糊的图片中,看到类似fread的字样。那么你的账户密码信息是从一个文件中读取出来。

那么:

一、检查你文件中的原始数据是否有写错。

二、用于存储的变量空间是否够存储全部读取的数据。

三、对一个文件多次读写后,文件指针不在初始位置,确认是否需要fseek设置文件指针初始位置。

四、检查fopen是否执行成功。比如:多次fopen同一个文件,但前一次没有用fclose关闭文件流。

#include <stdio.h>

#include <string.h>

typedef struct account{

    char name[32]

    char acc[16]

    char psw[16]

}Acc

//    data是结构体数组,filename是文件绝对地址,n保存读入的结构体数量 

void GetDataFromTxt(Acc* data, const char* filename, int* n)

{

    FILE *fp = fopen(filename, "r")

    if( NULL == fp ){

        printf("Open file failed or no this file!\n")

        return

    }

    

    int i = 0

    while( !feof(fp) )

    {

        fscanf(fp, "%s %s %s", data[i].name, data[i].acc, data[i].psw)

        i++        

    }

    *n = i    

}

int main()

{

    int i, n

    Acc data[100]

    //    获取数据 

    GetDataFromTxt(data, "E:\\secret.txt", &n)

    printf("n = %d\n", n)

    printf("姓名    账号          密码\n") 

    for(i = 0 i < n ++i)

        printf("%-4s %-16s %-10s\n", data[i].name, data[i].acc, data[i].psw)

        

    //    登录示例 

    putchar('\n')

    char acc[16], psw[16]

    do{

        //    这里只是粗略地写了一个

        //    具体的账号错误或者密码错误自行发挥 

        printf("请输入账号:")

        scanf("%s", acc)

        printf("请输入密码:")

        scanf("%s", psw)

        for(i = 0 i < n ++i)

        {

            if( strcmp(acc,data[i].acc)==0 && strcmp(psw,data[i].psw)==0 ){

                printf("登陆成功!\n")

                break 

            }

        }

        if( i == n ){

            printf("账号或密码不正确!请重新输入!\n\n") 

        }else{

            break

        }        

    }while(1)

    printf("Bye bye!!!\n")     

         

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6051604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存