尊宝国际娱乐APP下载

设为首页收藏本站

编程十万个为什么,属于程序员的编程论坛

 找回密码
 5秒快速注册
QQ登录 只需一步,快速开始
搜索
查看: 3442|回复: 18
打印 上一主题 下一主题

[编程咨询] 求高手用visual studio 编写以下两程序哈,紧急

[复制链接]
跳转到指定楼层
传说中的楼主
发表于 2011-7-6 17:06:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
15BC币
1.活动储蓄账目管理(任务:为银行设计一个活期账目管理系统。活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:能迅速地找到储户的账户,以实现存款、取款记账;能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。)
2. 图书借阅管理系统(主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息))

最佳答案

查看完整内容
貌似阿紫姐姐写过一个 我发给你
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 !wechat_share!!wechat_share!
收藏收藏 转播转播 分享分享 分享淘帖 顶一个顶一个 踩一下踩一下

BcWhy版权声明1、本帖可以任何形式转载到任何媒体,但必须带上本贴的URL连接,否则即视为同意支付 1000 元报酬
2、本主题所有言论和图片纯属比卡丘个人意见,与本论坛立场无关
3、本主题由该帖子作者比卡丘发表,该帖子作者比卡丘与本站享有帖子相关版权
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、本站管理员和版主有权不事先通知发贴者而删除本文

令人羡慕的沙发
发表于 2011-7-6 17:06:24 | 只看该作者
貌似阿紫姐姐写过一个
我发给你
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <time.h>
  5. #include <string.h>

  6. #define N 20
  7. #define M 40

  8. /*图书的存储结构模型*/
  9. typedef struct book{
  10. long int call_number;//索书号
  11. char book_name[N];//书名
  12. char writer[N];//著作者
  13. char press[M];//出版社
  14. char print_time[M];//出版时间
  15. char book_information[150];//存储书籍的描述信息
  16. char borrow_time[M];//借书日期
  17. char back_time[M];//归还期限
  18. int now_storage;//现存量
  19. int total_storage;//库存量
  20. struct book *next;
  21. }bLNode,*bLinkList;

  22. /*客户的存储结构模型*/
  23. typedef struct user{
  24. long int userID;//借阅证号
  25. char user_password[N];//用户密码
  26. char user_name[N];//用户名字
  27. char user_message[150];//用户信息
  28. bLNode borrow;
  29. struct user *next;
  30. }uLNode,*uLinkList;

  31. void menu();//主菜单
  32. void admin_login();//管理员登录
  33. void user_login();//用户登录
  34. void user_regsiter();//用户注册
  35. void error();//错误处理
  36. char *in_password();//密码处理
  37. void input();//按任意键继续...
  38. uLinkList user_load();//导入用户信息
  39. void user_save(uLinkList);//保存用户信息
  40. void admin_menu();//管理员菜单
  41. void insert_book();//采编入库
  42. void admin_book();//图书管理
  43. void admin_user();//用户管理
  44. bLinkList book_load();//导入图书信息
  45. void book_save(bLinkList);//保存图书信息
  46. void delete_user();//删除用户
  47. void delete_book();//销毁图书
  48. void admin_seebook();//管理员图书浏览
  49. void see_allbook();//浏览所有图书
  50. void see_booknum();//按索书号查找图书
  51. void see_bookname();//按书名查找图书
  52. void see_bookwriter();//按著作者查找图书
  53. void user_seebook();//用户图书浏览
  54. void see_borrowbook();//查看已借书本
  55. void borrow_book();//借阅
  56. void back_book();//归还
  57. void see_user();//查看已借书的用户信息
  58. void see_alluser();//查看所有借书用户的信息
  59. void see_oneuser();//查看指定用户信息

  60. int main()
  61. {
  62. while(1)
  63. {
  64. system("color f0");
  65. menu();
  66. }
  67. return 0;
  68. }

  69. void menu() //主菜单
  70. {
  71. int a;
  72. char c[N];
  73. printf("\n\n");
  74. printf(" |*****************欢迎进入图书管理系统*****************|\n");
  75. printf(" | |\n");
  76. printf(" | |\n");
  77. printf(" | 1 管理员登陆 |\n");
  78. printf(" | |\n");
  79. printf(" | 2 用户登陆 |\n");
  80. printf(" | |\n");
  81. printf(" | 3 用户注册 |\n");
  82. printf(" | |\n");
  83. printf(" | 0 退出系统 |\n");
  84. printf(" | |\n");
  85. printf(" |******************************************************|\n");
  86. printf("\n");
  87. printf(" 请输入你所选择的选项:");
  88. scanf("%s",c);
  89. a=atoi(c);
  90. switch(a)
  91. {
  92. case 1: admin_login(); break;
  93. case 2: user_login(); break;
  94. case 3: user_regsiter(); break;
  95. case 0: exit(0); break;
  96. default: error();
  97. }
  98. }

  99. void admin_menu() //管理员菜单
  100. {
  101. int a;
  102. char c[20];
  103. while(1)
  104. {
  105. printf("\n\n");
  106. printf(" |********************管理员菜单*********************|\n");
  107. printf(" | |\n");
  108. printf(" | |\n");
  109. printf(" | 1 采编入库 |\n");
  110. printf(" | |\n");
  111. printf(" | 2 图书管理 |\n");
  112. printf(" | |\n");
  113. printf(" | 3 用户管理 |\n");
  114. printf(" | |\n");
  115. printf(" | 0 退出登陆 |\n");
  116. printf(" | |\n");
  117. printf(" |***************************************************|\n");
  118. printf("\n");
  119. printf(" 请输入你所选择的选项:");
  120. scanf("%s",c);
  121. a=atoi(c);
  122. switch(a)
  123. {
  124. case 1: insert_book(); break;
  125. case 2: admin_book(); break;
  126. case 3: admin_user(); break;
  127. case 0: menu(); break;
  128. default: error();
  129. }
  130. }
  131. }

  132. void user_menu() //用户菜单
  133. {
  134. int a;
  135. char c[20];
  136. while(1)
  137. {
  138. printf("\n\n");
  139. printf(" |********************用户菜单******************|\n");
  140. printf(" | |\n");
  141. printf(" | |\n");
  142. printf(" | 1 图书浏览 |\n");
  143. printf(" | |\n");
  144. printf(" | 2 借阅 |\n");
  145. printf(" | |\n");
  146. printf(" | 3 归还 |\n");
  147. printf(" | |\n");
  148. printf(" | 4 查看已借书本 |\n");
  149. printf(" | |\n");
  150. printf(" | 0 退出登陆 |\n");
  151. printf(" | |\n");
  152. printf(" |**********************************************|\n");
  153. printf("\n");
  154. printf(" 请输入你所选择的选项:");
  155. scanf("%s",c);
  156. a=atoi(c);
  157. switch(a)
  158. {
  159. case 1: user_seebook(); break;
  160. case 2: borrow_book(); break;
  161. case 3: back_book(); break;
  162. case 4: see_borrowbook(); break;
  163. case 0: menu(); break;
  164. default: error();
  165. }
  166. }
  167. }

  168. void user_seebook()//用户图书浏览
  169. {
  170. int a;
  171. char c[N];
  172. while(1)
  173. {
  174. printf("\n 1 浏览所有图书\n");
  175. printf("\n 2 按书名查找图书\n");
  176. printf("\n 3 按索书号查找图书\n");
  177. printf("\n 4 按著作者查找图书\n");
  178. printf("\n 0 返回用户菜单\n");
  179. printf("\n 请输入你的选项:");
  180. scanf("%s",c);
  181. a=atoi(c);
  182. switch(a)
  183. {
  184. case 1: see_allbook(); break;
  185. case 2: see_bookname(); break;
  186. case 3: see_booknum(); break;
  187. case 4: see_bookwriter(); break;
  188. case 0: user_menu();
  189. default: error();
  190. }
  191. }
  192. }

  193. void see_borrowbook() //查看已借书本
  194. {
  195. int ID,flag=0;
  196. uLinkList head=NULL,p;
  197. head=user_load();
  198. p=head;
  199. printf("请输入你的借阅证号:");
  200. scanf("%d",&ID);
  201. while(p!=NULL)
  202. {
  203. if(p->userID==ID)
  204. {
  205. flag=1;
  206. break;
  207. }
  208. else
  209. p=p->next;
  210. }
  211. if(flag==0)
  212. {
  213. printf("你的输入有错!");
  214. }
  215. else
  216. {
  217. if(p->borrow.now_storage==0)
  218. printf("\n你没有借书!");
  219. else
  220. {
  221. printf("\n查看成功!\n");
  222. printf("\n索书号:%ld",p->borrow.call_number);
  223. printf("\n书名:%s",p->borrow.book_name);
  224. printf("\n著作者:%s",p->borrow.writer);
  225. printf("\n出版社:%s",p->borrow.press);
  226. printf("\n出版时间:%s",p->borrow.print_time);
  227. printf("\n书的描述信息:%s",p->borrow.book_information);
  228. printf("\n借书时间:%s",p->borrow.borrow_time);
  229. printf("\n归还期限:%s",p->borrow.back_time);
  230. }
  231. }
  232. input();
  233. user_menu();
  234. }

  235. void borrow_book()//借阅
  236. {
  237. int ID,flag=0,f=0;
  238. char username[N],str[N];
  239. long int call;
  240. time_t t1,t2;
  241. t1=time(NULL);
  242. t2=time(NULL)+7776000;
  243. uLinkList uhead=NULL,up;
  244. bLinkList bhead=NULL,bp;
  245. uhead=user_load();
  246. bhead=book_load();
  247. up=uhead;
  248. bp=bhead;
  249. printf("\n请输入你的用户名和借阅证号:");
  250. scanf("%s%d",username,&ID);
  251. while(up!=NULL)
  252. {
  253. if((strcmp(up->user_name,username)==0)&&(up->userID==ID))
  254. {
  255. flag=1;
  256. break;
  257. }
  258. else
  259. up=up->next;
  260. }
  261. if(flag==0)
  262. {
  263. printf("你的输入有错!");
  264. input();
  265. user_menu();
  266. }
  267. else
  268. {
  269. if(up->borrow.now_storage==1)
  270. printf("你已经借书,请先归还了再借!");
  271. else
  272. {
  273. printf("请输入要借阅的书本索书号:");
  274. scanf("%d",&call);
  275. while(bp!=NULL)
  276. {
  277. if(bp->call_number==call)
  278. {
  279. f=1;
  280. break;
  281. }
  282. else
  283. bp=bp->next;
  284. }
  285. if(f==0)
  286. {
  287. printf("图书馆没有这本书!");
  288. }
  289. else
  290. {
  291. if(bp->now_storage<1)
  292. printf("\n这本书已经借光了!");
  293. else
  294. {
  295. printf("\n书名:%s",bp->book_name);
  296. printf("\n著作者:%s",bp->writer);
  297. printf("\n出版社:%s",bp->press);
  298. printf("\n出版时间:%s",bp->print_time);
  299. printf("\n书的描述信息:%s",bp->book_information);
  300. printf("\n现存量:%d",bp->now_storage);
  301. printf("\n库存量:%d",bp->total_storage);
  302. printf("\n你是否借阅本书?(Y/N)");
  303. scanf("%s",str);
  304. if((strcmp(str,"y")==0)||(strcmp(str,"Y")==0))
  305. {
  306. bp->now_storage--;
  307. up->borrow.call_number=call;
  308. strcpy(up->borrow.book_name,bp->book_name);
  309. strcpy(up->borrow.writer,bp->writer);
  310. strcpy(up->borrow.press,bp->press);
  311. strcpy(up->borrow.print_time,bp->print_time);
  312. strcpy(up->borrow.book_information,bp->book_information);
  313. up->borrow.now_storage=1;
  314. strcpy(up->borrow.borrow_time,ctime(&t1));
  315. strcpy(up->borrow.back_time,ctime(&t2));
  316. printf("借阅成功!");
  317. user_save(uhead);
  318. book_save(bhead);
  319. }
  320. else
  321. {
  322. printf("你没有借书..");
  323. }
  324. }
  325. }
  326. }
  327. input();
  328. user_menu();
  329. }
  330. }

  331. void back_book()//归还
  332. {
  333. int ID,flag=0;
  334. uLinkList uhead=NULL,up;
  335. uhead=user_load();
  336. bLinkList bhead=NULL,bp;
  337. bhead=book_load();
  338. up=uhead;
  339. bp=bhead;
  340. if(bhead==NULL)
  341. {
  342. printf("\n你没有借书!");
  343. }
  344. else
  345. {
  346. printf("请输入你的借阅证号:");
  347. scanf("%d",&ID);
  348. while(up!=NULL)
  349. {
  350. if(up->userID==ID)
  351. {
  352. flag=1;
  353. break;
  354. }
  355. else
  356. up=up->next;
  357. }
  358. if(flag==0)
  359. {
  360. printf("你的输入有错!");
  361. }
  362. else
  363. {
  364. if(up->borrow.now_storage==0)
  365. printf("\n你没有借书!");
  366. else
  367. {
  368. up->borrow.now_storage=0;
  369. while(bp->next!=NULL&&bp->call_number!=up->borrow.call_number)
  370. {
  371. bp=bp->next;
  372. }
  373. bp->now_storage++;
  374. printf("\n归还成功!");
  375. }
  376. }
  377. }
  378. input();
  379. user_save(uhead);
  380. book_save(bhead);
  381. user_menu();
  382. }

  383. void admin_login()//管理员登录
  384. {

  385. char yc_admin[N] = "zm";
  386. char yc_password[N] = "beyond";
  387. char admin[N],*password;
  388. printf("请输入登录账号:");
  389. scanf("%s",admin);
  390. printf("请输入登录密码:");
  391. password = in_password();
  392. if(strcmp(yc_admin,admin)==0&&strcmp(yc_password,password)==0)
  393. {
  394. printf("\n登录成功!");
  395. admin_menu();
  396. }
  397. else
  398. {
  399. printf("\n\n验证错误,请重新登录\n");
  400. input();
  401. menu();
  402. }
  403. }

  404. void user_login()//用户登录
  405. {
  406. int flag=0;
  407. char username[N],*password;
  408. uLinkList head=NULL,p;
  409. head=user_load();
  410. p=head;
  411. printf("请输入用户名:");
  412. scanf("%s",username);
  413. while(p!=NULL)
  414. {
  415. if(strcmp(p->user_name,username)==0)
  416. {
  417. flag=1;
  418. break;
  419. }
  420. else
  421. p=p->next;
  422. }
  423. if(flag==0)
  424. {
  425. printf("用户名不存在!");
  426. input();
  427. menu();
  428. }
  429. else
  430. {
  431. printf("请输入密码:");
  432. password=in_password();
  433. if(strcmp(p->user_password,password)==0)
  434. {
  435. printf("\n登录成功!");
  436. user_menu();
  437. }
  438. else
  439. {
  440. printf("\n密码验证错误!");
  441. input();
  442. menu();
  443. }
  444. }
  445. }

  446. void user_regsiter()//用户注册
  447. {
  448. char *p1,*p2,username[N];
  449. int flag=0;
  450. uLinkList head=NULL,p=NULL,pu;
  451. head=user_load();
  452. pu=head;
  453. srand((unsigned)time(NULL));
  454. p=(uLinkList)malloc(sizeof(uLNode));
  455. if(!p)
  456. {
  457. printf("\n内存分配失败!");
  458. }
  459. printf("\n请输入注册的用户名:");
  460. scanf("%s",username);
  461. while(pu!=NULL)
  462. {
  463. if(strcmp(pu->user_name,username)==0)
  464. {
  465. flag=1;
  466. break;
  467. }
  468. else
  469. pu=pu->next;
  470. }
  471. if(flag==1)
  472. {
  473. printf("\n用户已存在,请重新操作!");
  474. input();
  475. menu();
  476. }
  477. else
  478. {
  479. printf("\n请设置登录密码:");
  480. p1=in_password();
  481. printf("\n请再次输入密码:");
  482. p2=in_password();
  483. if(strcmp(p1,p2)!=0)
  484. {
  485. printf("\n你俩次输入的密码不一致,注册失败!");
  486. input();
  487. }
  488. else
  489. {
  490. strcpy(p->user_password,p1);
  491. printf("\n请输入你的个人描述:");
  492. scanf("%s",p->user_message);
  493. printf("\n恭喜你注册成功!");
  494. p->userID=(rand()%9000+1000);
  495. printf("\n系统随机为你分配的借阅证号为:%d",p->userID);
  496. printf("\n请你谨记此借阅证号,它将成为你借书的必要证明!");
  497. strcpy(p->user_name,username);
  498. input();
  499. if(head==NULL)
  500. {
  501. head=p;
  502. head->next=NULL;
  503. }
  504. else
  505. {
  506. p->next=head->next;
  507. head->next=p;
  508. }
  509. user_save(head);
  510. }
  511. menu();
  512. }
  513. }


  514. void insert_book()//采编入库
  515. {
  516. int flag=0;
  517. long int num;
  518. bLinkList head=NULL,p=NULL,pu;
  519. head=book_load();
  520. pu=head;
  521. p=(bLinkList)malloc(sizeof(bLNode));
  522. printf("\n请输入索书号:");
  523. scanf("%ld",&num);
  524. while(pu!=NULL)
  525. {
  526. if(pu->call_number==num)
  527. {
  528. flag=1;
  529. break;
  530. }
  531. else
  532. pu=pu->next;
  533. }
  534. if(flag==1)
  535. {
  536. printf("\n此书已存在,请重新操作!");
  537. input();
  538. }
  539. else
  540. {
  541. p->call_number=num;
  542. printf("\n请输入书名:");
  543. scanf("%s",p->book_name);
  544. printf("\n请输入著作者:");
  545. scanf("%s",p->writer);
  546. printf("\n请输入出版社:");
  547. scanf("%s",p->press);
  548. printf("\n请输入出版时间:");
  549. scanf("%s",p->print_time);
  550. printf("\n请输入书本的详细信息:");
  551. scanf("%s",p->book_information);
  552. printf("\n请输入采编的书本数量:");
  553. scanf("%d",&p->total_storage);
  554. p->now_storage=p->total_storage;
  555. printf("\n采编入库成功!");
  556. if(head==NULL)
  557. {
  558. head=p;
  559. head->next=NULL;
  560. }
  561. else
  562. {
  563. p->next=head->next;
  564. head->next=p;
  565. }
  566. input();
  567. book_save(head);
  568. }
  569. admin_menu();
  570. }

  571. void admin_book()//图书管理
  572. {
  573. int a;
  574. char c[N];
  575. while(1)
  576. {
  577. printf("\n 1 图书浏览\n");
  578. printf("\n 2 图书销毁\n");
  579. printf("\n 0 返回管理员菜单\n");
  580. printf("\n 请输入你的选项:");
  581. scanf("%s",c);
  582. a=atoi(c);
  583. switch(a)
  584. {
  585. case 1: admin_seebook(); break;
  586. case 2: delete_book(); break;
  587. case 0: admin_menu();
  588. default: error();
  589. }
  590. }
  591. }

  592. void admin_seebook()//管理员图书浏览
  593. {
  594. int a;
  595. char c[N];
  596. while(1)
  597. {
  598. printf("\n 1 浏览所有图书\n");
  599. printf("\n 2 按书名查找图书\n");
  600. printf("\n 3 按索书号查找图书\n");
  601. printf("\n 4 按著作者查找图书\n");
  602. printf("\n 0 返回管理员菜单\n");
  603. printf("\n 请输入你的选项:");
  604. scanf("%s",c);
  605. a=atoi(c);
  606. switch(a)
  607. {
  608. case 1: see_allbook(); break;
  609. case 2: see_bookname(); break;
  610. case 3: see_booknum(); break;
  611. case 4: see_bookwriter(); break;
  612. case 0: admin_menu();
  613. default: error();
  614. }
  615. }
  616. }

  617. void see_bookname()//按书名查找图书
  618. {
  619. char name[N];
  620. bLinkList head=NULL,p,q;
  621. head=book_load();
  622. p=head;
  623. if(p==NULL)
  624. {
  625. printf("图书馆一本书也米有...");
  626. input();
  627. }
  628. else
  629. {
  630. printf("请输入书名:");
  631. scanf("%s",name);
  632. while((p->next!=NULL)&&strcmp(p->book_name,name)!=0)
  633. {
  634. q=p;
  635. p=p->next;
  636. }
  637. if(strcmp(p->book_name,name)==0)
  638. {
  639. printf("\n查找成功!\n");
  640. printf("\n\n索书号:%ld",p->call_number);
  641. printf("\n书名:%s",p->book_name);
  642. printf("\n著作者:%s",p->writer);
  643. printf("\n出版社:%s",p->press);
  644. printf("\n出版时间:%s",p->print_time);
  645. printf("\n书的描述信息:%s",p->book_information);
  646. printf("\n现存量:%d",p->now_storage);
  647. printf("\n库存量:%d",p->total_storage);
  648. }
  649. else
  650. {
  651. printf("\n图书馆里没有这本书!");

  652. }
  653. input();
  654. }
  655. }


  656. void see_booknum()//按索书号查找图书
  657. {
  658. long int call;
  659. bLinkList head=NULL,p,q;
  660. head=book_load();
  661. p=head;
  662. if(p==NULL)
  663. {
  664. printf("图书馆一本书也米有...");
  665. input();
  666. }
  667. else
  668. {
  669. printf("请输入索书号:");
  670. scanf("%ld",&call);
  671. while((p->next!=NULL)&&(p->call_number!=call))
  672. {
  673. q=p;
  674. p=p->next;
  675. }
  676. if(p->call_number==call)
  677. {
  678. printf("\n查找成功!\n");
  679. printf("\n\n索书号:%ld",p->call_number);
  680. printf("\n书名:%s",p->book_name);
  681. printf("\n著作者:%s",p->writer);
  682. printf("\n出版社:%s",p->press);
  683. printf("\n出版时间:%s",p->print_time);
  684. printf("\n书的描述信息:%s",p->book_information);
  685. printf("\n现存量:%d",p->now_storage);
  686. printf("\n库存量:%d",p->total_storage);
  687. }
  688. else
  689. {
  690. printf("\n图书馆里没有这本书!");

  691. }
  692. input();
  693. }
  694. }

  695. void see_bookwriter()//按著作者查找图书
  696. {
  697. char writer[N];
  698. bLinkList head=NULL,p,q;
  699. head=book_load();
  700. p=head;
  701. if(p==NULL)
  702. {
  703. printf("图书馆一本书也米有...");
  704. input();
  705. }
  706. else
  707. {
  708. printf("请输入著作者:");
  709. scanf("%s",writer);
  710. while((p->next!=NULL)&&strcmp(p->writer,writer)!=0)
  711. {
  712. q=p;
  713. p=p->next;
  714. }
  715. if(strcmp(p->writer,writer)==0)
  716. {
  717. printf("\n查找成功!\n");
  718. printf("\n\n索书号:%ld",p->call_number);
  719. printf("\n书名:%s",p->book_name);
  720. printf("\n著作者:%s",p->writer);
  721. printf("\n出版社:%s",p->press);
  722. printf("\n出版时间:%s",p->print_time);
  723. printf("\n书的描述信息:%s",p->book_information);
  724. printf("\n现存量:%d",p->now_storage);
  725. printf("\n库存量:%d",p->total_storage);
  726. }
  727. else
  728. {
  729. printf("\n图书馆里没有这本书!");

  730. }
  731. input();
  732. }
  733. }


  734. void see_allbook()//浏览所有图书
  735. {
  736. bLinkList head=NULL,temp;
  737. head=book_load();
  738. temp=head;
  739. if(temp==NULL)
  740. printf("图书馆一本书也米有...");
  741. else
  742. {
  743. while(temp!=NULL)
  744. {
  745. printf("\n\n索书号:%ld",temp->call_number);
  746. printf("\n书名:%s",temp->book_name);
  747. printf("\n著作者:%s",temp->writer);
  748. printf("\n出版社:%s",temp->press);
  749. printf("\n出版时间:%s",temp->print_time);
  750. printf("\n书的描述信息:%s",temp->book_information);
  751. printf("\n现存量:%d",temp->now_storage);
  752. printf("\n库存量:%d",temp->total_storage);
  753. temp=temp->next;
  754. }
  755. }
  756. input();
  757. }

  758. void delete_book()//销毁图书
  759. {
  760. long int call;
  761. bLinkList head=NULL,q,p;
  762. head=book_load();
  763. p=head;
  764. if(head==NULL)
  765. {
  766. printf("\n图书馆里没有图书!");
  767. input();
  768. }
  769. else
  770. {
  771. printf("\n请输入要删除的图书索书号:");
  772. scanf("%d",&call);
  773. while((p->next!=NULL)&&(p->call_number!=call))
  774. {
  775. q=p;
  776. p=p->next;
  777. }
  778. if(p->call_number==call)
  779. {
  780. if(p==head)
  781. {
  782. head=head->next;
  783. free(p);
  784. printf("\n删除成功!");
  785. input();
  786. book_save(head);
  787. admin_menu();
  788. }
  789. else
  790. {
  791. q->next=p->next;
  792. free(p);
  793. printf("\n删除成功!");
  794. input();
  795. book_save(head);
  796. admin_menu();
  797. }
  798. }
  799. else
  800. {
  801. printf("\n图书馆里没有这本书!");
  802. input();
  803. admin_menu();
  804. }
  805. }
  806. }
  807. void admin_user()//用户管理
  808. {
  809. int a;
  810. char s[N];
  811. while(1)
  812. {
  813. printf("\n 1 查看已借书的用户信息\n");
  814. printf("\n 2 删除用户\n");
  815. printf("\n 0 返回管理员菜单\n");
  816. printf("\n 请输入你的选项:");
  817. scanf("%s",s);
  818. a=atoi(s);
  819. switch(a)
  820. {
  821. case 1: see_user(); break;
  822. case 2: delete_user(); break;
  823. case 0: admin_menu(); break;
  824. default: error();
  825. }
  826. }
  827. }

  828. void see_user()//查看已借书的用户信息
  829. {
  830. int a;
  831. char s[N];
  832. while(1)
  833. {
  834. printf("\n 1 查看所有用户信息\n");
  835. printf("\n 2 查看指定用户信息\n");
  836. printf("\n 0 返回管理员菜单\n");
  837. printf("\n 请输入你的选项:");
  838. scanf("%s",s);
  839. a=atoi(s);
  840. switch(a)
  841. {
  842. case 1: see_alluser(); break;
  843. case 2: see_oneuser(); break;
  844. case 0: admin_menu(); break;
  845. default: error();
  846. }
  847. }

  848. }

  849. void see_oneuser()//查看指定用户信息
  850. {
  851. int ID;
  852. uLinkList head=NULL,p;
  853. head=user_load();
  854. p=head;
  855. if(head==NULL)
  856. printf("\n没有用户!");
  857. else
  858. {
  859. printf("请输入你想查看的用户借阅证号:");
  860. scanf("%d",&ID);
  861. while(p->next!=NULL&&p->userID!=ID)
  862. {
  863. p=p->next;
  864. }
  865. if(p->userID!=ID)
  866. printf("\n没有这样的借阅证号!");
  867. else
  868. {
  869. if(p->borrow.now_storage==1)
  870. {
  871. printf("\n查看成功!\n");
  872. printf("\n用户名字:%s",p->user_name);
  873. printf("\n用户信息:%s",p->user_message);
  874. printf("\n已借书本:\n");
  875. printf("\n索书号:%ld",p->borrow.call_number);
  876. printf("\n书名:%s",p->borrow.book_name);
  877. printf("\n著作者:%s",p->borrow.writer);
  878. printf("\n出版社:%s",p->borrow.press);
  879. printf("\n出版时间:%s",p->borrow.print_time);
  880. printf("\n书的描述信息:%s",p->borrow.book_information);
  881. printf("\n借书时间:%s",p->borrow.borrow_time);
  882. printf("\n归还期限:%s",p->borrow.back_time);
  883. }
  884. else
  885. printf("\n该用户没有借书!");
  886. }
  887. }
  888. input();
  889. }

  890. void see_alluser()//查看所有借书用户的信息
  891. {
  892. int flag=0;
  893. uLinkList head=NULL,p;
  894. head=user_load();
  895. p=head;
  896. if(head==NULL)
  897. printf("没有用户!");
  898. else
  899. {
  900. while(p!=NULL)

  901. {
  902. if(p->borrow.now_storage==1)
  903. {
  904. printf("\n查看成功!\n");
  905. printf("用户的借阅证号:%d",p->userID);
  906. printf("\n用户名字:%s",p->user_name);
  907. printf("\n用户信息:%s",p->user_message);
  908. printf("\n已借书本:\n");
  909. printf("\n索书号:%ld",p->borrow.call_number);
  910. printf("\n书名:%s",p->borrow.book_name);
  911. printf("\n著作者:%s",p->borrow.writer);
  912. printf("\n出版社:%s",p->borrow.press);
  913. printf("\n出版时间:%s",p->borrow.print_time);
  914. printf("\n书的描述信息:%s",p->borrow.book_information);
  915. printf("\n借书时间:%s",p->borrow.borrow_time);
  916. printf("\n归还期限:%s",p->borrow.back_time);
  917. flag=1;
  918. }
  919. p=p->next;
  920. }
  921. if(flag==0)
  922. printf("\n没有用户借书!");
  923. }
  924. input();

  925. }
  926. void delete_user()//删除用户
  927. {
  928. char name[N];
  929. uLinkList head=NULL,q,p;
  930. head=user_load();
  931. p=head;
  932. if(head==NULL)
  933. {
  934. printf("\n没有用户!!无法删除!");
  935. input();
  936. admin_menu();
  937. }
  938. else
  939. {
  940. printf("\n请输入要删除的用户名:");
  941. scanf("%s",name);
  942. while((p->next!=NULL)&&strcmp(p->user_name,name)!=0)
  943. {
  944. q=p;
  945. p=p->next;
  946. }
  947. if(strcmp(p->user_name,name)==0)
  948. {
  949. if(p==head)
  950. {
  951. head=head->next;
  952. free(p);
  953. printf("\n删除成功!");
  954. input();
  955. user_save(head);
  956. admin_menu();
  957. }
  958. else
  959. {
  960. q->next=p->next;
  961. free(p);
  962. printf("\n删除成功!");
  963. input();
  964. user_save(head);
  965. admin_menu();
  966. }
  967. }
  968. else
  969. {
  970. printf("\n不存在该用户!");
  971. input();
  972. admin_menu();
  973. }
  974. }
  975. }

  976. void user_save(uLinkList head)//保存用户信息
  977. {
  978. FILE *fp;
  979. uLinkList p;
  980. if((fp=fopen("user","wb"))==NULL)
  981. {
  982. printf("文件保存失败!\n");
  983. }
  984. else
  985. {
  986. p=head;
  987. while(p!=NULL)
  988. {
  989. fwrite(p,sizeof(uLNode),1,fp);
  990. p=p->next;
  991. }
  992. fclose(fp);
  993. }
  994. }

  995. uLinkList user_load()//导入用户信息
  996. {
  997. FILE *fp;
  998. uLinkList p,q,head=NULL;
  999. if((fp=fopen("user","rb"))==NULL)
  1000. {
  1001. return head;
  1002. }
  1003. p=(uLinkList)malloc(sizeof(uLNode));
  1004. if(!p)
  1005. {
  1006. printf("内存分配失败!\n");
  1007. return head;
  1008. }
  1009. head=p;
  1010. while(!feof(fp))
  1011. {
  1012. if(1!=fread(p,sizeof(uLNode),1,fp))
  1013. break;
  1014. p->next=(uLinkList)malloc(sizeof(uLNode));
  1015. if(!p->next)
  1016. {
  1017. printf("内存分配失败!\n");
  1018. return head;
  1019. }
  1020. q=p;
  1021. p=p->next;
  1022. }
  1023. q->next=NULL;
  1024. fclose(fp);
  1025. return head;
  1026. }

  1027. void book_save(bLinkList head)//保存图书信息
  1028. {
  1029. FILE *fp;
  1030. bLinkList p;
  1031. if((fp=fopen("book","wb"))==NULL)
  1032. {
  1033. printf("文件保存失败!\n");
  1034. }
  1035. else
  1036. {
  1037. p=head;
  1038. while(p!=NULL)
  1039. {
  1040. fwrite(p,sizeof(bLNode),1,fp);
  1041. p=p->next;
  1042. }
  1043. fclose(fp);
  1044. }
  1045. }

  1046. bLinkList book_load()//导入图书信息
  1047. {
  1048. FILE *fp;
  1049. bLinkList p,q,head=NULL;
  1050. if((fp=fopen("book","rb"))==NULL)
  1051. {
  1052. return head;
  1053. }
  1054. p=(bLinkList)malloc(sizeof(bLNode));
  1055. if(!p)
  1056. {
  1057. printf("内存分配失败!\n");
  1058. return head;
  1059. }
  1060. head=p;
  1061. while(!feof(fp))
  1062. {
  1063. if(1!=fread(p,sizeof(bLNode),1,fp))
  1064. break;
  1065. p->next=(bLinkList)malloc(sizeof(bLNode));
  1066. if(!p->next)
  1067. {
  1068. printf("内存分配失败!\n");
  1069. return head;
  1070. }
  1071. q=p;
  1072. p=p->next;
  1073. }
  1074. q->next=NULL;
  1075. fclose(fp);
  1076. return head;
  1077. }

  1078. char *in_password()//密码处理
  1079. {
  1080. int i;
  1081. char *p=(char *)malloc(sizeof(char)*M);
  1082. for( i=0;i<M;i++)
  1083. {
  1084. p[i]=getch();
  1085. if(p[i]=='\x0d')
  1086. {
  1087. p[i]='\0';
  1088. break;
  1089. }
  1090. printf("*");
  1091. }
  1092. return (p);
  1093. }

  1094. void error()//错误处理
  1095. {
  1096. printf("\n\t\t 输入序号有错,请重新操作...\n");

  1097. }

  1098. void input()//按任意键继续..
  1099. {
  1100. printf("\n请按任意键继续...");
  1101. getch();
  1102. }
复制代码

点评

你也太夸张了不用放这么多代码出来吧...  发表于 2011-7-6 21:12
回复 使用道具 举报
冷板凳
发表于 2011-7-6 17:28:02 | 只看该作者
15个BCB。。。。。
回复 使用道具 举报
4
发表于 2011-7-6 17:49:12 | 只看该作者
杯具啊~~15个bcb是不是有点太少了~~~
回复 使用道具 举报
5
发表于 2011-7-6 17:52:56 | 只看该作者
回复 比卡丘 的帖子

楼主~你这个问题很纠结,我给你个建议,你要是学习用呢,那么你就自己动手,有问题来这里提问,我们会帮你解决,如果你只是为了完成这个项目,那就另说了,具体情况~可以联系版主夜影~
回复 使用道具 举报
6
发表于 2011-7-6 21:00:54 | 只看该作者
回复 夜影 的帖子

还得让人家改,,,
回复 使用道具 举报
7
发表于 2011-7-6 21:42:27 | 只看该作者
夜影威武!!!
回复 使用道具 举报
8
发表于 2011-7-6 23:35:37 | 只看该作者
价格好低啊!!!楼主这个最好自己写,不会的在过来问,这样才能有效的学习
回复 使用道具 举报
9
发表于 2011-7-7 17:48:51 | 只看该作者
支持自己做,不明白来问,直接要项目还真没帮你做~~~  小功能Demo到是例外  
回复 使用道具 举报
10
发表于 2011-7-7 18:37:50 | 只看该作者
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 5秒快速注册
本版积分规则
关闭

BcWhy推荐上一条 /1 下一条

QQ|关于我们|最新帖子|小黑屋|手机版|编程十万个为什么 ( 粤ICP备16108587号-2   GMT+8, 2017-10-20 13:04 , Processed in 0.157123 second(s), 31 queries , File On.
Powered by Discuz! X3.3 © 2001-2017 Comsenz Inc.
快速回复 返回顶部 返回列表
尊宝国际娱乐APP下载亚虎娱乐手机官方网站亚虎国际娱乐齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载
优乐娱乐亚虎娱乐手机官方网站亚虎国际娱乐梦之城娱乐
尊宝国际娱乐APP下载尊宝国际手机首页尊宝国际娱乐城齐乐娱乐国际
优乐娱乐齐乐娱乐网优乐娱乐龙8娱乐手机下载