武漢理工大学のコンピュータの基礎とプログラミング実験—ネットカフェの課金管理システム(スーパー管理者の機能を拡張することを含む)


billing_file.h
#ifndef BILLING_FILE_H
#define BILLING_FILE_H //          
#include"model.h"

int saveBilling(const Billing* pBilling,const char *pPath);
int addBilling(const char *pName,Billing *pBilling);
int readBilling(BillingNode *pBilling,const char *pPath);
int getBillingCount(const char *pPath);
int updateBilling(const Billing* pBilling, const char* pPath, int nIndex);
#endif

billing_service.h
#ifndef BILLING_SERVICE_H
#define BILLING_SERVICE_H
#include"model.h"
void initBillingList();
void releaseBillingList();
int getBilling();
BillingNode *GetBillList();
Billing* queryBilling(const char * pNmae,int* pIndex);
#endif


card_file.h
#ifndef CARD_SERVICE_H
#define CARD_SERVICE_H //          
#include"model.h"
//      
int saveCard(const Card* pCard, const char* pPath);
int readCard(Card* pCard, const char* pPath);
int updateCard(const Card* pCard, const char* pPath, int nIndex);
Card praseCard(char* pBuf);
int getCardCount(const char* pPath);
//       
int saveCard_binary(const Card* pCard, const char* pPath);
int readCard_binary(Card* pCard, const char* pPath);
int getCardCount_binary(const char* pPath);
int updateCard_binary(const Card* pCard, const char* pPath, int nIndex);
#endif

card_service.h
#ifndef CARD_SERVICE_H
#define CARD_SERVICE_H //          
#include"model.h"
int Addcard(Card card);
int getCard();
void ReleaseCardList();
int InitCardList();
int queryCard(const char* pName,Card **pcard);
Card *QueryCards(const char* pName, int* pIndex);
Card* AllCards(int* length);
int  checkCard(const char* pName, const char* pPwd,int  *pInfo,Card **p);


int AllMoney(Money *m);
#endif


global.h
#ifndef GLOBAL_H
#define GLOBAL_H

#define FALSE 0
#define TRUE 1
#define UNUSE 2
#define ENOUGHMONEY 3


#define CARDPATH "data\\card.txt"
#define CARDPATHBINARY "data\\card.ams"
#define BILLINGPATH "data\\billing.ams"
#define MONEYPATH "data\\money.ams"
#define CHARGEPATH "data\\charge.txt"

#endif


menu.h
#ifndef MENU_H
#define MENU_H  //          
void ExitSystem();
void addCard();
void outputMenu(); //    
void mainMenu();
void manageMenu();
void logon();
void settle();
void addMoney();
void refundMoney();
void annul();
void collectInfo();


int delete_card();
void update_charge();
#endif

model.h
#ifndef MODEL_H
#define MODEL_H //          

#include< time.h>
typedef struct Card
{
     
	char Number[18];  //  
	char Password[8]; //  
	int  Status;      //   (0    ,1    ,2     ,3     )
	time_t  Start;       //    
	time_t  End;         //      
	float   fTotalUse;     //    
	time_t    LastTime;        //     
	int       UseCount;  //      
	float     Balance;      //  
	int       Delete;            //    :0    ,1    
}Card;
typedef struct CardNode
{
     
	Card data; //   
	struct CardNode* next;//   
}CardNode, * lpCardNode;
//       
typedef struct Billing {
     

	char aCardName[18];  //  
	time_t tStart;       //    
	time_t tEnd;         //    
	float fAmount;       //    
	int nStatus;         //    ,0-   ,1-   
	int nDel;            //    ,0-   ,1-   
}Billing;
typedef struct LogonInfo {
     
	char aCardName[18];   //    
	time_t tLogon;        //    
	float fBalance;       //       ;
}LogonInfo;
typedef struct BillingNode {
     
	Billing  data;
	struct BillingNode *next;
}BillingNode,*lpBillingNode;
typedef struct SettleInfo {
     
	char aCardName[18];
	time_t tStart;
	time_t tEnd;
	float fAmount;
	float fBalance;
}SettleInfo;
//       
typedef struct Money {
     
	char cardname[18];
	time_t tTime;
	int nStatus;//      0     1  
	float fMoney;
	int nDel;//      0     1  
}Money;
typedef struct MoneyInfo
{
     
	char cardname[18];
	float fMoney;
	float fBalance;
}MoneyInfo;
#endif


monry_file.h
#ifndef MONEY_FILE_H
#define MONEY_FILE_H
#include"model.h"
int saveMoney(const Money *pmoney, const char * path);
int getMoneyCount_binary(const char* pPath);

#endif


service.h
#ifndef SERVICE_H
#define SERVICE_H
#include"model.h"
int doLogon(const char *pName,const char *pPwd,LogonInfo *pInfo);
int addCardInfo(Card card);
int queryCardInfo(const char *pName,Card **pcard);
void releaseList();
int doSettle(const char *pName,const char *pPwd,SettleInfo *pInfo);
int doAddMoney(const char *pName, const char *pPwd, MoneyInfo *moneyinfo);
int doRefoundMoney(const char *pName, const char *pPwd, MoneyInfo *moneyinfo);
double getAmount(time_t tStart);
int annulCard(Card *p);
int moneyRecord();
int CardRecord();
int billRecord();
#endif



tool.h
#include
void timeToString(time_t t, char* pBuf);
time_t stringToTime(char *pTime);

ファイルのリンクはここに置いて、3つの小さいポイント、直接无駄に买い物をして100分全体のファイルはここでダウンロードします