用c语言编辑用户系统

用c语言编辑用户系统

问题描述:

img

题主代码修改如下,供参考:

#include<stdio.h>
#include<string.h>
struct denglu{ 
    char username[20]; 
    char password[20];
}leader[2]={"xiaowang","xiaozhao","xiaozhao","xiaowang"};
int main()
{
    int i, n, m;
    char leader_name[20];
    char leader_word[10];
    printf("\n\n");
    printf("*******************************\n");
    printf("********* 用户登录系统 *********\n");
    printf("*******************************\n");
    printf("\n\n");
    printf("Please enter username.\n");
    for (m = 0; m < 3;)
    {
        printf("username:");
        scanf("%s", leader_name);
        //printf("\n");
        for (i = 0; i < 2; i++){
            if (strcmp(leader[i].username, leader_name) == 0)
            {
                printf("\tPlease enter password.\n");
                for (n = 0; n < 3; n++) {
                    printf("\tpassword:");
                    scanf("%s", leader_word);
                    if (strcmp(leader[i].password, leader_word) == 0) {
                        printf("\n\n");
                        printf("\t*******************************\n");
                        printf("\t********* 欢迎用户! *********\n");
                        printf("\t*******************************\n");
                        printf("\n\n");
                        break;
                    }
                    else if (n < 3-1)
                        printf("\tPlease enter again!\n");
                }
                if (n >= 3)
                    printf(" 密码登录已超过次数限制!无法登陆!");
                break;
            }
        }
        if (i < 2)
            break;
        else{
            m++;
            if (m < 3)
                printf("\tUsername error! Please enter again!\n");
            else
                printf("\t用户登录已超过次数限制!无法登陆!");
        }
    }
}

应该是:if(strcmp(name,student[i].name) == 0)
代码修改如下:

#include <string.h>
#include <stdio.h>
struct yhxx
{
    char name[5];
    char password[5];
}student[5]={{"123","456"},{"567","890"},{"285","368"}};
int main()
{
    int i;
    char name[5]={0};
    char password[5]={0};
    scanf("%s",name);
    scanf("%s",password);
    int flag = 0;
    for(i = 0;i<5;i++)
    {
        if(strcmp(name,student[i].name) == 0)
        {
            flag = 1;
            break;
        }
    }
    if(flag)
    {
        printf("用户名正确\n");
        if(strcmp(password,student[i].password) == 0)
            printf("用户以成功登陆!\n");
        else
            printf("密码错误\n");
            
        
    }else
        printf("用户名错误\n");
    return 0;
}