影碟管理系统(程序设计课大作业)

第一次接触稍大一点的程序,纪念一下

代码有点长,我将它放到了GitHub上,有需要的直接clone就好
https://github.com/123xzy/DVD-System

本来是和同学一起完成的,但他们好像积极性不高,就自己写了orz

程序的结构借鉴了C primer plus 的面对对象的设计思路,但感觉只是学了点表面,面对对象的本质还没抓到,大家凑合看看,要是想借鉴,记得和我说一下,毕竟辛辛苦苦写的hhhh

我是在VS2017上编译运行的,有三个文件,要一起编译哦,涉及到的只是还是很简单的,结构体,文件操作,链表(但是我写的过程中感觉用链表的意义不是特别大),只在删除的时候用到了链表。

第一个是函数、结构体申明文件,也就是面对对象里的接口吧

#ifndef FILM_H
#include
#define MAXN 105
/*影碟信息*/
typedef struct film    
{
    char name[MAXN];    //影碟名称
    char national[MAXN];//国家
    int  type;           //类型
    int  quantity;        //数量
    char dir[MAXN];     //导演
    int  year;       //上映年份
}FILM;

/*用户信息*/
typedef struct user
{
    char account[MAXN];
    char password[MAXN];

}USER;

/*借阅信息*/
typedef struct userfilm
{
    char account[MAXN];
    char name[MAXN];
    int year;
    int month;
    int day;
    struct userfilm* next;
}Userfilm;

/*登录界面*/
void Menu1();

/*用户界面:查找,借阅,归还*/
void Menu2();

/*管理员界面:影碟修改,录入*/
void Menu3();

/*用户登录操作:输入用户名,密码*/
void Users_Login();

/*管理员登录操作*/
void Admin_Login();

/*用户界面*/
void UI();

/*管理员界面*/
void AdminI();

/*注册用户信息*/
void Users_Regis();

/*找回密码*/
void PassW_Retri(int);

/*添加影碟信息*/
void Addfilm();

/*输出所有影碟信息*/
void Film_Infor();

/*操作:根据影碟名称查询有关电影*/
void Find_Film();

/*展现用户信息(密码,借阅影碟)*/
void User_Infor();

/*借阅影碟*/
void Rent_Film();

/*归还影碟*/
void Return_Film();

/*修改影碟信息*/
void Alter_Film();

/*自定义getchar()函数*/
char getchar_s();

#endif // !LIST_H

#pragma once

第二个是函数的实现(好像有点长,有五百多行),在面对对象里,是说要把函数实现隐藏,就和一个黑箱的功能一样,所以就把它放在了新的头文件中,看起来清楚一些,也容易调试(写的时候绝大部分时间都花在了这里)

最后就是主函数,体现了程序运行的整个结构

#include
#include
#include<string.h>
#include "list.h"
int main()
{
    char choice;
    for (;;)
    {
        system("cls");
        Menu1();
        choice = getchar_s();
        while (choice > '6' || choice < '1')
        {
            printf("请输入正确的选择(1-6):");
            choice = getchar_s();
        }
        if (choice == '1')
        {
            Users_Login();
            UI();
        }
        else if (choice == '2')
        {
            Users_Regis(); UI();
        }
        else if (choice == '3')
            Find_Film();
        else if (choice == '4')
        {
            Film_Infor();
            printf("按任意键退出浏览"); 
            getchar();
        }
        else if (choice == '5')
        {
            Admin_Login();
            AdminI();
        }
        else if (choice == '6')
        {
            printf("按任意键退出系统");
            getchar();
            exit(1); 
        }
    }
    return 0;
}

说的不对的地方,望指教,毕竟新手,如果有不懂的地方,可以互相交流QQ1037884309

接下来还是要多学学数据结构算法的,这方面要熟练起来,还要做oj,很久没做了,一直在学线代,感觉数学很重要orz

你可能感兴趣的:(杂乱)