网上购物系统项目开发总结报告

上传人:jin****ng 文档编号:68661504 上传时间:2022-04-03 格式:DOC 页数:37 大小:262.50KB
收藏 版权申诉 举报 下载
网上购物系统项目开发总结报告_第1页
第1页 / 共37页
网上购物系统项目开发总结报告_第2页
第2页 / 共37页
网上购物系统项目开发总结报告_第3页
第3页 / 共37页
资源描述:

《网上购物系统项目开发总结报告》由会员分享,可在线阅读,更多相关《网上购物系统项目开发总结报告(37页珍藏版)》请在装配图网上搜索。

1、刖言在 Linux 环境下,使用 GNU C 或 GNU C+ ,在 UNIX/Linux make开发工具的的管理和控制下,利用UNIX/Linux Socket 库在网络的底层进行开发设计。本次设计运用c语言为基础编 程,同时联系数据库的使用和有关 unix_socket的使用,但这 部分类容对我们来说是相当生疏的,以前没有正式的学过。先 在老师的引导下学了解了基本类容。我们做的是购物系统根据 设计的要求必须要在完成通信功能的基础上,完成自己设计所 要完成的功能。整个设计的中心类容就是要在运用数据库的基 础上完成客户端和服务器的通信,所以我们一组的人先运用 c 语言完成对基本的程序要求,然

2、后再根据所要完成的功能重用 的数据库的类容创建数据库可所要的表。设计过程中由于用到好多套接字的内容,好多函数的运用都很生疏,我们一组的人在一起商量外,还大量利用网络资 源,尤其是在运用一些数据库的函数进行编程的时候更是进度 很慢,在写程序的过程中还得像这怎么把数据库的内容在运行 是能起上作用,总之整个过程并不是像刚开始时想的那么简 单。目录一设计时间及地点、设计目的和要求三、设计题目和内容四、设计方法和步骤五、流程图六、设计成果的编制七、程序代码八、心得体会一设计时间及地点这次设计整个过程我们在都在院机房,从8月25开始的设计,第一天我们先进行总体大的框架的构想,想出有关购物系统所要完成的功能

3、,在对所要写的程序进行整体的划分,总基础整个过程所要设计学过的和要运用的刚了解的东西,大的思路出来以后再对组中的成员进行工作分工,前两天我们所完成的主要的工作就是了解并能掌 握在进程之间的通信,这是整个设计最基础的东西,也是最最重要的地方。然后解下 来的时间就是对程序的构思和写就,因为在写程序的过程中要用到数据库的类容,所以在程序写出一部分以后在今测试的都要建立相应的数据库。测试和调试出来很多的问题,在老师和同学的帮助下最后都解决了。二、设计目的和要求1、设计目的这里的中间件是指交易型中间件。交易型中间件是指用在不同行业、不同部门间的通讯和协议转换的软件 ,在不同的行业、不同的系统间提供通讯转

4、发和协议转换的桥梁作用。例如电子商务、银行代理业务软件等都是这种类型的软件。本设计不是基于WEB的,不需要很多与 WEB开发相关的知识,主要是利用UNIX系统提供的Socket库在网络底层,开发交易型中间件。本设计的目的是使参与设计者掌握利用软件工程的思想方法和TCP/IP设计出用于不同行业和部门间的通讯转发或协议转换软件一中间件,尤其掌握这种设计的思想和方法。在很多场合中间件部分是必须的,因为在不同的行业的网络是不允许直通的。这里有政策的因素,有制度的要求,也有技术的成份。设计理念:设计一个项目,学会一个方法,做好一项工程。2、设计要求1)纪律要求(1) 严格遵循软件实习的有关安排,按时完成

5、设计任务。(2) 严格遵守学校的纪律和机房的各项管理规定。(3)严格请假制度,需请假时,必须经指导老师批准。2)技术要求按软件工程的思想和方法来设计这一项目,并把它作为一个工程来做。设计的每一步都有要形成文档,成品”出来以后要有使用说明书和测试报告。最后按院方统一要求整理出软件实习 论文”,并分别以电子和书面文档的形式上交 。因不是针对某个具体业务系统的,该系统的设计只是一个大的框架,但要求对实 际系统进行模拟,能针对实际系统更好。建议模拟移动公司的手机代收费系统。要求本设计的三部分都要对所接收和发送的数据以文件形式留迹并同时在屏幕上显 示。客户端要求对接收到的返回数据进行正确格式的显示或打印

6、。服务器端要先建立模拟用数据文件或数据库,这是服务的基础。服务器数据库要求使用Linux提供的免费的MySQL。开发时主要用到C访问MySql 的接口程序 MySql C API。该设计的三个部分都要设计出程序 ,并要在验收时进行演示。3)具体要求(1)客户端客户端程序可命名为client,要求带有两个命令行参数一个是服务(自己定义,定义在/etc/services 中,比如 mysvr1 5678 ),另一个是目的主机 (定义在/etc/hosts 内,也 可使用DNS来解析),缺省时为本机。客户至少要实现如下功能:用户管理;查询;交易(交费,购物等);撤销;统计。(2)中间件中间件程序命名

7、为 middleware ,要带有三个参数,一个是服务器的服务 (名字,与客 户端同),第二个作为请求的服务 (自己定义,定义在/etc/services 中,要区别于客户 端,比如mysvr2 5679 ),第三个为目的主机 (定义在/etc/hosts内),缺省时为本机。中间件要完成与客户要求相符的功能 :是本地的本地处理,否则发往服务器方。具体 地是:接收客户方数据;组织服务器方所需数据;重组服务方返回数据,并返回给客户方。(3)服务器服务器程序可命名为 server,要求带有一个服务参数,与中间件的mysvr2同。 服务器方程序要完成客户端或中间件提出的业务请求,并做好留迹工作。(4)

8、留迹或log留迹或log工作在客户端、中间件和服务器三方都要做,以供统计或核对使用。客户端或中间件方可以使用文本文件或数据库,但在服务器方张须使用 MySql数据三.流程图如下2.商品搜索流程图3.用户登录流程图4.购物流程图四客户端的功能实现部分及源代码?客户端是打开一通信通道,并连接到服务器所在主机的特定端口。向服务器发服务请求,等待并接收应答;请求结束后关闭通信通道。socket程序库是UNIX网络上最普及的API,可调用socket程序库 提供的各个程序开发网络软件和网络系统。TCP/IP协议被集成到UNIX 内核中时相当于在UNIX系统引入了一种新型的I/O操作。UNIX用户进 程与

9、网络协议的交互作用比用户进程与传统的I/O设备相互作用复杂得多。在UNIX系统中,网络应用编程界面有两类:UNIX BSD的套接字 (socket)和UNIX System V 的TLI。由于Sun公司采用了支持 TCP/IP的 UNIX BSD操作系统,使TCP/IP的应用有更大的发展,其网络应用编程界面 (套接字)在网络软件中被广泛应用其中和套接字有关的函数有:创建套接字一socket()地址绑定一bind()建立连接一connect()与accept()监听 连接 一listen()数据传输一send()/write()与 recv()/read()关闭套接字 close() o数据可中

10、所用的东西有:在命令提示符下输入:mysql或 mysql root进入mysql系统。提示符为“ ”可以使用的命令有: show databases / tables;use database;create database db;create table tbl;drop database db/ table tbl;select from tbl where in sert in totbl values update tbl setwhere delete from tbl where 因为我们要完成的事网上购物系统,所以客户端组要是完成查询 可购买的功能,所以所用的到数据库也相对的简

11、单。客户端部分源代码#in clude #in clude #in elude #in elude #in elude #in elude #in elude #in elude #defi neree_le ngth20main (i nt argc,char *argv)struct hostent *hp;struct sockaddr_in sin;struct serve nt *sp;char e;char buff1000,cmd500,sp name13,sp num6;ints,err_code,recs,flds,i,rd_l,wr_l;intop;char *servic

12、e,*dest,*log=clt .lo g;MYSQL mysql;MYSQL_RES *result;MYSQL_ROW row;1.运用unix_socket的内容完成服务器与客户端的基本定义if(argc!=1) service=argv1; dest=argv2;else fprin tf(stderr,NO service assig ned!nU sage:);fprin tf(stderr,%s service_ name dest in ati on !n,argv0);fprin tf(stderr,Note: service_ name is defi ned in /e

13、tc/servicesn);fprin tf(stderr,dest in ati on is defi ned in /etc/hostsn);exit(-1);spri ntf(cmd,touch %s,log);system(cmd);err_code=0;if(mysql_i nit(&mysql)=NULL)/2fprin tf(stderr,Error in mysql_ in it!n);exit(-1); /22把服务器与客户端通过说句库连接起来,并完成基本的通信功能/2/conn ect to DBif(!mysql_real_co nn ect(&mysql,localho

14、st,root,0,clt,0,NULL,0) fprintf(stderr,Error in connection: %s %dn, mysql_err or(&m ysql),mysql_err no(&m ysql);mysql_close(&m ysql);err_code=-2;goto mysql_err;112/ query();sprintf(cmd,SELECT * FROM main);/execute queryif(mysql_query (&m ysql,cmd)!=0)5fprin tf(stderr,Error in query: %s %dn,mysql_err

15、 or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;5/5/get resultif(result=mysql_store_result (&m ysql)=NULL)fprin tf(stderr,Error in store_result: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql); mysql_free_result(result);/mysql_close(&m ysql);err_code=-4;goto my

16、sql_err;/5mysql_err:if(err_code!=0)mysql_close(&m ysql); exit(-1);/spri ntf(buff,1|);recs=mysql_ num _rows(result);flds=mysql_ nu m_fields(result);if(recs=0) fprin tf(stderr,No Data in Table UNIT);goto mysql_err2;/process result setbzero(buff,500);prin tf(nin put the n ame of goods:);scanf(%s,spname

17、); spname13=0:row=mysql_fetch_row(result);getdate(cmd);/ getdate Date + uni t_code + jnlspri ntf(buff,1|%s|%8.8s%4.4s%5.5d|%4.4s|,sp name,cmd,row0,atoi(row1),row0);i=atoi(row1) + 1;spri ntf(cmd,UPDATE main set curr_j nl=%d whereun it_id=%s,i,row0);/fprin tf(stderr,%sn,cmd);if(mysql_query (&m ysql,cm

18、d)!=O)5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;5mysql_err2:mysql_free_result(result);mysql_err1:mysql_close(&m ysql);leb_se nd:if(sp=getservb yn ame(service,tcp)=NULL)fprin tf(stderr,Error: getservb yn ame);e

19、xit(-5);if(hp=gethostb yn ame(dest)=0)exit(-6);bzer o(&sin, sizeof(s in);bcopy(hp-h_addr, &sin.sin _addr,hp-h_le ngth);sin.sin _family=hp-h_addrtype;sin.sin _port=sp-s_port;if(s=socket(AF_INET,SOCK_STREAM,0)=-1)fprin tf(stderr,Error: socket);exit(-6);if(conn ect(s,&sin, sizeof(s in)=-1)fprin tf(stde

20、rr,Error: conn ect);close(s); exit(-6);/ n ext 2 Line build request messageif(wr_l=write(s,buff,strle n(buff)!=strle n(buff) /to serverfprin tf(stderr,Write Socket s ERRORn!);close(s); exit(-1);if(rd_l=read(s,cmd,500)=0) /get replay from serverclose(s); exit(-2);close(s);printf(%stsend: %sntget repl

21、y:(%d Bs) %sn,argvO,buff,rdl_l,cmd);cmdrd=0:buffwr_l=O;strcat(buff,|OKO0);wr_l+=6;strn cat(buff,cmd,rd_l);wr_l+=rd_l;buffwr_l+=n:if(flds=ope n( log,O_WRONLY|O_APPEND)=-1)fprintf(stderr,File %s open error!n,log);exit(-5);if(write(flds,buff,wr_l)!=wr_l)fprin tf(stderr,File %s write error!n,l og);close

22、(flds); exit(-6);close(flds);while(1) bzero(buff,500);bzero(sp nu m,6);getdate(cmd);prin tf(other tran sact ion s:);4:quit(q/Q)n);printf(” n please in put your opti on :1:query 2:buy3:pri ntscan f(%d, &op);if(op=4) exit(O);if(op=2)printf(” nnu mber:);scan f(%s,sp nu m);sp num6=0:spri ntf(buff,%1.1d|

23、%s|%s|%8.8s%4.4s|%5.5d|%4.4s|,op,sp name,sp num,cmd,row0,atoi(row1),row0);prin tf(n=%s=n,buff);/goto leb_se nd;exit(0);getdate(char *d)int i;time_t t,t1;struct tm *t_m;if(t=time(&t1)=-1) return -1;t_m=localtime( &t);spri ntf(d,%4.4d%2.2d%2.2d,t_m-tm_year+1900,t_m-tm_mo n+1,t_m-tm_mday);d8=0;return 0

24、;3,服务器端的功能实现及源代码服务器端所用到的函数与客服端的几乎是一样的,用到套接字的内容,和数据库的东西,但是其中的数据库要相对复杂。他可以接收来自客 服端的命令请求,并分析命令然通过数据库对客服端的请求给予答复。服务器端的源代码为#i nclude #in elude #in elude #in elude #in elude #in elude #in elude #in elude#defi ne ree_le ngth20void strsplit(ehar *,char *,char);main (i nt arge, char *argv )/1 mai nstructsoek

25、addr_ in sin;structserve nt *sp;int s,n s,pid;char d=T,tmp1000,buff500,cmd500;char *service,*log=svr.log;/ char s=1234|567|7|90|abcd|efghijklm nop|;char *str;char *v100,*tt;int i,j,recs,flds,err_code,c,rd_l,wr_l;double pay;/declare structure and vars.MYSQL mysql;MYSQL_RES *result;MYSQL_ROW row;if(ar

26、gc!=1) service=argv1;else 2fprin tf(stderr,NO service assig ned!nU sage:n);fprin tf(stderr,t%s server_ name! n,argv0);fprintf(stderr,Note: svr_name is defined in file /etc/servicesn); exit(-1);2spri ntf(cmd,touch %s,log);system(cmd);for(i=0;is_port;if(bi nd(s, &si n,sizeof(s in )=-1)2fprin tf(stderr

27、,Error: bi nd);close(s); exit(-6);2if(liste n(s,5)=-1)2fprin tf(stderr,Error: liste n);close(s); exit(-6);2while(1)2 whilefprin tf(stderr,ntttNow wait connect .n);if(n s=accept(s,0,0)=-1) / wait a connection 3fprin tf(stderr,error: accept); continue;/3err_code=0;2. 进程的使用,创建子进程来处理客户机所发来的信息:if(pid=for

28、k()=-1) /conn eted, and the n create child proc/3fprin tf(stderr,server: fork error!);close(s); exit(-1);if(pid!=O)/pare nt proce nothing to do, and to the n ext loop/3 close( ns);wait(O);con ti nue;/3if(pid=0) / en tered child proccedure /3 pid=0close(s);printf(Receive a client connect:%sn,argv1);i

29、f(rd_l=read( ns,buff,500)=0) /4fprin tf(stderr,Read nothing from socket: nsn);close( ns); exit(-3);/4prin tf(%s get message from ns:%sn ”,argvO,buff);buffrd_l=0;strcpy(tmp,buff);strcat(tmp,|OKOK|);rd+=4;3. 运用unix_Socket实现所要完成的功能strsplit(buff,v,d);switch(v00) /4 switchcase 1:/ query();spri ntf(cmd,SE

30、LECT * FROM sp WHERE spn ame=%s,v1);/execute queryprin tf(nCMD=%sn,cmd);if(mysql_query (&m ysql,cmd)!=O)5fprin tf(stderr,Error in query: %s %dn, mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;55/get resultif(result=mysql_store_result (&m ysql)=NULL)fprin

31、 tf(stderr,Error in store_result: %s %dn, mysql_err or(&m ysql),mysql_err no(&m ysql);mysql_free_result(result);/mysql_close(&m ysql);err_code=-4;goto mysql_err;5mysql_err:spri ntf(buff,%2.2d|,err_code);if(err_code!=0) goto mysql_err1;recs=mysql_ num _rows(result);flds=mysql_ nu m_fields(result);for

32、(i=0;irecs;i+)5/process result setif(recs=0) sprintf(cmd,00|); elsespri ntf(cmd,%2.2d|,recs); strcat(buff,cmd);row=mysql_fetch_row(result);/ pay=atof(v2)+atof(row2);/prin tf(%f,&row2);/prin tf(n);for( j=O;jflds;j+)6spri ntf(cmd,%s|,rowj); strcat(buff,cmd);/6printf(nBUFF form DB=%sn,buff);mysql_free_

33、result(result);mysql_err1:mysql_close(&m ysql);break;case 2:/tran s();wherespri ntf(cmd,UPDATEsp SET spnu =sp nu-%ssp name=%s”,v2,v1);/execute queryprin tf(nCMD=%sn ”,cmd);if(mysql_query (&m ysql,cmd)!=O)5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/ mysql_clos

34、e(&m ysql);err_code=-3;goto mysql_err;/ spri ntf(tt,);sprintf(cmd,UPDATE payment SET transtime=%swhere sp_id=%s, v3, v1);/execute queryprin tf(nCMD=%sn,cmd);if(mysql_query (&m ysql,cmd)!=0)/5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/ mysql_close(&m ysql);err

35、_code=-3;goto mysql_err;/* spri ntf(cmd,UPDATE main SET curr_j n1=%dwhereun it_id=%s,v5,v6);/execute queryprin tf(nCMD=%sn ”,cmd);if(mysql_query (&m ysql,cmd)!=0)5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;*/*sp

36、rintf(cmd,SELECT * FROM main);/execute queryif(mysql_query (&m ysql,cmd)!=0)/5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;55/get resultif(result=mysql_store_result (&m ysql)=NULL)fprin tf(stderr,Error in store_re

37、sult: %s %dn, mysql_err or(&m ysql),mysql_err no(&m ysql);mysql_free_result(result);/mysql_close(&m ysql);err_code=-4;goto mysql_err;5mysql_err:if(err_code!=0)mysql_close(&m ysql); exit(-1);/ spri ntf(buff,1|);recs=mysql_ num _rows(result);flds=mysql_ nu m_fields(result);if(recs=0) fprin tf(stderr,N

38、o Data in Table UNIT);goto mysql_err2;k=atoi(row3) + 1;wherespri ntf(cmd,UPDATEmainsetcurr_j nl=%dun it_id=%s,i,row0);if(mysql_query (&m ysql,cmd)!=0)5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;5/get resultif(re

39、sult=mysql_store_result (&mysql)=NULL)5fprin tf(stderr,Error in store_result: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);mysql_free_result(result);/mysql_close(&m ysql);err_code=-4;goto mysql_err;*/spri ntf(cmd,SELECT * FROM sp WHERE spn ame=%s”,v1);/execute queryprin tf(nCMD=%sn ”,cmd);if(m

40、ysql_query (&m ysql,cmd)!=0)5fprin tf(stderr,Error in query: %s %dn,mysql_err or(&m ysql),mysql_err no(&m ysql);/mysql_close(&m ysql);err_code=-3;goto mysql_err;5/get resultif(result=mysql_store_result (&mysql)=NULL)/5fprin tf(stderr,Error in store_result: %s %dn,mysql_err or(&m ysql),mysql_err no(&

41、m ysql);mysql_free_result(result);/mysql_close(&m ysql);err_code=-4;goto mysql_err;/5spri ntf(buff,%2.2d|,err_code);recs=mysql_ num _rows(result); flds=mysql_ nu m_fields(result);/process result setspri ntf(cmd,%2.2d|,recs);strcat(buff,cmd); row=mysql_fetch_row(result);/ pay=atof(v2)+atof(row2);/pri

42、n tf(%f,&row2);/prin tf(n);for( j=O;jflds;j+)6spri ntf(cmd,%s|,rowj); strcat(buff,cmd);6printf(nBUFF form DB=%sn,buff);mysql_free_result(result);/nothi ng(buff);break;case 3:/prin t();nothin g(buff);break;default:fprintf(stderr,Func. code error in:n%s,buff);4 switchwr_l=strle n(buff);if(wr_l=write(

43、ns,buff,wr_l)!=wr_l)4fprin tf(stderr,Write socket ns error!n);close( ns); exit(-4);4strncat(tmp,buff,wr_l);wr_l+=rd_l;buffwr_l=n;+wr_l;if(flds=ope n(log,O_WRONLY|O_APPEND)=-1)fprintf(stderr,File %s open error!n,log);exit(-5);if(write(flds,tmp,wr_l)!=wr_l)fprin tf(stderr,File %s write error!n,l og);c

44、lose(flds);exit(-6);close(flds);close( ns); exit(0);3 switch2 while1 mai nvoid strsplit(char *s,char *v,char d)int i,j,l;j=O;v j=s;l=strle n(s);for(i=0;il;i+)if(*(s+i)!=|) continue;else *(s+i)=0:v+j=s+i+1;/ prin tf(=%dt,j);/for(i=0;vi!=NULL;i+) fprintf(stderr,%d:%sn,i,vi);nothin g(char *x)sprintf(x,

45、OO|);五,程序测试与调试过程中出现的问题及解决方法刚开始进行设计的前两天,主要是掌握基本的通信犯法和步骤,这一部分内容都是以前学的内容,接下来就是程序的编写部分,开始的时候只是运用c语言的内容进行编写,运行的时候出的只是简单的语法或语义的错误,但是当想到把数据库运用到程序中 时遇到很多问题,数据库的如何导入,怎杨把数据库和程序融合在 一起共同起作用,刚开始不清楚这部分内容的时候,在编译链接是总是出现段错误,最后问老师以后才知道是没有创建数据库的原 因。创建数据库的时候由于没有彻底搞清楚数据的使用,在创建的时候没有注意到没有注意到各表之间的连接运行的时候还是有错 误。然后数据库的创立问题解决

46、以后,程序中又出了问题,在数据 库与unix_socket的融合使用的时,在进程的通信过程中由于函数还 没有理解清楚参量部分不能很好的定义。然后我们一组又在一起套 弄让后在同学的帮助下解决了问题。六.设计成果如下Ihosi t戚H Vs nysThe servieer ii ready!un i t i ennnect *Re re ive a cl ien( connect ion ms,/s g W|0 | OODU2 隔眈靛上忆般|lvhere un o ihe r t cl i omyour opl ion: 1 :query2:buyJ:卩r inl41qiii 1 q/Q)Iyou

47、r op l ion: 1 : qur ry2; buy鼻:print4 :)u i K q/y?iget Eeply3(2 Ba) 001011MM2 禺做麒学 B|彌|u Lher transa c tionyour op t iin: iquery 2:buy 1: pr in I4:qui 1 q/Q)p leae ihpu 1 lhe nuntier o f you n L : 221 陽散12110375 ./c “nd; 2| A2120010905075 QQ0ia|QJ75沪t reply:(2fi Bs)帕| (H | (MW也|离浪敖孚R|阿o the i: ra nsa

48、r t ion:your option:! squey 2:huy 3-print4:ju 1 t(q/Q)七.心得体会心得体会在我们集体的共同努力下还是把课程设计给完成了大快人心,但过程是很曲折和艰难的。在此之前,我们已做过好几次课程设计,虽说在这方面我们每 个人都应有一些经验,但我们这次却要做的是网络编程,对每个人 来说都是一个新的课题,所以大家心里都没底,且都有难色。刚开始大家都不知怎么做,但在老师的指引和同学们相互交流 下,经大家一点一点努力下,最终突破了一个一个的困难,两周的 努力终于见到了胜利的果实。现在我们已是大四的学生了 ,我们在一起做课程设计,协同合 作的机会已不多了 ,实践证明,我们把握住了这种不多的机会,我 们学到了许多东西。我们组不仅出色的完成老师交给我们的任务,也再一次的巩固了我们的基础,还从课外书和网络中学到了许多我 们不会和不知道的东西,这极大的增加,拓展了我们的知识视野。在这近半个月的大家协同生活中,我看到了我们集体中每一个 人所付出的努力和辛苦,也让我体会到团队精神得难能可贵,集体力量的强大。这都是我学到的,我想会不久,我们迈出校门时会体 会到这些知识和能力的价值的。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!