已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计实践训练课程设计报告姓 名:班 级:学 号: 指导老师: 陆建强 徐兴 日期:2015.12.132015.12.16 华南农业大学工程学院摘 要摘要:鉴于图书馆的藏书量是非常庞大的,在现代的社会就要运用我们的电脑等进行分类管理,于是我们设计了一款简单有效的,可以对图书进行整理管理的程序。由于我们水平有限,我们选用最常用的C语言进行设计。我们选定好这套小系统的功能,然后按照功能模块化设计。我们的图书信息管理系统包括了图书的信息录入、浏览、查询、各种排序、删除、修改的功能。为了实现程序的简单明了,我们采用结构化设计与链表结构。对于图书的录入,我们不仅可以在程序中手动录入,我们还可以按照其中的格式编写一个图书信息文件(里面包含我们的图书信息),一次可录入上千条信息,而无需利用程序一条一条的录入,也就是批量操作。同理,我们也可以运用这个文件进行图书信息的删除、修改等的批量操作。总的来说,这个程序运行的效率还是非常高的。关键字: 图书管理 C语言 批量操作 结构 链表目 录1. 设计的目的与要求42. 需求与设计分析52.1需求分析52.2设计分析53. 模块设计64. 完整程序及注释75. 调试分析206. 讨论及进一步研究建议217. 设计心得22Abstract23参考文献:231. 设计的目的与要求1.1 设计的目的使用链表,结构,指针等算法和结构,编写C语言程序,实现图书信息管理的功能,通过此系统可对图书馆图书信息进行管理和维护等操作,给图书管理人员带来便利,也给读者带来很多方便,比如查询,浏览图书信息等功能。1.2 设计的要求基本要求:图书信息包括:登录号、书名、图书编号、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)图书信息录入功能(图书信息用文件保存)输入(3)图书信息浏览功能输出,查询(4)查询和排序功能:(至少一种查询方式)算法 按书名查询 按作者名查询(5) 图书信息的删除与修改创新要求: 实现多种查询,比如作者名查询,书名查询,编号查询等 实现多种排序,比如按书名排序,按作者名排序等2. 需求与设计分析2.1需求分析对于一个图书管理系统来说,图书的查询及维护管理是其中的核心环节。在现的图书管理中存在几个共同的问题:(1)图书种类过多,信息数据庞大,这是几乎所有图书馆都会遇到的共同问题,各种不同种类的图书馆为这些图书入库,进行添加于维护增加了很多的难题,对这些数据的反复输入,往往造成庞大的工作量和较低的效率。(2)查询图书困难,面对成千上万本书籍,要想在茫茫书海中找到自己想要的书也绝非容易的数,但如果给他们编号存好,就可以方便读者查询。(3)图书毁坏及图书破损,在借阅过程中难免此类现象的发生,如何及时发现及事后对毁坏图书进行删除,或者对新书的信息进行录入也是个棘手且大量的工作的问题。本软件正是为解决这些问题进行设计的。2.2设计分析 题目的要求之一是我们的系统要以菜单方式工作,因此我们采用switch函数结构,输入不同的序号得到相应的功能。考虑到每本图书都会有相应的图书名称、作者、出版单位、分类、价格等,于是我们采用图书的结构化处理,采用了typedef函数。我们采用链表这一数据存储方式,把图书的相关信息整合。我们的程序还要实现录入、浏览、修改、删除、排序等功能,所以我们建立了相对应的函数模块来实现。3. 模块设计应设计要求,我们经过讨论和分析,将各个功能进行模块化,每个功能对应一个模块,这样进行模块化就可以是程序变得容易管理,出现问题时就可以直接对该模块进行修改,方便多了。程序模块如下: 4. 完整程序及注释(6) /*引用库函数*/(7) #include (8) #include (9) #include (10) #include (11) #include (12) typedef struct book_info /*定义图书信息的结构体变量并声明新的类型名*/(13) (14) char ID10; /*图书编号*/ (15) char name20; /*书名*/ (16) char author20; /*作者名*/ (17) char clc10; /*分类名*/ (18) char company20; /*出版单位*/ (19) char date20; /*出版日期*/ (20) char price10; /*价格*/ (21) struct book_info *next; (22) Booklist,*Pointer; (23) int num=0;/*全局变量的定义*/(24) Pointer Head=NULL;/*头指针为空*/(25) FILE *fp;/*指向文件的指针*/(26) (27) /*声明函数*/(28) int menu_select();/*主菜单函数*/ (29) void Insert(Pointer * Head);/*录入函数*/ (30) void Scan(Pointer Head);/*显示函数*/ (31) void Search_name(Pointer Head);/*按书名查找函数*/ (32) void Search_author(Pointer Head);/*按作者名查找函数*/ (33) void Search_ID(Pointer Head);/*按图书编号查找函数*/(34) void Listbyname(Pointer *Head);/*按书名排序函数*/(35) void Delete(Pointer * Head);/*删除函数*/(36) void Update(Pointer Head);/*修改函数*/(37) void Save();/*用文本文件形式保存函数*/(38) void Read();/*读入文本文件函数*/(39) void Exit();/*退出函数*/(40) void main()/*主函数*/(41) (42) system(cls);/*运行前清屏*/(43) Read();/*读入指定的文件*/(44) for(;) (45) (46) switch(menu_select() (47) (48) case 1:Insert(& Head);Save();/*1选择录入图书*/(49) break;(50) case 2:Scan(Head);/*2显示所有的图书*/(51) break;(52) (53) case 3:Search_name(Head);/*3书名查询*/(54) break; (55) case 4:Search_author(Head);/*4作者名查询*/(56) break; (57) case 5:Search_ID(Head);/*5图书编号查询*/(58) break; (59) case 6:Listbyname(&Head);/*6按书名排序*/(60) break; (61) (62) case 7:Delete(&Head);Save();/*7删除图书*/(63) break; (64) case 8:Update(Head);Save();/*8修改图书*/(65) break; (66) case 0:Exit();/*0退出系统*/ (67) default: (68) putchar(a);/*输入错误警告*/(69) (70) (71) (72) menu_select()/*主菜单函数*/(73) (74) int a;(75) (76) char b;(77) printf(nnnnttt欢迎使用图书信息管理系统nnnntt * 请按1进入系统菜单! * n); (78) b=getch();(79) (80) if(b!=1)(81) (82) printf(nttt输入有误请重新输入nttt);(83) return;(84) (85) system(cls); /*清屏*/(86) printf(tt*MENU*n);/主菜单(87) printf(tt 1. 录入图书信息nn); (88) printf(tt 2. 浏览图书信息nn); (89) printf(tt 3. 按书名查询图书信息nn); (90) printf(tt 4. 按作者名查询图书信息nn); (91) printf(tt 5. 按图书编号查询图书信息nn); (92) printf(tt 6. 按图书名字排序nn); (93) printf(tt 7. 删除图书信息nn); (94) printf(tt 8. 修改图书信息nn);(95) printf(tt 0. 退出n); (96) printf(tt*n); (97) do (98) (99) printf(ntt请选择您所需要的服务:); (100) scanf(%d,&a); (101) (102) while (a8);(103) return a; (104) (105) void Insert(Pointer * Head) /录入图书信息函数(106) (107) (108) char ID10; (109) char c; (110) Pointer p,q,r; (111) printf(ntt* 请输入图书信息*n);/*交互输入*/ (112) printf(ntt请输入图书编号:); (113) scanf(%s,ID); (114) p=q= * Head;(115) while(p!=NULL)/检测图书编号是否重复(116) (117) if(strcmp(p-ID,ID)=0) (118) (119) printf (已经有相同的图书编号:);(120) return;(121) (122) else (123) q=p;p=p-next; (124) (125) r=(Pointer)malloc(sizeof(Booklist); (126) r-next=NULL; (127) if(r=NULL) (128) (129) printf(分配空间失败!);(130) return;(131) (132) if(q=NULL) (133) * Head=r; (134) else (135) q-next=r; (136) strcpy(r-ID,ID); (137) printf(ntt输入书名:); /录入图书信息(138) scanf(%s,r-name); (139) getchar(); (140) printf(ntt输入作者名:); (141) scanf(%s,r-author); (142) getchar(); (143) printf(ntt输入分类号:); (144) scanf(%s,r-clc); (145) getchar(); (146) printf(ntt输入出版单位:); (147) scanf(%s,r-company); (148) getchar(); (149) printf(ntt输入出版日期:);(150) (151) gets(r-date); (152) printf(ntt输入价格:); (153) scanf(%s,r-price); (154) do (155) (156) printf(ntt录入成功!); (157) num+;/*记录录入图书的数目*/(158) printf(选择是否继续录入(Y/N)?:); /*连续录入图书信息*/ (159) getchar(); (160) scanf(%c,&c); (161) if(c=y|c=Y) (162) Insert(Head); (163) else (164) (165) if(c=n|c=N) (166) return; (167) else (168) printf(ntt输入错误,请重新输入!); (169) (170) (171) while(c!=y&c!=n&c!=Y&c!=N); (172) (173) void Scan(Pointer Head) /*显示图书信息函数*/(174) (175) Pointer p; (176) p=Head; (177) if(p=NULL) (178) printf(记录为空);/*检测是否有图书信息*/(179) else (180) (181) printf(nt共有%d条记录,num); (182) while(p!=NULL) (183) (184) /*显示图书信息*/(185) (186) printf(nntt图书编号:%-10s,p-ID);(187) printf(ntt书名: %-20s,p-name); (188) printf(ntt作者名: %-20s,p-author); (189) printf(ntt分类号: %-10s,p-clc); (190) printf(ntt出版单位:%-20s,p-company); (191) printf(ntt出版时间:%-20s,p-date); (192) printf(ntt价格:¥%-10s,p-price); (193) p=p-next; (194) (195) getch();(196) return; (197) (198) (199) void Search_name(Pointer Head) /*按书名查找函数*/ (200) (201) int flag=0;/*标记变量的初值*/(202) char name10; (203) Pointer p; (204) printf (ntt请输入需要查询的书名:); (205) scanf(%s,name); (206) printf(ntt* 以下是您查找的信息 *nn); (207) p=Head; (208) while(p!=NULL) (209) (210) if(strcmp(p-name,name)=0)/*查找符合的图书*/(211) (212) printf(ntt图书编号: %-10s,p-ID); (213) printf(ntt书名: %-20s,p-name); (214) printf(ntt作者名: %-20s,p-author); (215) printf(ntt分类号: %-10s,p-clc); (216) printf(ntt出版单位:%-20s,p-company); (217) printf(ntt出版时间:%-20s,p-date); (218) printf(ntt价格:¥%-10s,p-price); (219) flag=1;/找到标记变量设为1 (220) p=p-next;/指针走到下一个节点(221) (222) else (223) p=p-next; (224) (225) if(flag=0) (226) printf(ntt没有相同书名纪录); (227) getch(); (228) (229) void Search_author(Pointer Head) /*按作者名查找函数*/(230) (231) int flag=0; (232) char author10; (233) Pointer p; (234) printf (ntt请输入需要查询的作者名:); (235) scanf(%s,author); (236) printf(ntt* 以下是您查找的信息 *nn); (237) p=Head; (238) while(p!=NULL)/查找符合的图书(239) (240) if(strcmp(p-author,author)=0)/*找到图书显示信息*/ (241) (242) printf(ntt图书号: %-10s,p-ID); (243) printf(ntt书名: %-20s,p-name); (244) printf(ntt作者名: %-20s,p-author); (245) printf(ntt分类号: %-10s,p-clc); (246) printf(ntt出版单位:%-20s,p-company); (247) printf(ntt出版时间:%-20s,p-date); (248) printf(ntt价格:¥%-10s,p-price); (249) flag=1; (250) p=p-next; (251) (252) else (253) p=p-next; (254) (255) if(flag=0) (256) printf(ntt没有相同作者名纪录); (257) getch(); (258) (259) void Search_ID(Pointer Head) /*按图书编号查找函数*/(260) (261) int flag=0;/*标记变量的初值*/(262) char ID10; (263) Pointer p; (264) printf (ntt请输入需要查询的图书编号:); (265) scanf(%s,ID); (266) printf(ntt* 以下是您查找的信息 *nn); (267) p=Head; (268) while(p!=NULL) (269) (270) if(strcmp(p-ID,ID)=0)/*查找符合的图书*/(271) (272) printf(ntt图书编号: %-10s,p-ID); (273) printf(ntt书名: %-20s,p-name); (274) printf(ntt作者名: %-20s,p-author); (275) printf(ntt分类号: %-10s,p-clc); (276) printf(ntt出版单位:%-20s,p-company); (277) printf(ntt出版时间:%-20s,p-date); (278) printf(ntt价格:¥%-10s,p-price); (279) flag=1;/找到标记变量设为1 (280) p=p-next;/指针走到下一个节点(281) (282) else (283) p=p-next; (284) (285) if(flag=0) (286) printf(ntt没有相同的图书编号纪录); (287) getch(); (288) (289) void Listbyname(Pointer *Head) /按书名排序函数(290) (291) Pointer p,q; (292) int i,j; (293) char t10; (294) char c; (295) if(Head=NULL) (296) (297) printf(ntt没有任何资料!n); (298) return; (299) (300) if(num=0)/检查是否存在数据可供排序(301) (302) printf(ntt图书信息记录为空!请按任意键返回主菜单。); (303) getchar(); (304) return; (305) (306) p=q=*Head; (307) for(i=0;inum;i+)/排序(308) (309) for (j=i+1;jnext;/使指针指向下一个结点(313) if(strcmp(q-name,p-name)0)/检查二者排序先后(314) /p指针对应数据应排于q指针对应数据后,p,q进行数据交换(315) strcpy(t,p-ID); (316) strcpy(p-ID,q-ID); (317) strcpy(q-ID,t); (318) strcpy(t,p-author); (319) strcpy(p-author,q-author); (320) strcpy(q-author,t); (321) strcpy(t,p-clc); (322) strcpy(p-clc,q-clc); (323) strcpy(q-clc,t);(324) strcpy(t,p-company); (325) strcpy(p-company,q-company); (326) strcpy(q-company,t); (327) strcpy(t,p-date); (328) strcpy(p-date,q-date); (329) strcpy(q-date,t); (330) strcpy(t,p-name); (331) strcpy(p-name,q-name); (332) strcpy(q-name,t); (333) strcpy(t,p-price); (334) strcpy(p-price,q-price); (335) strcpy(q-price,t); (336) (337) (338) (339) (340) q=*Head;(341) p=*Head;(342) (343) (344) do (345) (346) printf(nt排序完成,是否显示(Y/N)?:); /*询问是否显示排序结果*/ (347) getchar(); (348) scanf(%c,&c); (349) if(c=y|c=Y) (350) Scan(*Head);/*显示排序结果*/(351) else (352) (353) if(c=n|c=N) (354) return;/*返回主菜单*/(355) else (356) (357) printf(ntt输入错误,请重新输入!);/*错误则继续询问*/(358) (359) (360) while(c!=y&c!=n&c!=Y&c!=N); (361) (362) (363) void Delete(Pointer *Head)/*删除函数*/(364) int flag=1; (365) char ID10; (366) char c,z; (367) Pointer p,q; (368) printf(ntt* 图书删除 *n); (369) printf(t请输入要删除图书的信息的编号:); (370) getchar();(371) scanf(%s,ID); (372) p=q=*Head;/*查找符合条件的图书*/ (373) while(p!=NULL&flag) (374) (375) if(strcmp(p-ID,ID)=0)/*找到该图书*/ (376) (377) printf(tn图书编号:%-10s,p-ID);/显示即将要删除的图书的信息(378) printf(tn书名:%-20s,p-name); (379) printf(tn作者名:%-20s,p-author); (380) printf(tn分类号:%-10s,p-clc); (381) printf(tn出版单位:%-20s,p-company); (382) printf(tn出版时间:%-20s,p-date); (383) printf(tn价格:¥%-10sn,p-price); (384) printf(确定删除?确定请输Y,其它则不删除);/询问是否删除(385) getchar();(386) scanf(%c,&z); (387) if(z=Y|z=y) (388) (389) if(p=*Head) (390) *Head=p-next;free(p);/*删除图书信息*/ (391) else (392) q-next=p-next;free(p); (393) flag=0; (394) printf(tt删除成功!n);(395) (396) else (397) printf(图书信息未删除,返回主菜单。); (398) return; (399) (400) (401) else (402) q=p;p=p-next;/*指针走到下一个节点*/ (403) (404) if(flag) (405) printf(t没有找到可以删除的数据!); (406) do (407) (408) printf(选择是否继续删除(Y/N)?:); /*连续删除图书信息*/ (409) getchar(); (410) scanf(%c,&c); (411) if(c=y|c=Y) (412) Delete(Head);/*继续删除*/ (413) else (414) (415) if(c=n|c=N) (416) return;/*不删除返回主菜单*/ (417) else (418) printf(ntt输入错误,请重新输入!);(419) (420) (421) (422) while(c!=y&c!=n&c!=Y&c!=N); (423) getch();(424) (425) void Update(Pointer Head)/*图书信息修改函数*/(426) (427) int flag=1; (428) char ID10; (429) char c; (430) Pointer p; (431) printf(ntt* 图书信息修改 *n); (432) printf(t请输入要修改的图书的编号:); (433) scanf(%s,ID);/*查找符合条件的图书*/ (434) p=Head; (435) while(p!=NULL&flag) (436) (437) if(strcmp(p-ID,ID)=0) (438) (439) printf(ntt请输入图书编号:);/*修改图书信息*/ (440) scanf(%s,p-ID); (441) printf(ntt输入书名:); (442) scanf(%s,p-name); (443) getchar(); (444) printf(ntt输入作者名:); (445) scanf(%s,p-author); (446) getchar(); (447) printf(ntt输入分类号:); (448) scanf(%s,p-clc); (449) getchar(); (450) printf(ntt输入出版单位:); scanf(%s,p-company); getchar(); printf(ntt输入出版日期:); gets(p-date); printf(ntt输入价格:); scanf(%s,p-price); flag=0; printf(修改成功!n); else p=p-next;/*指针走到下一个节点*/ if(flag) printf(ntt没有该图书记录!); do printf(选择是否继续修改(Y/N)?:); /*连续修改图书信息*/ getchar(); scanf(%c,&c); if(c=y|c=Y) Update(Head);/*继续修改*/ else if(c=n|c=N) return;/不修改,返回菜单 else printf(ntt输入错误,请重新输入!); while(c!=y&c!=n&c!=Y&c!=N);/输入错误则继续询问 void Save() /*以文本文件形式保存的函数*/ Pointer p=Head; char file20=xiaoshuo.c; /*用来存放文件保存路径以及文件名*/ (451) if(fp=fopen(file,w+)=NULL)/*判断能否打开文件*/ (452) (453) printf(不能打开文件!n); (454) return; (455) (456) while(p!=NULL) (457) (458) fprintf(fp,%st%st%st%st%st%st%sn,p-ID,p-name,p-author,p-clc,p-company,p-date,p-price);/将数据写入文件(459) p=p-next;/*下移一个结点*/ (460) (461) fclose(fp);/写入完成,关闭文件(462) return; (463) (464) void Read()/*读入文本文件的函数*/(465) Pointer p,q; (466) int m=0; (467) char file20=xiaoshuo.c; (468) if(fp=fopen(file,r+)=NULL)/检查文件是否存在(469) (470) printf(不能打开文件!n); (471) return; (472) (473) m=m+1; (474) if(m=1) (475) (476) p=(Pointer)malloc(sizeof(Booklist);/*开辟一个新单元*/ (477) Head=p;/将p的地址赋给头指针Head (478) fscanf(fp,%st%st%st%st%st%st%stn,&p-ID,&p-name,&p-author,&p-clc,&p-company,&p-date,&p-price);/*文件读入*/ (479) do (480) num=num+1;/记录书籍信息量(481) if(num=1) /区别开链表开头与中间的处理方法(482) Head-next=p; (483) else q-next=p; (484) q=p; (485) p=(Pointer)malloc(sizeof(Booklist); /*开辟一个新单元*/ (486) fscanf(fp,%st%st%st%st%st%st%stn,&p-ID,&p-name,&p-author,&p-clc,&p-company,&p-date,&p-price);/读入文件数据(487) while(!feof(fp);/检查文件是否结束,若是则停止读入,否则继续读入(488) q-next=p; (489) p-next=NULL;/链表结尾处理(490) num=num+1;/正确的图书信息量(491) (492) fclose(fp);/*结束读入,关闭文件*/ (493) return; (494) (495) void Exit()/*退出程序的函数*/(496) (497) char c; (498) do printf(ntt退出中.是否保存到文件(Y/N)?); /*询问是否保存图书信息,防止丢失*/ getchar(); scanf(%c,&c); if(c=y|c=Y) Save();exit(0); else if(c=n|c=N) exit(0); else printf(ntt输入错误,请重新输入!); while(c!=y&c!=n&c!=Y&c!=N);/错误则继续询问5. 调试分析一开始我们根据整个系统所要实现的功能将源程序分为以下几个模块:1、图书数据的录入子函数2、图书信息显示子函数3、按书名查询子函数4、按作者名查询子函数5、按图书编号查询子函数6、书名排序子函数7、图书删除子函数8、图书修改子函数9、系统推出子函数确定好这几个模块之后就是进行以上算法的设计,在图书数据的录入子函数中,采用结构体变量Pointer构造一条链表,调用malloc函数为每一本图书的数据开辟一定的空间,充分利用C语言中指针作为参数的强大功能实现了图书与图书之间的联系,由于要求图书的数据以文本文件的形式进行保存,经过小组讨论后确定采取边录入图书数据边保存在指定的文本文件xiaoshuo.c这种方案;后面的子函数的设计都是基于第一个子函数的思想实现的,在此便不一一做详细介绍。子函数设计完成后,利用C语言的可移植功能把整个系统的程序进行完美的连接,编译成功后进入系统功能的调试。以下是调试的结果第一次调试:系统运行过程出现图书信息显示多余部分乱码现象,经过查看显示子函数该段源程序发现有某些指针指向不确定的区域,因此修改一下限定条件即可。第二次调试:在调用查询图书功能的时候出现无法显示所查询图书的信息,直接返回主菜单界面,经过查看查询图书子函数的所有程序发现缺少暂停的功能,因此加上了getch()这条语句即可。第三次调试:在调用图书排序功能的时候出现排序错误或者无法排序的情况,经过查看排序子函数的程序发现其中执行循环的条件有误导致排序出错,因此修改循环的次数即可。由于本次课程设计的时间十分有限,因此本系统只可实现以上所介绍的基本功能,后续版本将会陆续增强。6. 讨论及进一步研究建议经过我们多次的调试,虽然程序最终是成功了,但是我们仍然有值得修改的地方。比如排序的那部分程序,我们尝试同时加入各种不同的分类排序,但是程序会出现一些小小的问题。比如,我们执行了按书名排序之后,再回到菜单执行按作者名排序,出来的结果还是按书名排序的结果。再执行多几次,出来的结果才会是按作者名排序。由于时间有限,我们只能放弃了,同时实现按多种分类排序的功能,只保留了按书名排序。另外,我们在完成程序之后,发现还有很多值得拓展开来的功能,也讨论了应该如何实施修改,使程序更加方便和人性化,使程序的功能更加强大。但无奈知识水平有限以及时间的仓促,我们最终放弃了在本次设计进行尝试。但是经我们一致讨论后,我们都有极大的兴趣在课后进行更深入的对程序的完善。 7. 设计心得谭xx:由于很久没有接触过程序设计了,已经把很多程序设计的知识遗忘了。由于接到了程序设计的任务,我又重新拿起了C语言程序设计的相关书籍,进行回顾。依靠团队的智慧和各种参考资料,我们的程序在跌跌碰碰中产生,又经过各种的完善与修改,才最终诞生了我们的最终成果。从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵。通过合作才能共赢。潘xx:一开始听老师说要在几天时间内把设计交上去我内心是奔溃的,因为自己只有大一的时候才学过C语言,时隔一年多了,都忘的差不多了,再加上这个设计并不简单,因为我都没做过这种这么多功能的程序,感觉这是计算机专业的同学的领域,但没办法,只能逼自己一把,才会懂得去学自己所需要的知识。回去宿舍后我们几个人就一起讨论,分析,把方案基本确定下来,然后就分工合作,每个人负责几个模块。通过此次课程设计,我明白了团队的重要性,因为打这么多代码真的很奔溃的。其次,我觉得要想真正学会东西,是需要付出大量时间,精力的。林xx:通过此次课程设计,使我更加扎实的掌握了有关C程序设计方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市绿化活动计划
- 金融科技对传统银行业的影响与挑战研究
- 国内旅游市场趋势分析
- 合肥合作协议合同范本
- 农村院子售卖合同范本
- 养殖生猪买卖合同范本
- 卖场水产联营合同范本
- 刻章合同范本模板模板
- 合同更改解除协议范本
- 卖房贷款协议合同范本
- 2024年吉他授课教案
- 培训勇闯沙漠
- 《日常手语学习》课件
- 小学生微生物科普课件
- 青海省西宁市第十一中学2024-2025学年九年级上学期期中测试数学试卷(含简单答案)
- 100以内加减法列竖式练习题-1680题
- PRP注射治疗膝关节炎
- “互联网”在生活中的应用 课件 2024-2025学年电子工业出版社(2022)初中信息技术第一册
- 2024版管理咨询合同范本
- 火灾车辆鉴定评估讲解
- 弘扬伟大抗战精神纪念中国人民抗日战争胜利 铭记抗战历史
评论
0/150
提交评论