活力长者社区

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void scene0();
void vipscene();
void roomscene();
void settlescene();
void equipmentscene();
void userscene();
void addvip();
void searchvip();
struct vip getdata(char info[]);
void correctvip(char vipid[]);
void changevip(char vipid[]);
void deletevip(char vipid[]);
void changetel(char vipid[]);
void changename(char vipid[]);
void changeid(char vipid[]);
void addroom();
void buyroom();
void purchase(char info[]);
void settleroom(char info[]);
void rentroom(char info[]);
void freeroom(char info[]);
void selectroom(char info[]);
void addequip();
void inoutequip();
void lendequip(char info[20]);
void returnequip(char info[20]);struct node {int data;struct node *next;
};//创建单向链表节点
void print(struct node*head)
{struct node *temp;temp=head;while(temp!=NULL){temp=temp->next;}
}//创建链表指针struct equipment{int id;char name[20];int usestate;
};//定义设施结构体struct vip {char vipid[20];char name[20];char id[20];char tel[20];
};//定义会员结构体struct room{int id;int size;char info[20];int vipid;int usestate;
};//定义房屋结构体int main() {scene0();int choice1;scanf("%d",&choice1);switch (choice1) {case 1:vipscene();break;case 2:roomscene();break;case 3:settlescene();break;case 4:equipmentscene();break;case 5:userscene();break;case 6:printf("退出成功!");break;default:{printf("选择失败:请输入有效数字!\n");main();break;}}
}//主UI功能void scene0() {printf("****************************************\n""======欢迎登陆活力长者社区管理系统!======\n""****************************************\n""请输入相应数字以选择服务:\n""┌─────────────────────┐\n""│会员管理------------1\n""│房屋管理------------2\n""│入住管理------------3\n""│场馆设施排队管理----4\n""│用户管理------------5\n""│退出系统------------6\n""└─────────────────────┘\n""****************************************\n");
}//主UIvoid settlescene() {printf("请输入办理入住的房屋编码:\n");char info[20];scanf("%s",&info);FILE *fp = NULL;char buff[255];fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[5][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if(strcmp(substr[0],info)==0) {selectroom(info);break;}}if (feof(fp)) {printf("未找到该房屋!\n""***********************\n");buyroom();}fclose(fp);}//入住管理void selectroom(char info[]) {FILE *fp = NULL;char buff[255];fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL) {char *ptr, *retptr;ptr = buff;char substr[5][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if (strcmp(substr[0], info)==0) {printf("┌───────────────────┐\n""│房屋面积:%s\n""│房屋位置:%s\n""│会员编号:%s\n""│入住情况:%s\n""└───────────────────┘\n", substr[1], substr[2], substr[3], substr[4]);printf("****************************************\n""请输入相应数字以选择服务:\n""┌───────────────────┐\n""│办理入住-----------1\n""│房屋出租-----------2\n""│房屋闲置-----------3\n""│返回主页-----------4\n""└───────────────────┘\n""****************************************\n");int choice6;scanf("%d", &choice6);switch (choice6) {case 1:settleroom(info);break;case 2:rentroom(info);break;case 3:freeroom(info);break;case 4:main();break;default: {printf("选择失败:请输入有效数字!\n");settlescene();break;}}}}
//            printf("该会员不存在!\n");
//            settlescene();
}//查找房屋void freeroom(char info[]) {FILE *fp = NULL;char buff[255];struct room roomlist[255];int k=0;fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[5][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct room newroom;if(strcmp(substr[0],info)==0) {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=0;roomlist[k]=newroom;} else {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=atoi(substr[4]);roomlist[k]=newroom;}k++;}FILE *fp2;fp2= fopen("roomdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%d,%s,%d,%d\n",roomlist[i].id,roomlist[i].size,roomlist[i].info,roomlist[i].vipid,roomlist[i].usestate);}fclose(fp2);fclose(fp);printf("办理闲置成功!\n");main();
}//办理闲置void rentroom(char info[]) {FILE *fp = NULL;char buff[255];struct room roomlist[255];int k=0;fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[5][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct room newroom;if(strcmp(substr[0],info)==0) {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=2;roomlist[k]=newroom;} else {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=atoi(substr[4]);roomlist[k]=newroom;}k++;}FILE *fp2;fp2= fopen("roomdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%d,%s,%d,%d\n",roomlist[i].id,roomlist[i].size,roomlist[i].info,roomlist[i].vipid,roomlist[i].usestate);}fclose(fp2);fclose(fp);printf("办理出租成功!\n");main();
}//办理出租void settleroom(char info[]) {FILE *fp = NULL;char buff[255];struct room roomlist[255];int k=0;fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[5][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct room newroom;if(strcmp(substr[0],info)==0) {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=1;roomlist[k]=newroom;} else {newroom.id = atoi(substr[0]);newroom.size= atoi(substr[1]);for(int j=0;j<20;j++) {newroom.info[j]= substr[2][j];}newroom.vipid= atoi(substr[3]);newroom.usestate=atoi(substr[4]);roomlist[k]=newroom;}k++;}FILE *fp2;fp2= fopen("roomdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%d,%s,%d,%d\n",roomlist[i].id,roomlist[i].size,roomlist[i].info,roomlist[i].vipid,roomlist[i].usestate);}fclose(fp2);fclose(fp);printf("办理入住成功!\n");main();
}//办理入住void roomscene() {printf("****************************************\n""请输入相应数字以选择服务:\n""┌───────────────────┐\n""│新建房屋-----------1\n""│购买房屋-----------2\n""│返回上层-----------3\n""└───────────────────┘\n""****************************************\n");int choice5;scanf("%d", &choice5);switch (choice5) {case 1:addroom();break;case 2:buyroom();break;case 3:main();break;default:{printf("选择失败:请输入有效数字!\n");roomscene();break;}}
}//房屋管理void buyroom() {printf("请输入购买的房屋编号:\n");char info[20];scanf("%s",&info);FILE *fp = NULL;char buff[255];fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[5][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if(strcmp(substr[0],info)==0) {printf("┌───────────────────┐\n""│房屋面积:%s\n""│房屋位置:%s\n""│会员编号:%s\n""│入住情况:%s\n""└───────────────────┘\n""*****************************\n",substr[1],substr[2],substr[3],substr[4]);purchase(info);break;}}if (feof(fp)) {printf("未找到该房屋!\n""***********************\n");buyroom();}fclose(fp);}//购买房屋void purchase(char info[]) {printf("请输入购买会员编号:\n");int vipid;scanf("%d",&vipid);FILE *fp = NULL;char buff[255];struct room roomlist[255];int k=0;fp = fopen("roomdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL) {char *ptr, *retptr;ptr = buff;char substr[5][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct room newroom;if (strcmp(substr[0], info) == 0) {newroom.id = atoi(substr[0]);newroom.size = atoi(substr[1]);for (int j = 0; j < 20; j++) {newroom.info[j] = substr[2][j];}newroom.vipid = vipid;newroom.usestate = atoi(substr[4]);roomlist[k] = newroom;} else {newroom.id = atoi(substr[0]);newroom.size = atoi(substr[1]);for (int j = 0; j < 20; j++) {newroom.info[j] = substr[2][j];}newroom.vipid = atoi(substr[3]);newroom.usestate = atoi(substr[4]);roomlist[k] = newroom;}k++;}FILE *fp2;fp2= fopen("roomdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%d,%s,%d,%d\n",roomlist[i].id,roomlist[i].size,roomlist[i].info,roomlist[i].vipid,roomlist[i].usestate);}fclose(fp2);fclose(fp);printf("购买成功!\n");roomscene();
}//处理购买行为void addroom() {int size;char info[20];printf("请输入房屋面积:\n");scanf("%d",&size);printf("请输入房屋位置:\n");scanf("%s",&info);FILE * f = 0;int lines=0;char line[256];f = fopen("roomdata.txt", "r");while(fgets(line, 255, (FILE *) f)!=NULL){char *ptr, *retptr;ptr = line;char substr[5][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串lines++;}fclose(f);int roomid=lines+1;printf("新建房屋成功!\n""房屋编号为:%d\n",roomid);FILE *fp;fp= fopen("roomdata.txt", "a");fprintf(fp, "%d,%d,%s,0,0\n",roomid,size,info);fclose(fp);roomscene();
}//新建房屋void deletevip(char vipid[]) {printf("确定删除该会员吗?输入1确认,0取消\n");int confirm;scanf("%d",&confirm);if(confirm==1) {FILE *fp = NULL;char buff[255];struct vip viplist[255];int k=0;fp = fopen("vipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[4][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct vip deletevip;if(strcmp(substr[0],vipid)!=0) {int j = 0;while (j < 20) {deletevip.vipid[j] = substr[0][j];deletevip.name[j] = substr[1][j];deletevip.id[j] = substr[2][j];deletevip.tel[j] = substr[3][j];j++;}viplist[k]=deletevip;k++;}}FILE *fp2;fp2= fopen("vipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%s,%s,%s,%s\n",viplist[i].vipid,viplist[i].name,viplist[i].id,viplist[i].tel);}fclose(fp2);fclose(fp);printf("删除会员成功!\n");vipscene();}else if (confirm==0) {printf("已取消删除\n""*****************************");correctvip(vipid);}
}//删除会员UIvoid vipscene() {printf("****************************************\n""请输入相应数字以选择服务:\n""┌───────────────────┐\n""│新建会员-----------1\n""│查询会员-----------2\n""│返回上层-----------3\n""└───────────────────┘\n""****************************************\n");int choice2;scanf("%d", &choice2);switch (choice2) {case 1:addvip();break;case 2:searchvip();break;case 3:main();break;default:{printf("选择失败:请输入有效数字!\n");vipscene();break;}}
}//会员管理void addvip() {char name[10];char id[18];int tel;printf("请输入会员姓名:\n");scanf("%s",&name);printf("请输入会员手机号:\n");scanf("%d",&tel);printf("请输入会员身份证号:\n");scanf("%s",&id);FILE * f = 0;int lines=0;char line[256];f = fopen("vipdata.txt", "r");while(fgets(line, 255, (FILE *) f)!=NULL){char *ptr, *retptr;ptr = line;char substr[4][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if(atoi(substr[0])>lines) {lines = atoi(substr[0]);}}fclose(f);int vipid=lines+1;printf("新建会员成功!\n""会员编号为:%d\n",vipid);FILE *fp;fp= fopen("vipdata.txt", "a");fprintf(fp, "%d,%s,%s,%d\n",vipid,name,id,tel);fclose(fp);vipscene();
}//增会员void searchvip() {printf("请输入会员ID/身份证号/姓名/手机号码:\n");char info[20];scanf("%s",&info);if(strcmp(getdata(info).vipid,"")!=0) {printf("┌───────────────────────────┐\n");printf("│会员编号:%s\n", getdata(info).vipid);printf("│会员姓名:%s\n", getdata(info).name);printf("│会员身份证号:%s\n", getdata(info).id);printf("│会员手机号:%s\n", getdata(info).tel);printf("└───────────────────────────┘\n");correctvip(getdata(info).vipid);} else {printf("未找到此人!\n");searchvip();}//查找失败
}//查会员void correctvip(char vipid[]) {printf("请输入相应数字选择以下操作:\n""┌─────────────────────┐\n""│修改会员信息---------1\n""│删除会员-------------2\n""│返回上层-------------3\n""└─────────────────────┘\n""*****************************\n");int choice3;scanf("%d",&choice3);switch (choice3) {case 1:changevip(vipid);break;case 2:deletevip(vipid);break;case 3:vipscene();break;default: {printf("选择失败:请输入有效数字!\n");correctvip(vipid);break;}}
}//会员删改UIvoid changevip(char vipid[]) {printf("请选择修改内容:\n""┌─────────────────┐\n""│电话号码---------1\n""│姓名-------------2\n""│身份证号---------3\n""│取消修改---------4\n""└─────────────────┘\n""*****************************\n");int choice4;scanf("%d", &choice4);switch (choice4) {case 1:changetel(vipid);break;case 2:changename(vipid);break;case 3:changeid(vipid);break;case 4:vipscene();break;default: {printf("选择失败:请输入有效数字!\n");changevip(vipid);break;}}
}//修改会员UIvoid changeid(char vipid[]) {printf("请输入新的身份证号:\n");char newid[18];scanf("%s",&newid);FILE *fp = NULL;char buff[255];struct vip viplist[255];int k=0;fp = fopen("vipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[4][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct vip idvip;if(strcmp(substr[0],vipid)==0) {int j = 0;while (j < 20) {idvip.vipid[j] = substr[0][j];idvip.name[j] = substr[1][j];idvip.id[j] = newid[j];idvip.tel[j] = substr[3][j];j++;}viplist[k]=idvip;} else {int j = 0;while (j < 20) {idvip.vipid[j] = substr[0][j];idvip.name[j] = substr[1][j];idvip.id[j] = substr[2][j];idvip.tel[j] = substr[3][j];j++;}viplist[k]=idvip;}k++;}FILE *fp2;fp2= fopen("vipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%s,%s,%s,%s\n",viplist[i].vipid,viplist[i].name,viplist[i].id,viplist[i].tel);}fclose(fp2);fclose(fp);printf("修改成功!\n""*****************************\n");changevip(vipid);
}//修改身份证号void changetel(char vipid[]) {printf("请输入新的电话号码:\n");char newtel[11];scanf("%s",&newtel);FILE *fp = NULL;char buff[255];struct vip viplist[255];int k=0;fp = fopen("vipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[4][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct vip telvip;if(strcmp(substr[0],vipid)==0) {int j = 0;while (j < 20) {telvip.vipid[j] = substr[0][j];telvip.name[j] = substr[1][j];telvip.id[j] = substr[2][j];telvip.tel[j] = newtel[j];j++;}viplist[k]=telvip;} else {int j = 0;while (j < 20) {telvip.vipid[j] = substr[0][j];telvip.name[j] = substr[1][j];telvip.id[j] = substr[2][j];telvip.tel[j] = substr[3][j];j++;}viplist[k]=telvip;}k++;}FILE *fp2;fp2= fopen("vipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%s,%s,%s,%s\n",viplist[i].vipid,viplist[i].name,viplist[i].id,viplist[i].tel);}fclose(fp2);fclose(fp);printf("修改成功!\n""*****************************\n");changevip(vipid);
}//修改电话号void changename(char vipid[]) {printf("请输入新的姓名:\n");char newname[11];scanf("%s",&newname);FILE *fp = NULL;char buff[255];struct vip viplist[255];int k=0;fp = fopen("vipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[4][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct vip namevip;if(strcmp(substr[0],vipid)==0) {int j = 0;while (j < 20) {namevip.vipid[j] = substr[0][j];namevip.name[j] = newname[j];namevip.id[j] = substr[2][j];namevip.tel[j] = substr[3][j];j++;}viplist[k]=namevip;} else {int j = 0;while (j < 20) {namevip.vipid[j] = substr[0][j];namevip.name[j] = substr[1][j];namevip.id[j] = substr[2][j];namevip.tel[j] = substr[3][j];j++;}viplist[k]=namevip;}k++;}FILE *fp2;fp2= fopen("vipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%s,%s,%s,%s\n",viplist[i].vipid,viplist[i].name,viplist[i].id,viplist[i].tel);}fclose(fp2);fclose(fp);printf("修改成功!\n""*****************************\n");changevip(vipid);
}//修改姓名struct vip getdata(char info[]){FILE *fp = NULL;char buff[255];struct vip nullvip={"","","",""};struct vip newvip={"","","",""};fp = fopen("vipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL) {char *ptr, *retptr;ptr = buff;char substr[4][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if (strcmp(substr[0], info) == 0 || strcmp(substr[2], info) == 0 || strcmp(substr[1], info) == 0 ||strcmp(substr[3], info) == 0) {int j = 0;while (j < 20) {newvip.vipid[j] = substr[0][j];newvip.name[j] = substr[1][j];newvip.id[j] = substr[2][j];newvip.tel[j] = substr[3][j];j++;}return newvip;}}if (feof(fp))return newvip;fclose(fp);return nullvip;} //读取会员文件取出对象void equipmentscene() {printf("****************************************\n""请输入相应数字以选择服务:\n""┌───────────────────┐\n""│新建设施-----------1\n""│借还设施-----------2\n""│返回上层-----------3\n""└───────────────────┘\n""****************************************\n");int choice7;scanf("%d", &choice7);switch (choice7) {case 1:addequip();break;case 2:inoutequip();break;case 3:main();break;default:{printf("选择失败:请输入有效数字!\n");equipmentscene();break;}}
}//设备管理void inoutequip() {printf("请输入借还的设施编号:\n");char info[20];scanf("%s",&info);FILE *fp = NULL;char buff[255];fp = fopen("equipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[3][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串if(strcmp(substr[0],info)==0) {printf("┌───────────────────┐\n""│设施名称:%s\n""│使用情况:%s\n""└───────────────────┘\n",substr[1],substr[2]);if (strcmp(substr[0], info)==0) {printf("****************************************\n""请输入相应数字以选择服务:\n""┌───────────────────┐\n""│借用设备-----------1\n""│归还设备-----------2\n""│返回上层-----------3\n""└───────────────────┘\n""****************************************\n");int choice8;scanf("%d", &choice8);switch (choice8) {case 1:lendequip(info);break;case 2:returnequip(info);break;case 3:equipmentscene();break;default: {printf("选择失败:请输入有效数字!\n");inoutequip();break;}}}break;}}if (feof(fp)) {printf("未找到该设施!\n""***********************\n");inoutequip();}fclose(fp);
}//借还设施void returnequip(char info[20]) {FILE *fp = NULL;char buff[255];struct equipment equiplist[255];int k=0;fp = fopen("equipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[3][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct equipment newequip;if(strcmp(substr[0],info)==0) {newequip.id = atoi(substr[0]);for(int j=0;j<20;j++) {newequip.name[j]= substr[1][j];}newequip.usestate=0;equiplist[k]=newequip;} else {newequip.id = atoi(substr[0]);for(int j=0;j<20;j++) {newequip.name[j]= substr[1][j];}newequip.usestate=atoi(substr[2]);equiplist[k]=newequip;}k++;}FILE *fp2;fp2= fopen("equipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%s,%d\n",equiplist[i].id,equiplist[i].name,equiplist[i].usestate);}fclose(fp2);fclose(fp);printf("归还设备成功!\n");equipmentscene();
}void lendequip(char info[20]) {FILE *fp = NULL;char buff[255];struct equipment equiplist[255];int k=0;fp = fopen("equipdata.txt", "r");while(fgets(buff, 255, (FILE *) fp)!=NULL){char *ptr, *retptr;ptr = buff;char substr[3][20];int  i= 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串struct equipment newequip;if(strcmp(substr[0],info)==0) {newequip.id = atoi(substr[0]);for(int j=0;j<20;j++) {newequip.name[j]= substr[1][j];}newequip.usestate=1;equiplist[k]=newequip;} else {newequip.id = atoi(substr[0]);for(int j=0;j<20;j++) {newequip.name[j]= substr[1][j];}newequip.usestate=atoi(substr[2]);equiplist[k]=newequip;}k++;}FILE *fp2;fp2= fopen("equipdata.txt", "w");for(int i=0;i<k;i++) {fprintf(fp2,"%d,%s,%d\n",equiplist[i].id,equiplist[i].name,equiplist[i].usestate);}fclose(fp2);fclose(fp);printf("借用设备成功!\n");equipmentscene();
}void addequip() {char name[20];printf("请输入设施名称:\n");scanf("%s",&name);FILE * f = 0;int lines=0;char line[256];f = fopen("equipdata.txt", "r");while(fgets(line, 255, (FILE *) f)!=NULL){char *ptr, *retptr;ptr = line;char substr[3][20];int i = 0;while ((retptr = strtok(ptr, ",")) != NULL) {strcpy(substr[i++], retptr);ptr = NULL;}//分割字符串lines++;}fclose(f);int equipid=lines+1;printf("新建设施成功!\n""设施编号为:%d\n",equipid);FILE *fp;fp= fopen("equipdata.txt", "a");fprintf(fp, "%d,%s,0\n",equipid,name);fclose(fp);equipmentscene();
}//新建设施

设备文档(示例) equip.txt

1,滑梯,0
2,会议室,0

房屋文档(示例) roomdata.txt

1,50,二楼203,1,1
2,88,一号楼101,0,2

客户文档(示例) vipdata.txt

1,lzh,123456123111111111,44567897891
2,wzy,123456789456,75631597841

活力长者社区(C语言)相关推荐

  1. C语言开发东北大学21级大作业—活力长者社区(图形界面)(附源码)

    注:受老师许可,本程序内容与活力长者社区稍有不同.但所涉及到的功能.知识点与结构大致相似. 本程序名为 " 陆零玖酒店管理系统 " . 任何疑问欢迎留言.此源码仅供学习,请不要过度 ...

  2. C语言开发东北大学活力长者社区班车路线管理(迪杰斯特拉算法)

    东北大学大作业-活力长者社区-班车路线管理(创新) 开发语言:c语言 编译工具:vscode 引用的小伙伴麻烦点下关注,有任何疑问欢迎大家留言哎 1.运行效果 2.迪杰斯特拉算法实现思路 为了求得两站 ...

  3. 东北大学大一下暑期实训项目--活力长者社区(JAVAFX+scenebuilder)

    前言 编译器:Eclipse IDE(2017) 运行环境:JRE 8 GUI开发工具:JavaFX 可视化界面构造插件:JavaFX Scene Builder 2.0(利用此插件完成对界面的布局操 ...

  4. python语言中文社区-python语言中文

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 为了得到一个可以正常返回的 url ,需要修改示例中的 secretid ...

  5. 开源生态|打造活力开源社区,共建开源新生态!

    在开源还只是一个小众群体的业余爱好时,几乎做任何事情,都是自由的.但是,在软件吞噬世界.开源吞噬软件的今天,开源技术,已经成为整个世界的基础设施之一. --<2021年中国开源年度报告> ...

  6. 云服务+开源,建设活力开源社区,我们一直在路上!

     { 文章推荐语 }    "在 2020 年末,有幸参与到了一次亚马逊云科技的社区活动中,在这次活动上第一次听到了宇博的分享<云计算,开源与社区>,带给了我非常多的思考和启发, ...

  7. vs2015 professional 安装遇到的问题

    1.安装路径选择 之前装了一个vs2015Community,卸载不干净,导致professional 版本的安装路径是原来Community版的安装路径,不能修改. 解决办法:要删除残存的注册表:运 ...

  8. 综述 | 语言分析技术在社会计算中的应用

    综述 | 语言分析技术在社会计算中的应用 刘知远 社媒派SMP 2016-01-27 中国中文信息学会社会媒体处理专委会 传统社会科学研究中的数据主要通过调查问卷或口头采访等方式获取,既耗时耗力,数据 ...

  9. 《用Python进行自然语言处理》第 11 章 语言数据管理

    1. 我们如何设计一种新的语言资源,并确保它的覆盖面.平衡以及支持广泛用途的文 档? 2. 现有数据对某些分析工具格式不兼容,我们如何才能将其转换成合适的格式? 3. 有什么好的方法来记录我们已经创建 ...

最新文章

  1. Android自动化测试框架
  2. [Android]ViewSwitcher使用范例
  3. laravel商品图片怎么展示_如何使用Laravel图片处理包intervention-image
  4. SQL Server大数据表的分区存储
  5. Java设计模式(九)责任链模式 命令模式
  6. SpringBoot实战教程(8)| 整合mybatis-plus
  7. adb 静默安装_android 非root实现静默安装
  8. 来客电商之微信小程序怎么取名字
  9. [敏捷开发培训] 燃尽图(Burndown Chart)
  10. 房租分期业务系统-抓住新的市场机遇
  11. JAVA NIO实现客户端与服务端通信
  12. 黄仁勋:GPU,打折!
  13. 学术——获取参考文献格式
  14. 完全开源!华为方舟编译器正式支持C语言了,并开放鸿蒙教程!
  15. Materials and Manufacturing Processes期刊投稿经验分享
  16. 华硕固件安装扩展插件_华硕RT-AC86U官改固件-支持AiMesh+软件中心+ROG 3.0.0.4.384.20648...
  17. 『2021语言与智能技术竞赛』-多技能对话任务基线系统 Fork 325 喜欢 7
  18. Focusky教程 | 为什么导入PPT后有的图片没有显示?
  19. 开发 | 四大微信小程序开发工具测评
  20. Sans Serif Serif Monospace

热门文章

  1. 【Ubuntu安装QQ】
  2. 天下无贼-那一滴金砂的缘起缘落
  3. 你买的健康零食,可能是你即将踏上的健康弯路
  4. [简单教程]java下扫号器的制作
  5. 比尔盖茨十条职场箴言:世界不在意你的自尊
  6. 【内网穿刺】内网穿刺使用体验
  7. 第一、二、三类贝塞尔函数(Python)
  8. 假想GOOGLE开放了源码后
  9. 别贪多 20230308
  10. Windows更新或应用安装中报错“0x80070643”的解决办法