@SuHongjun
2020-06-11T02:10:38.000000Z
字数 3108
阅读 284
C语言 2020春季学期
.c文件可以参考这里,但是数据文件同学们自己想办法去弄啊 !
按照课堂上讲的方法,各个小组八仙过海、各显神通,加油,我看好你们 :)
#include "stdio.h"#include "string.h"#define BOOKS_FILE "E:\\Try\\C\\017\\ZongHeZuoYe\\books.dat"#define MEMBERS_FILE "E:\\Try\\C\\017\\ZongHeZuoYe\\members.dat"#define JZ_LIST_FILE "E:\\Try\\C\\017\\ZongHeZuoYe\\jz_list.dat"#define JY_LIST_FILE "E:\\Try\\C\\017\\ZongHeZuoYe\\jy_list.dat"struct DATE{int year;int month;int day;};struct BOOK{char sh[30];char bookName[200];char author[200];struct DATE publishDate; //结构体嵌套float price;char hyh[30];int status; //0:在馆、1:借出、-1:报废};struct MEMBER{char hyh[30];char hyName[200];char cell[15];char email[100];char QQ[30];char wx[100];int kjsl;//捐赠列表(动态查询),???//当前借阅列表(动态查询) ????};struct JUAN_ZEN_INFO{char hyh[30];char sh[30];struct DATE jzDate;};struct JIE_YUE_INFO{char hyh[30];char sh[30];struct DATE jcDate;struct DATE yhDate;struct DATE hsDate;};void InputMember();void SaveAll();void LoadAll();void DisplayMembers();//.........???????struct BOOK g_books[10000];struct MEMBER g_members[5000];int g_members_count;struct JUAN_ZEN_INFO g_jz_list[30000];struct JIE_YUE_INFO g_jy_list[1000000];//.........???????main(){//.........???????LoadAll();DisplayMembers();InputMember();SaveAll();}void DisplayMembers(){int i;char jx = 'Y', buf[10];printf("会员信息:\n");printf("会员号\t姓名\t手机\temail\tQQ\t微信\t可借数量\n");printf("-----------------------------------------------------\n");for(i=0; i<5000;i++){if(strcmp(g_members[i].hyh, "")!=0){ printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\n",g_members[i].hyh,g_members[i].hyName,g_members[i].cell,g_members[i].email,g_members[i].QQ,g_members[i].wx,g_members[i].kjsl);g_members_count = i+1;}elsebreak;}printf("-----------------------------------------------------\n");}void LoadAll(){FILE *fp;fp = fopen(BOOKS_FILE,"rb");if(fp !=NULL){fread(g_books,sizeof(struct BOOK),10000,fp);fclose(fp);}fp = fopen(MEMBERS_FILE,"rb");if(fp !=NULL){//fread(&g_members_count,sizeof(g_members_count),1,fp);fread(g_members,sizeof(struct MEMBER),5000,fp);fclose(fp);}fp = fopen(JZ_LIST_FILE,"rb");if(fp !=NULL){fread(g_jz_list,sizeof(struct JUAN_ZEN_INFO),30000,fp);fclose(fp);}fp = fopen(JY_LIST_FILE,"rb");if(fp !=NULL){fread(g_jy_list,sizeof(struct JIE_YUE_INFO),1000000,fp);fclose(fp);}}void SaveAll(){FILE *fp;fp = fopen(BOOKS_FILE,"wb");if(fp !=NULL){fwrite(g_books,sizeof(struct BOOK),10000,fp);fclose(fp);}fp = fopen(MEMBERS_FILE,"wb");if(fp !=NULL){fwrite(&g_members_count,sizeof(g_members_count),1,fp);fwrite(g_members,sizeof(struct MEMBER),5000,fp);fclose(fp);}fp = fopen(JZ_LIST_FILE,"wb");if(fp !=NULL){fwrite(g_jz_list,sizeof(struct JUAN_ZEN_INFO),30000,fp);fclose(fp);}fp = fopen(JY_LIST_FILE,"wb");if(fp !=NULL){fwrite(g_jy_list,sizeof(struct JIE_YUE_INFO),1000000,fp);fclose(fp);}}void InputMember(){int i;char jx = 'Y', buf[10];printf("请录入会员信息:\n");for(i=g_members_count; i<5000;i++){printf("会员号:");gets(g_members[i].hyh);printf("姓名:");gets(g_members[i].hyName);printf("手机:");gets(g_members[i].cell);printf("email:");gets(g_members[i].email);printf("QQ:");gets(g_members[i].QQ);printf("微信:");gets(g_members[i].wx);g_members[i].kjsl = -1;printf("是否继续录入?(y/n):");jx = getchar();if(jx != 'y' && jx != 'Y'){g_members_count = i+1; //???????break;}gets(buf);}}//.........???????