?? dataprocess.c
字號:
#include "myStd.h"
#include "main.h"
#include "util.h"
#include "dataProcess.h"
int FindBook(ListNode* pLstHeader, char* pID)
{
int nRet = 0;
ListNode* pLstTmp = pLstHeader;
while(pLstTmp != NULL)
{
if(0 == strcmp(pID, ((BookRec*) (pLstTmp->pData))->ID))
{
return nRet;
}
else
{
pLstTmp = pLstTmp->pNext;
nRet++;
}
}
return -1;
}
void SaveAllBooks(ListNode* pHead)
{
ListNode* pTmp = pHead;
if(NULL != pTmp)
{
FILE* stream = fopen(STR_FILE_BOOKS, "w+");
if(stream != NULL)
{
int nCount = GetListCount(pTmp);
int i;
fprintf(stream, "Book Num: %d\n\n", nCount);
for(i=0; i<nCount; i++)
{
fprintf(stream, "Book ID: %s\n", ((BookRec*)(pTmp->pData))->ID);
fprintf(stream, "Book Name: %s\n", ((BookRec*)(pTmp->pData))->Name);
fprintf(stream, "Book Author: %s\n", ((BookRec*)(pTmp->pData))->Author);
fprintf(stream, "Lent Num: %d\n", ((BookRec*)(pTmp->pData))->nLentNum);
fprintf(stream, "Store Num: %d\n", ((BookRec*)(pTmp->pData))->nStoreNum);
fprintf(stream, "Book Sort: %s\n", ((BookRec*)(pTmp->pData))->Sort);
fprintf(stream, "Company: %s\n\n", ((BookRec*)(pTmp->pData))->PublishCom);
pTmp = pTmp->pNext;
}
fclose(stream);
}
}
}
ListNode* GetAllBooks(ListNode* pHead)
{
ListNode* pRet = pHead;
FILE* stream;
stream = fopen(STR_FILE_BOOKS, "r");
if(NULL != stream)
{
int nCount = 0;
int i;
fscanf(stream, "Book Num: %d\n\n", &nCount);
for(i=0; i<nCount; i++)
{
BookRec bookTmp;
fscanf(stream, "Book ID: %s\n", bookTmp.ID);
fscanf(stream, "Book Name: %s\n", bookTmp.Name);
fscanf(stream, "Book Author: %s\n", bookTmp.Author);
fscanf(stream, "Lent Num: %d\n", &bookTmp.nLentNum);
fscanf(stream, "Store Num: %d\n", &bookTmp.nStoreNum);
fscanf(stream, "Book Sort: %s\n", bookTmp.Sort);
fscanf(stream, "Company: %s\n\n", bookTmp.PublishCom);
if(pRet == NULL)
{
pRet = ListGenerate(&bookTmp, sizeof(BookRec));
}
else
{
ListAddTail(pRet, &bookTmp, sizeof(BookRec));
}
}
fclose(stream);
}
return pRet;
}
int GetListCount(ListNode* pHead)
{
int nRet = 0;
ListNode* pTmp = pHead;
while(NULL != pTmp)
{
nRet++;
pTmp = pTmp->pNext;
}
return nRet;
}
void GetCurDate(time_t time, char* pCh)
{
struct tm tmTmp;
char chTmp[20];
int n;
tmTmp = *localtime(&time);
n = tmTmp.tm_year+1900;
ltoa(n, pCh, 10);
strcat(pCh, "/");
ltoa(tmTmp.tm_mon+1, chTmp, 10);
if(tmTmp.tm_mon<10)
{
strcat(pCh, "0");
}
strcat(pCh, chTmp);
strcat(pCh, "/");
ltoa(tmTmp.tm_mday, chTmp, 10);
if(tmTmp.tm_mday<10)
{
strcat(pCh, "0");
}
strcat(pCh, chTmp);
}
time_t TimeAddDays(time_t time, int nDays)
{
time_t tRet;
struct tm tmTmp;
tmTmp = *localtime(&time);
tmTmp.tm_mday = tmTmp.tm_mday + nDays;
tRet = mktime(&tmTmp);
return tRet;
}
ListNode* GetAllBorrow(ListNode* pHead)
{
ListNode* pRet = pHead;
FILE* stream;
stream = fopen(STR_FILE_LENT, "r");
if(NULL != stream)
{
while (TRUE)
{
BorrowRec borrow;
int n = 1;
n = fscanf(stream, "Book ID: %s\n", borrow.BookID);
if(n<0)
{
break;
}
n = fscanf(stream, "Card ID: %s\n", borrow.CardID);
if(n<0)
{
break;
}
n = fscanf(stream, "Borrower: %s\n", borrow.Borrower);
if(n<0)
{
break;
}
n = fscanf(stream, "Borrow Date: %s\n", borrow.BorrowTime);
if(n<0)
{
break;
}
n = fscanf(stream, "Return Date: %s\n", borrow.ReturnTime);
if(n<0)
{
break;
}
if(pRet == NULL)
{
pRet = ListGenerate(&borrow, sizeof(BorrowRec));
}
else
{
ListAddTail(pRet, &borrow, sizeof(BorrowRec));
}
n = fscanf(stream, "\n\n");
}
fclose(stream);
}
return pRet;
}
void GetBookName(ListNode* pLst, char* pID, char* pRet)
{
ListNode* pLstTmp = pLst;
while(pLstTmp != NULL)
{
BookRec* pBook = pLstTmp->pData;
if(strcmp(pBook->ID, pID) == 0)
{
strcpy(pRet, pBook->Name);
break;
}
pLstTmp = pLstTmp->pNext;
}
}
int GetDays2Now(char* chSrc)
{
/*
char chYear[4];
char chMon[2];
char chDay[2];
struct tm tmSrc;
time_t tSrc;
time_t tNow;
chYear[0] = chSrc[0];
chYear[1] = chSrc[1];
chYear[2] = chSrc[2];
chYear[3] = chSrc[3];
chMon[0] = chSrc[5];
chMon[1] = chSrc[6];
chDay[0] = chSrc[8];
chDay[1] = chSrc[9];
tmSrc.tm_year = atol(chYear)-1900;
tmSrc.tm_mon = atol(chMon)-1;
tmSrc.tm_mday = atol(chDay);
tSrc = mktime(&tmSrc);
time(&tNow);*/
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -