数据结构课程设计【家庭财务管理系统】


main.cpp:

#include "family.h"

int main()
{
    US *h_user=NULL;
    PE *h_people=NULL;
    FILE *fp_people,*fp_user;             /*创建文件型指针*/
    Login();
    if((fp_user=fopen("User.txt","rb"))==NULL||(fp_people=fopen("People.txt","rb"))==NULL)
    {
        Init1(h_user);
        Init2(h_people);
        Login1(h_user,h_people);
    }
    else if((fp_user=fopen("User.txt","rb"))!=NULL||(fp_people=fopen("People.txt","rb"))!=NULL)
    {
        Load(h_user,h_people);
        Login1(h_user,h_people);
    }
    return 0;
}



family.h:

#ifndef FAMILY_H_INCLUDED
#define FAMILY_H_INCLUDED

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

typedef struct user
{
    char user_name[10];        //姓名
    char user_password[10];    //密码
    int user_flag;             //标志:0为普通成员,1为家长
    struct user *next;
}US;  //成员登陆信息

typedef struct people
{
    char people_name[10];   //姓名
    int people_income; //收入
    int people_output; //支出
    struct people *next;
}PE; //成员收支信息



void Login();//初始界面
void Init1(US *&h_user);//登录成员信息初始化
void Init2(PE *&h_people);//成员收支信息初始化
void Login1(US *h_user,PE *h_people);//);//成员登录

void Menu1(US *&h_user,PE *&h_people);//管理员选择界面
void Menu2(US *h_user,PE *h_people);//普通成员选择界面

void Add_user(US *&h_user,PE *h_people);//增加登录成员
void Add_people(US *h_user,PE *&h_people);//录入成员收支信息
void Delete_people(US *h_user,PE *&h_people);//删除成员收支信息
void Delete_user(US *&h_user,PE *h_people);//删除成员登录信息

void Print_people(PE *p);//输出成员收支信息
void Find_people1(US *h_user,PE *h_people);//查找成员收支信息
void Find_people2(US *h_user,PE *h_people);//查找成员收支信息
void Print_allpeople1(US *h_user,PE *h_people);//输出全部成员收支信息
void Print_allpeople2(US *h_user,PE *h_people);//输出全部成员收支信息
void Change_people(US *h_user,PE *h_people);//修改成员收支信息
void Change_code1(US *h_user,PE *h_people);//修改成员登录密码
void Change_code2(US *h_user,PE *h_people);//修改成员登录密码
void Save(US *h_user,PE *h_people);                 //保存
void Save_User(US *h_user);            //保存成员登陆信息
void Save_People(PE *h_people);          //保存成员收支信息
void Load(US *h_user,PE *h_people);                 //加载
void Load_User(US *h_user);            //加载成员登陆信息
void Load_People(PE *h_people);          //加载成员收支信息
int out();//退出系统
void List(US *h_user,PE *h_people);//排序


#endif // FAMILY_H_INCLUDED


family.cpp:

#include "family.h"
/********************************************************************************************************************************************
* 功能描述: 进入欢迎界面
* 输入参数: 任意值
* 输出参数:
* 返回值  :
* 其它说明:当存在家庭成员信息时进入登陆界面,否则进入初始化界面
*********************************************************************************************************************************************/

void Login() /*欢迎界面*/
{
    system("cls");
    system("color 4f");
    printf("\n");
    printf("        **     **   *********    **          **              ***      \n");
    printf("        **     **   *********    **          **            **   **    \n");
    printf("        **     **   **           **          **           **     **   \n");
    printf("        **     **   **           **          **          **       **  \n");
    printf("        *********   *********    **          **          **       **  \n");
    printf("        *********   *********    **          **          **       **  \n");
    printf("        **     **   **           **          **          **       **  \n");
    printf("        **     **   **           **          **           **     **   \n");
    printf("        **     **   *********    *********   *********     **   **    \n");
    printf("        **     **   *********    *********   *********       ***      \n");
    printf("\n");
    printf("            欢 迎 进 入 家 庭 财 务 管 理 系 统!\n");
    printf("\n\n\n\t\t 按任意键进入系统...");
    getch();
    system("cls");
}
/**************************************************************************************************************
* 功能描述: 家庭成员信息初始化
* 输入参数: US *&h_user形参指针
* 输出参数: 无
* 返回值  :
* 其它说明:家庭成员信息包括姓名、密码和权限。
****************************************************************************************************************/
void Init1(US *&h_user)  //登录成员信息初始化
{
    system("cls");
    US *p0;
    printf("\n 【成员信息初始化】\n\n");
    p0=(US*)malloc(sizeof(US));      /*申请新结点存储空间*/
    h_user=(US*)malloc(sizeof(US));
    printf("\n请输入成员姓名:");
    scanf("%s",p0->user_name);
    printf("\n\n请输入新成员密码:");
    scanf("%s",p0->user_password);
    printf("\n\n新成员是否作为家长(是请输入1,否输入0):");
    scanf("%d",&p0->user_flag);
    p0->next=NULL;
    h_user->next=p0;
    printf("\n成员信息初始化完毕!按任意键继续下一步操作..\n");
    getch();
    system("cls");
}
/**************************************************************************************************************
* 功能描述: 家庭成员收支信息初始化
* 输入参数: PE *&h_people形参指针
* 输出参数: 无
* 返回值  :
* 其它说明:家庭成员收支信息包括姓名、收入和支出。
****************************************************************************************************************/
void Init2(PE *&h_people)  //成员收支信息初始化
{
    system("cls");
    PE *p0;
    printf("\n 【成员收支信息初始化】\n\n");
    p0=(PE*)malloc(sizeof(PE));      /*申请新结点存储空间*/
    h_people=(PE*)malloc(sizeof(PE));
    printf("\n请输入成员姓名:");
    scanf("%s",p0->people_name);
    printf("\n\n请输入成员收入:");
    scanf("%d",&p0->people_income);
    printf("\n\n请输入成员支出:");
    scanf("%d",&p0->people_output);
    p0->next=NULL;
    h_people->next=p0;
    printf("\n成员信息初始化完毕!按任意键继续下一步操作..\n");
    getch();
    system("cls");
}
/**************************************************************************************************************
* 功能描述: 家庭成员登陆
* 输入参数: US *&h_user,PE *h_people形参指针,US *p用来遍历的指针
* 输出参数: 无
* 返回值  :
* 其它说明:当家庭成员的姓名和密码正确时才进入选择菜单界面。不同权限进入不同界面。
****************************************************************************************************************/
void Login1(US *h_u
  • 16
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值