⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.c

📁 家庭财务管理系统
💻 C
字号:
/*login.c:家庭成员登录,判断登录名、密码、权限,
 根据权限调用相应功能选择界面*/
/*包含家庭成员信息头文件
包含创建家庭成员信息、增加、删除、修改、排序的用户处理程序
包含管理员、普通用户的功能选择界面处理程序*/
#include "user.h"
/*家庭成员(即用户)信息头文件,如用户名、密码等*/
#include "cuser.c"
/*初始化家庭成员信息文件,赋以用户名、密码等供登录使用、校验*/
#include "admin.c"
/*家长(即管理员)功能选择界面*/
#include "guest.c"
/*普通家庭成员功能选择界面*/
#include "adduser.c"
/*添加家庭成员(即用户)信息*/
#include "deluser.c"
/*删除家庭成员信息*/
#include "sunum.c"
/*按家庭成员序号排序浏览*/
#include "munum.c"
/*按家庭成员序号修改信息*/
int main()
{

    FILE *fp = NULL;
    user Show;
    user TmpS;                   /*临时存放家庭成员信息的结构体变量*/
    char DataFile[40] = "yonghu";/*存放家庭成员信息的文件名为yonghu*/
    int i;
    char relogin;                /*是否重新登录的标志*/
    int success=0;               /*登录成功的标志*/
    /*CreatUser();*/
printf("#===========================================================#\n");
printf("#     Welcome to the Family Financial Management System!    #\n");
printf("#===========================================================#\n");

again:
    /*输入用户名*/
    printf("please enter the user name:");
    scanf("%s",TmpS.Name);

    /*输入密码,用不带回显的方式保证安全性*/
    printf("password=");
    for(i=0;i<6;i++)
        {
        TmpS.ps[i]=getch();
        }

    TmpS.ps[6]='\0';

    /*printf("\nname:%s  password:%s\n",TmpS.Name,TmpS.ps);*/

    /*打开yonghu文件,用来验证用户名和密码*/
    fp=fopen(DataFile,"rb");
    /*当打开文件失败时提示*/
    if (fp == NULL)
    {
        printf("\nOpen file%sfail!End with any key \n",DataFile);
        perror("Open file fail");
        getch();
        exit(1);
    }

    /*循环读取文件校验用户名和密码是否正确*/
    while(fread(&Show,sizeof(user),1,fp) != (int)NULL)
    {
        /*如果通过验证,则将success成功登录标记设为1*/
        if((strcmp(TmpS.Name,Show.Name)==0)&&(strcmp(TmpS.ps,Show.ps)==0))
        {
            printf("\nlogin successful!\n");

            success=1;
            /*判断权限,如power的值为1,则是家长,
            并调用家长功能选择界面*/
            if(Show.power==1)
                {
                printf("\nyour power is administrator!\n");
                Admin();/*调用家长功能选择界面*/
                }
            /*判断权限,如power的值为0,则是普通家庭成员,
            并调用普通家庭成员功能选择界面*/
            if(Show.power==0)
                {
                printf("\nyour power is user!\n");
                Guest();/*调用普通家庭成员功能选择界面*/
                }
        }
    }
    /*如未能成功登录,让用户选择重新登录或退出*/
    if(success==0)
        {
            getchar();/*获取前次输入数据时遗留下来的回车符*/
            printf("\nerror user name or password!input again?(y/n)");
            scanf("%c",&relogin);
            if((relogin=='Y')||(relogin=='y'))
                {
                printf("you choose input again:\n");
                goto again;}
            else
                {
                    printf("end program");
                    getch();
                    exit(0);
                }
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -