[关闭]
@SuHongjun 2020-05-28T03:37:39.000000Z 字数 3247 阅读 339

C语言-Day 23 - 标识符命名规范、综合作业StartKit(3)

C语言 2020春季学期


C语言标识符命名规范:

1.标识符由字母、下划线和数字组成,但第一个不能是数字
2.不能包含空格、@、$、%等特殊字符
3.不能与关键字、保留字相同
4.严格区分大小写
5.以下划线开头的标识符一般而言具有特殊意义:
6.其他规范(非强制性,提倡):

  1. 1)函数名:大驼峰命名法,每个单词首字母大写,例如:
  2. int MyFunc(int x)
  3. void Input(int n)
  4. 2)局部变量:全部小写,可用下划线分隔,例如:
  5. int num = 7;
  6. char file_name[] = 'Hello.txt';
  7. 3)全局变量:采用gl_g_加变量名,例如:gl_selected, gl_item_id
  8. 4)常量名(宏)、类型名:全部大写,可用下划线分隔,例如:MAX_COUNTFIRST_NAME
  9. 5)结构体成员:小驼峰命名法,例如:bookName

综合作业StartKit(3)


  1. /*
  2. ###系统分析:
  3. - 书的信息:
  4. 书号、书名、作者、出版日期、价格、捐赠人<会员号>、状态(借出、在馆、报废)
  5. - 会员信息:
  6. 会员号、姓名、手机、email、QQ、微信, 可借数量(动态计算), 捐赠列表(动态查询),当前借阅列表(动态查询), 借阅历史(可选)
  7. - 捐赠信息(总捐赠列表):
  8. 会员号 -- 书号,捐赠日期
  9. - 借阅信息(总借阅列表):
  10. 会员号 -- 书号,借出日期,应还日期(假定可借60天,计算得到),还书日期
  11. 上述信息的录入、保存、读取、查询显示、修改
  12. */
  13. #include "stdio.h"
  14. #include "string.h"
  15. struct DATE
  16. {
  17. int year;
  18. int month;
  19. int day;
  20. };
  21. struct BOOK
  22. {
  23. char sh[30];
  24. char bookName[200];
  25. char author[200];
  26. struct DATE publishDate; //结构体嵌套
  27. float price;
  28. char hyh[30];
  29. int status; //0:在馆、1:借出、-1:报废
  30. };
  31. struct MEMBER
  32. {
  33. char hyh[30];
  34. char hyName[200];
  35. char cell[15];
  36. char email[100];
  37. char QQ[30];
  38. char wx[100];
  39. int kjsl;
  40. //捐赠列表(动态查询),???
  41. //当前借阅列表(动态查询) ????
  42. };
  43. struct JUAN_ZEN_INFO
  44. {
  45. char hyh[30];
  46. char sh[30];
  47. struct DATE jzDate;
  48. };
  49. struct JIE_YUE_INFO
  50. {
  51. char hyh[30];
  52. char sh[30];
  53. struct DATE jcDate;
  54. struct DATE yhDate;
  55. struct DATE hsDate;
  56. };
  57. void InputMember();
  58. void SaveAll();
  59. void LoadAll();
  60. void DisplayMembers();
  61. //.........???????
  62. struct BOOK g_books[10000];
  63. struct MEMBER g_members[5000];
  64. struct JUAN_ZEN_INFO g_jz_list[30000];
  65. struct JIE_YUE_INFO g_jy_list[1000000];
  66. //.........???????
  67. main()
  68. {
  69. //.........???????
  70. LoadAll();
  71. DisplayMembers();
  72. InputMember();
  73. SaveAll();
  74. }
  75. void DisplayMembers()
  76. {
  77. int i;
  78. char jx = 'Y', buf[10];
  79. printf("会员信息:\n");
  80. printf("会员号\t姓名\t手机\temail\tQQ\t微信\t可借数量\n");
  81. printf("-----------------------------------------------------");
  82. for(i=0; i<5000;i++)
  83. {
  84. if(strcmp(g_members[i].hyh, "")!=0)
  85. printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\n",
  86. g_members[i].hyh,
  87. g_members[i].hyName,
  88. g_members[i].cell,
  89. g_members[i].email,
  90. g_members[i].QQ,
  91. g_members[i].wx,
  92. g_members[i].kjsl
  93. );
  94. else
  95. break;
  96. }
  97. printf("-----------------------------------------------------");
  98. }
  99. void LoadAll()
  100. {
  101. FILE *fp;
  102. fp = fopen("I:\\books.dat","rb");
  103. if(fp !=NULL)
  104. {
  105. fread(g_books,sizeof(struct BOOK),10000,fp);
  106. fclose(fp);
  107. }
  108. fp = fopen("I:\\members.dat","wb");
  109. if(fp !=NULL)
  110. {
  111. fread(g_members,sizeof(struct MEMBER),5000,fp);
  112. fclose(fp);
  113. }
  114. fp = fopen("I:\\jz_list.dat","wb");
  115. if(fp !=NULL)
  116. {
  117. fread(g_jz_list,sizeof(struct JUAN_ZEN_INFO),30000,fp);
  118. fclose(fp);
  119. }
  120. fp = fopen("I:\\jy_list.dat","wb");
  121. if(fp !=NULL)
  122. {
  123. fread(g_jy_list,sizeof(struct JIE_YUE_INFO),1000000,fp);
  124. fclose(fp);
  125. }
  126. }
  127. void SaveAll()
  128. {
  129. FILE *fp;
  130. fp = fopen("I:\\books.dat","wb");
  131. if(fp !=NULL)
  132. {
  133. fwrite(g_books,sizeof(struct BOOK),10000,fp);
  134. fclose(fp);
  135. }
  136. fp = fopen("I:\\members.dat","wb");
  137. if(fp !=NULL)
  138. {
  139. fwrite(g_members,sizeof(struct MEMBER),5000,fp);
  140. fclose(fp);
  141. }
  142. fp = fopen("I:\\jz_list.dat","wb");
  143. if(fp !=NULL)
  144. {
  145. fwrite(g_jz_list,sizeof(struct JUAN_ZEN_INFO),30000,fp);
  146. fclose(fp);
  147. }
  148. fp = fopen("I:\\jy_list.dat","wb");
  149. if(fp !=NULL)
  150. {
  151. fwrite(g_jy_list,sizeof(struct JIE_YUE_INFO),1000000,fp);
  152. fclose(fp);
  153. }
  154. }
  155. void InputMember()
  156. {
  157. int i;
  158. char jx = 'Y', buf[10];
  159. printf("请录入会员信息:\n");
  160. for(i=0; i<5000;i++)
  161. {
  162. printf("会员号:");
  163. gets(g_members[i].hyh);
  164. printf("姓名:");
  165. gets(g_members[i].hyName);
  166. printf("手机:");
  167. gets(g_members[i].cell);
  168. printf("email:");
  169. gets(g_members[i].email);
  170. printf("QQ:");
  171. gets(g_members[i].QQ);
  172. printf("微信:");
  173. gets(g_members[i].wx);
  174. g_members[i].kjsl = -1;
  175. printf("是否继续录入?(y/n):");
  176. jx = getchar();
  177. if(jx != 'y' && jx != 'Y')
  178. break;
  179. gets(buf);
  180. }
  181. }
  182. //.........???????
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注