//显示增加子界面 void ShowAddDisplay(struct tagIndex *pInfo, int nInfoLen, int nBaseOffset) { struct tagInfo *pEnterBuf = NULL; int nflag = 0; int nFree = 0; //接收返回值,如果是有效的索引再赋值给*pnLastIndex int nTmp = 0; //显示 输入联系人信息时的提示和保存输入信息 EnterInfo(&pEnterBuf); nTmp = AddData(pInfo, nInfoLen, nBaseOffset, pEnterBuf); if (nTmp == -1) { ShowMsg("剩余空间不足!"); return; } else if (nTmp == -2) { ShowMsg("剩余的连续空间不足,请运行碎片整理后重试!"); return; } else if (nTmp == -3) { ShowMsg("添加失败!请重新启动电脑!"); return; } //释放输入联系人用的空间 FreeEnterInfo(pEnterBuf); fflush(stdin); }
int main() { mine = (struct car*)malloc(sizeof(struct car)); EnterInfo(mine); DisplayInfo(mine); free(mine); return 0; }
//显示修改联系人的子界面 void ShowModDisplay(struct tagIndex *pInfo, int nInfoLen, int nBaseOffset) { int nEnter = 0; int nGetRet = 0; struct tagInfo *pEnterBuf = NULL; ShowMsg("请输入修改联系人的序号(每次只能输入一个序号):\r\n"); fflush(stdin); while (1) { scanf("%d", &nEnter); if (nEnter < 0 || nEnter > GetExistSum()-1) { ShowMsg("无效序号,请重新输入:"); fflush(stdin); continue; } break; } ShowMsg("请输入新信息:\r\n"); //显示 输入联系人信息时的提示和保存输入信息 EnterInfo(&pEnterBuf); nGetRet = UpdateData(pInfo, nInfoLen, nBaseOffset, pEnterBuf, nEnter); if (nGetRet >= 0) { printf("序号[%d]已经成功更新\r\n", nEnter); } else if (nGetRet == -1) { ShowMsg("当前没有联系人,请添加后再修改!"); } else if (nGetRet == -2) { ShowMsg("序号[%d]不存在!"); } else if (nGetRet == -3) { ShowMsg("添加失败!请重新启动电脑!"); return; } //释放输入联系人用的空间 FreeEnterInfo(pEnterBuf); fflush(stdin); }
//显示增加子界面 void ShowAddDisplay(struct tagIndex *pInfo, int nInfoLen, int nBaseOffset, int *pnLastIndex) { struct tagInfo *pEnterBuf = NULL; int nflag = 0; int nFree = 0; //接收返回值,如果是有效的索引再赋值给*pnLastIndex int nTmp = 0; //显示 输入联系人信息时的提示和保存输入信息 EnterInfo(&pEnterBuf); nTmp = AddData(pInfo, nInfoLen, nBaseOffset, pEnterBuf, *pnLastIndex); if (nTmp == -1) { ShowMsg("剩余空间不足!"); return; } else if (nTmp == -2) { ShowMsg("剩余的连续空间不足,请运行碎片整理后重试!"); return; } else if (nTmp == -3) { ShowMsg("添加失败!请重新启动电脑!"); return; } *pnLastIndex = nTmp; //g_nLastInfo写到文件中 WriteInfoToFile(DATAFILE, 12, pnLastIndex, sizeof(int)); //释放输入联系人用的空间 FreeEnterInfo(pEnterBuf); fflush(stdin); }