




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计任务书计算机科学与技术专业年级班―、 设计题目教师信息管理系统设计二、 主要内容教师信息包括教师号、、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能:系统以菜单方式工作教师信息录入功能输入教师信息删除功能教师信息浏览功能 输出查询和排序功能:(至少一种查询方式)--算法按教师号查询按职称查询等具体要求围绕课程设计的目的和意义,基本要求如下:1、 认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、 快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、 快速熟悉TuberC或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。4、 根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。6.提供可运行的课程设计系统,参加上机面试答辩。本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。四、 进度安排依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。三个阶段时间分配的大概比例是:35:45:20。五、 完成后应上交的材料1.课程设计的题目、系统的总功能和各子模块的功能;2.题目的设计思想(或算法)简述;3.主要程序的框图(要求用N-S图);4.源程序代码(要求在关键的位置有注释,从而增加程序的可读性);5.课程设计的总结报告,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。以上完成的源程序及相关文档,填写在《课程设计说明书》上要求干净整洁,符合课程设计的要求和规范。六、 总评成绩指导教卿 签名日期 年月日系主任 审核日期 年月日目录—•题目设计思想简述・5二•程序的N—S图・72.1总程序的N—S图・72.2各子函数的N—S图・72.2.1教师信息录入函数・82.2.2教师信息浏览函数・82.2.3教师信息删除函数・92.2.4教师信息查询函数・92.2.5教师信息排序函数・10三•源程序代码・11四•程序运行效果图・334.1登陆界面・334.2菜单栏・334.3录入功能・344.4浏览功能・344.5删除功能・354.6查询功能・354.7排序功能・36五•总结报告・375.1课程设计中遇到的主要问题和解决方法・375.2你的创新和得意之处・375.3设计中存在的不足及改进的设想・375.4本次课程设计的感想和心得体会・38□如上图所示,该教师信息管理系统主要是一个以动态链表的应用为基础来实现对教师信息的录入,查询,删除等功能。定义教师结构体如下:structteacher{longnum;//教师号charname[20];//charsex[5];〃性别intage;//年龄charedu[20];〃学历chartitle[20];〃职称longwage;//工资charaddr[100];//地址chartelep[15];//structteacher*next;}*head=NULL;主函数只进行口令函数和菜单栏函数的调用,主要工作通过菜单函数实现。口令为123456。菜单栏函数通过用switch语句实现不同功能的选择,不同的功能用不同的子函数实现。录入教师信息通过建立动态单链表来实现。浏览教师信息则通过将链表所有数据顺序输出来实现。查询功能只要从链表头开始不断往下一个结点读取信息跟所要查找的信息比较,直到读取到的信息跟所要查找的信息相同或链表尾为止,并把此结点的信息输出。删除教师信息的函数是通过查找链表中有该信息的结点后将该结点移出链表,即使该结点前一个结点直接指向该结点后面的结点来达到删除信息的目的
排序函数是通过交换结点在链表中的位置来实现的,即使得各结点在链表中的位置便是所要得到的排序该信息应在的位置,这样直接顺序输出链表的信息时就能按所要的排序输出了。程序的N—S图2・1总程序的N—S图
说明:各功能都是通过调用子函数来实现的。2・2各子函数的N—S图子函数主要包括教师信息录入,教师信息浏览,教师信息删除,教师信息查询和教师信息排序等5个。在退出系统时调用了一个保存信息到文件中的函数,该函数只是简单的应用了文件的读写功能,在此不写出其N—S图。2・2・1教师信息录入函数pl=(structteacher*)malloc(LEN)输入一个教师号p1->num教师号为0^ ——F链表 一——Head=P1p3=head当p3->next不为空p3=p3->nextp3->next=p1当教师号不为o输入教师的姓名,性别,年龄,学历,职称,月薪,住址,电话n=n+1第一个^入^^^^—
head=pl p2->next=plp2=plp1=(structteacher*)malloc(LEN)
输入一个教师号p1->nump2->next=NULL说明:p1=(structteacher*)malloc(LEN)中LEN是在程序开头的宏定义(#defineLENsizeof(structteacher))。其中n为全局变量,用来统计链表的结点数,以下出现的n都是同一个。2.2.2教师信息浏览函数p=head链表头为空显示“还未录入过信息”输出p所指向的位置中的教师的所有信息p=p->next直到p为空说明:实际程序中在链表头为空是提供了可以浏览之前保存在文件中的信息的功能,当选择该功能时就调用了一个读取文件的函数该函数只是对文件读写的简单应用,详细请看后面第三部分代码,这里不写出其N-S图数输入要删除教师信息的教师号ip1=head出还录过师输“未入教当数输入要删除教师信息的教师号ip1=head出还录过师输“未入教当i!=p1->num2.2.4教师信息查询的函数在查询方面程序为用户提供了4种不同方式的查询,每一种方式j=0的查询为一个子函数,此时也是采用一个菜单栏函数进行选择查询方式并调用该种方式的函数。菜单栏函数跟主程序菜单栏的算法一样,此处只给出查询函数的N—S图。链表头为空输出“还未录入程序”并退出函数输入要查找的教师信息的对应方法的对应数据ip=head当p非空时跟p中对应信息不等输出p所指向的位置的教师的所有信息j=j+ip=p->next
说明:该N—S图是对应姓名,教师号,职称,年龄四种查找方式的函数的。当选择教师号查找时,输入i的即为教师号,与i做比较的为p中的教师号,选择其他查找方式时类似。2.2.5教师信息排序函数排序也跟查询一样给出多种排序方式并采用菜单栏函数,此处也只输出“还未录入过教师信息”并退出函数'''^-.第二个结点为空Fpl=headp2=head->next给出排序函表的不为空图。说明:p1,p2指向的结点用来比较,p3,p4是用来记录结点的,当选用的排序方式不同,p1,p2用来比较的信息为所选方式的信息。三.源程序代码#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#defineLENsizeof(structteacher)〃宏定义结构体字节数intn=0;structteacher〃定义结构体{longnum;//教师号charname[20];//charsex[5];〃性别intage;//年龄charedu[20];//学历chartitle[20];//职称longwage;//工资charaddr[100];//地址chartelep[15];//structteacher*next;//扌旨向下一个结点}*head=NULL;voidkey()//口令检查的函数inti;longa;for(i=0;i<3;i++){printf(”请输入口令(还可输入%d次):\n",3-i);scanf("%ld",&a);if(a==123456)〃检查口令是否正确{printf("欢迎进入系统\n");break;}elseprintf(”口令错误\n");}if(i==3)〃判断可以输入口令的次数是否用完{printf(”可使用的口令输入次数已用完,将自动退出!\n");exit(0);}}voidsave()〃把数据存入文件的函数FILE*fp;inti;charfilename[20];structteacher*p;printf("\n是否把此次登录系统录入和修改后的教师信息保存到文件中\n");printf(" 1:【是】0【否】\n请选择:");scanf("%d",&i);while((i!=0)&&(i!=1))//判断输入的选择是否有效{printf(”选择无效,请重新输入正确选项:");scanf("%d",&i);}if(i==1)//判断是否选择了要保存{printf("\n请输入要保存数据的文件名:");scanf("%s",filename);if((fp=fopen(filename,"wb"))==NULL)printf("\n无法打开文件\n");exit(0);}for(p=head;p!=NULL;p=p->next)if(fwrite(p,sizeof(structteacher),1,fp)!=1)
printf("\n此处数据有误\n");fclose(fp);}exit(0);}voidread()〃从文件读出数据的函数{structteacherteach[299],temp;inti=0;FILE*fp;charfilename[20];printf("\n请输入存有教师信息的文件名:");scanf("%s",filename);if((fp=fopen(filename,"rb"))==NULL){printf("\n无法打开文件\n");exit(0);}fseek(fp,-sizeof(structteacher),2);/*将位置指针从文件末尾后退一个结构体的字节数*/fread(&temp,sizeof(structteacher),1,fp);/*从所指向的文件中读出数据存储到结构体变量temp中*/fseek(fp,0,0);//将位置指针移到文件的开头if(fread(&teach[i],sizeof(structteacher)丄fp)==1)/*判断文件开头读入的数据是否为空*/{printf("\n存有的教师信息如下:\n");while(teach[i].num!=temp.num)〃进行循环读取文件{printf(”教师号:%ld,:%s性别:%s,年龄:%d,学历:%s,",teach[i].num,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);printf("职称:%s\n 月薪:%ld,住址:%s,:%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);i=i+1;fread(&teach[i],sizeof(structteacher)丄fp);/*从文件中读入数据存储到结构体变量teach【i】中*/}//输出文件中的最后一个信息printf(”教师号:%ld,:%s性别:%s年龄:%d,学历:%s,",teach[i].num,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);printf("职称:%s\n 月薪:%ld,住址:%s,:%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);fclose(fp);}elseprintf("该文件中无教师信息\n");//文件为空时输出此处}voidcreat()//录入教师信息的函数{structteacher*p1,*p2,*p3;p1=p2=(structteacher*)malloc(LEN);/*申请一个结构体字节数的空间用来存储一个教师的信息*/printf(”请输入一位教师的教师号(结束录入请输入0):”);scanf("%ld",&p1->num);if(p1->num!=0)〃判断用户是要结束录入还是要存储信息if(head==NULL)head=p1;/*判断链表是否为空,是则将链表头指向p1*/else〃链表不为空则将链表尾指向p1{p3二head;//p3用来记录链表的尾部while(p3->next!二NULL)/*若p3不是链表尾则将p3指向下一个结点*/p3=p3->next;p3->next=p1;//将最后一个结点指向p1}while(p1->num!=0)//判断用户是否结束录入功能{//录入该教师号的教师对应的信息printf(":");scanf("%s",p1->name);printf("性别:");scanf("%s",p1->sex);printf(”年龄:");scanf("%d",&p1->age);printf("学历:”);scanf("%s",p1->edu);printf("职称:");scanf("%s",p1->title);printf("月薪:");scanf("%ld",&p1->wage);printf("住址:");scanf("%s",p1->addr);printf(":");scanf("%s",p1->telep);n二n+1;〃给统计录入的教师数n加一/*判断是否为第一个录入的信息,是则将链表头指向p1,否则将p2指向p1*/if(n==1)head=p1;elsep2->next=p1;p2=p1;//p2用来记录链表的最后一个结点p1=(structteacher*)malloc(LEN);〃重新申请空间printf(”请输入一位教师的教师号(结束录入请输入0):");scanf("%ld",&p1->num);}p2->next二NULL;//将最后一个结点指向空}voidprint()//输出教师信息的函数{structteacher*p;inti;p=head;if(head!二NULL)//判断链表是否为空{printf("\n这%d位教师的信息为:\n",n);do{printf(”教师号:%ld,:%s性别:%s,年龄:%d学历:%s职称:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址%s,:%s\n",p->wage,p->addr,p->telep);p二p->next;〃将下一个结点的首地址赋给p}while(p!二NULL);//到链表尾时结束循环}else//链表为空时执行以下部分{printf("\n你此次登录系统还没有录入教师信息,可进行以下操作:\n");printf(" 1:【浏览以前保存在文件中的教师信息】2:【开始录入教师信息】\n");printf(" 3:【退出系统】4【返回菜单】\n");printf(”请选择:");scanf("%d",&i);while((i<1)&&(i>4)){printf(”选择无效,请重新输入正确选项:");scanf("%d",&i);if(i==1)read();〃调用从文件读取数据的函数if(i==2)creat();〃调用录入信息的函数if(i==3)exit(O);//退出系统}}voiddel()//删除教师信息的函数{structteacher*p1,*p2;longi;if(head二二NULL)//判断链表是否为空{printf("\n还未录入过教师信息\n");//链表为空时输出return;}printf(“请输入要删除教师信息的教师号:");scanf("%ld",&i);p1=head;while(i!=p1->num)//直到p1指向的结点是要删除的信息位置if(p1->next==NULL)break;//p1的下个结点为空则退出循p2二p1;//p2用来记录pl的前一个结点p1=p1->next;//p1指向下一个结点}if(i二二p1->num)〃判断pl是否为要删除的信息{if(p1二二head)head二p1->next;/*若p1为头结点则将头指针指向p1的下一个结点*/elsep2->next=p1->next;/*p1非头结点则将p1后面的结点连接到p1前一个结点的后面*/printf("\n已删除教师号为%ld的教师信息\n",i);n=n-1;//记录教师数的n要减一}//p1不是要删除的信息则表示要删除的信息不再链表中elseprintf("\n已录入的教师信息中没有教师号为%ld的\n",i);return;}voidsort1()//按教师号进行排序的函数{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n还未录入过教师信息\n");return;}if(head->next!=NULL)//判断是否只有一个信息{//用冒泡法排序p1=head;//p1记录用来比较的两个结点中的前面一个p2=head->next;//p2记录比较的两个结点中的后面个for(i=1;i<n;i++)〃实现n-1趟比较的外循环{for(j=O;j<n-i;j++)〃在每一趟中进行n-i次比较的内循环{if(p1->num>p2->num)/*比较相邻两个结点中教师号大小*/{//当p1的教师号大时则对调两个结点的位置if(p1==head)head=p2;elsep3->next=p2;/*p1为头结点时则将头指针指向p2,否则就将p2连接到用来记录pl前一个结点的p3的后面*/p4二p2->next;//p4用来记录p2后面的结点p2->next二p1;//p1的结点换到原来p2的位置p1->next=p4;//原来p2后面的结点连接到p1p3=p2;//p3记录下p2的位置p2=p4;//p2指向原来位置的下一个结点}else/*p1中教师号没有打过p2中教师号,则将p1,p2都指向它们各自位置的下一个结点*/p3=p1;//记录p1后移一位后它前个结点的位p1=p2;p2=p2->next;pl二head;//p1指向链表头,开始下一趟外循环的准备p2二p1->next;//p2指向链表第二个结点}}printf("\n按教师号排序后的教师信息如下:\n");print();〃调用教师信息浏览函数}voidsort2()//按月薪排序的函数,算法跟按教师号排序的一样{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n还未录入过教师信息\n");return;}if(head->next!=NULL)p1=head;for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(p1->wage>p2->wage){if(p1==head)head=p2;elsep3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;}else{p3=p1;p1=p2;p2=p2->next;}p1=head;p2=p1->next;}}printf("\n按月薪排序后的教师信息如下:\n");print();}voidsort3()〃按年龄排序的函数,算法跟按教师号排序的一样{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n还未录入过教师信息\n");return;{p1=head;p2=head->next;for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(p1->age>p2->age){if(p1==head)head=p2;elsep3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;}else
p3=p1;p1=p2;p2=p2->next;}}p1=head;p2=p1->next;}}printf("\n按年龄排序后的教师信息如下:print();}voidchoose1()〃选择排序方式的函数{inti;排序方式\n");排序方式\n");2:printf(" 1【:按教师号排序】【按年龄排序】\n");
printf("3printf("3【按月薪排序】\n");printf("请选择:”);scanf("%d",&i);while((i<1)||(i>3)){printf("选择无效,请重新输入正确选项:");scanf("%d",&i);}switch(i){case1:sort1();break;case2:sort3();break;case3:sort2();break;}}voidsearch1()〃按教师号查找的函数{structteacher*p;longi;〃存储用户输入的想要删除的教师号if(head==NULL){printf("\n还未录入过教师信息\n");return;}printf(”请输入要查找的教师信息的教师号:");scanf("%ld",&i);for(p=head;p!=NULL;p=p->next)〃p顺序指向结点与i比较,找出有i的数据的结点并输出if(p->num==i){printf(”教师号:%ld,:%s性别:%s,年龄:%d,学历:%s职称:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);return;}printf("已录入的教师信息中不存在该教师号\n");}voidsearch2()〃按姓名查找的函数{structteacher*p;chari[20];〃记录用户输入的想要删除的姓名intj=O;//j用来记录找到了多少个信息if(head==NULL){printf("\n还未录入过教师信息\n");return;}printf(”请输入要查找的信息的教师姓名:");scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,i)==0)〃比较p指向的结点中的姓名跟i的是否一致,是则输出{printf(”教师号:%ld,:%s性别:%s,年龄:%d,学历:%s职称:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址%s,:%s\n",p->wage,p->addr,p->telep);j二j+1〃每输出一个教师的信息贝打加一}if(j==O)printf("已录入的教师信息中不存在该姓名的教师\n");}voidsearch3()〃按职称查找的函数,算法与按姓名查找的一样{structteacher*p;chari[20];intj=0;if(head==NULL){printf("\n还未录入过教师信息\n");return;}printf("请输入要查找的信息的教师职称:");scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->title,i)==0)printf(”教师号:%ld,:%s性别:%s,年龄:%d,学历:%s职称:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);j=j+1;}if(j==0)printf("已录入的教师信息中不存在该职称的教师\n");}voidsearch4()〃按年龄查找的函数,算法与按教师号查找的一样{structteacher*p;inti,j=0;if(head==NULL){printf("\n还未录入过教师信息\n");return;}printf(”请输入要查找的信息的教师年龄:");scanf("%d",&i);for(p=head;p!=NULL;p=p->next)if(p->age==i){printf(”教师号:%ld,:%s性别:%s,年龄:%d学历:%s职称:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);j=j+1;}if(j==0)printf("已录入的教师信息中不存在该年龄的教师\n");}voidchoose2()〃选择查找方式的函数{inti;printf(” 查询方式\n");printf(" 1:【按教师号查询】2:【按姓名查询】\n");printf("3:printf("3:【按职称查询】4:【按年龄查询】\n");printf("请选择:”);scanf("%d",&i);while((i<1)||(i>4)){printf("选择无效,请重新输入正确选项:");scanf("%d",&i);}switch(i){case1:search1();break;case2:search2();break;case3:search3();break;case4:search4();break;}}voidmenu()〃菜单栏函数inti;
printf("菜单\n");printf("TOC\o"1-5"\h\zprintf(" 1【:教师信息录入】 2:【教师信息输出】\n");printf(" 3【:教师信息删除】 4:【查询个人信息】\n");printf(" 5【:排序】 6:【退出系统】\n");printf(”请选择:”);scanf("%d",&i);while((i<1)||(i>6)){printf(”选择无效,请重新输入正确选项:");scanf("%d",&i);}switch(i){case1:creat();break;case2:print();break;case3:del();break;case4:choose2();break;case5:choose1();break;case6:save();}menu();}voidmain()〃主函数{key();menu();}程序运行效果图4.1登陆界面1:g■卜•■百~9S3□El*4・2淞盂.iiiHipmcl&O'—■^jii^i-■THLIg.器456slsisA洲琢・EF課因刑甫尊-t-.BDebug\201o314124器兰-ex巴欧迎进人系统F ~—v v~—I■E;\.直程序悵程:5计回Debug\201■朗1^1241^!].exe'if迪揉;1请毓人一位教师的教师号(结朿录人请输加):S1:陈全|lgl=男高级教师3000怫山市程城区江湾一路“号H瞎人一位教师的教师号I结束录入请输入盼:a衆单4.4浏览功能J]岀息启A统吒-£■!」[[[31J
m息.1ZI启<疔叶为.-1[LFL本科卿二高级教师•»号•电话:34234233234:3423^233234口3>:Bju=it:3423123323d£^r:. I+站士'E:\JI程库鴉程没计\5\Debu/兀10214124陈金Hmxe"..- 云4.5删除功能11出巨帛工..G'InVJ岀罢退FLrL[2:4:6:嚟蚱早g:r11岀息f亠手工忌哉杳退[[[至甲U出息3
乍丁忌
[[[至单师信息的勒帀号:已删除勒帀号划的教师宿息TJTJ入除自3eli亠一石•一E1[[rL■■
一竿
二-
选
it4.6查询功能.T存至矗:刽.空亍:研士%.取萍:卜戸:广州白互耳电话:133-123«534荣单登再万匚I7T:\^J?\iM6SHA,5\Pebug>i2010314124S^ll.ewe1I.-/■-T1■£-_.-■1246135单举JJJ土氏¥41-.+卡1.“--F曲<100k.足:40「要:7薪择入号曰住-iu^U岀息自A综击工学In量峯耳rLrLfU、莘耳刊ft]邛用序K—[FLF4.7排序功能■ 'E:■■認轻序俩逞设计右\Debug\201Q3却丄朗底金Mbhc-ljrt'II..-I屮[LFLa-■-246a-■-135F■■■■・■--:9薪:5薪:7薪u-一戶匸」.戶」」”匸•[[13睪ij-人除汛田nr-nrW亠亍IT'irli4鬥k:i1SFJ?4|==>rft「懾牛1^私陀.-..屯.汽45:电:U|J:2表历32历1S历34录・・・-・.0-lc--rrO__餐捋」〔%-£.」-区」区爲焉兔址H二-哼市攜菖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年球形水晶玻璃珠项目可行性研究报告
- 2025年玉米罐头项目可行性研究报告
- 2025春新版五年级科学下册知识点寒假预习背诵版
- 江苏省海安八校联考2025届初三语文试题下学期第一次月考试题含解析
- 内蒙古财经大学《法语二》2023-2024学年第一学期期末试卷
- 辽宁轻工职业学院《电视新闻节目研究与实践》2023-2024学年第二学期期末试卷
- 商丘职业技术学院《康复医学实验》2023-2024学年第二学期期末试卷
- 吉林市重点中学2025年中考英语试题1-4月复习专号含答案
- 中国人民大学《外科护理学1》2023-2024学年第二学期期末试卷
- 湖州师范学院《计算机组成原理理论》2023-2024学年第二学期期末试卷
- 2025年国家粮食和物资储备局垂直管理系事业单位招聘笔试参考题库附带答案详解
- 《住院患者身体约束的护理》团体标准解读课件
- 2023-2024学年天津市部分区八年级(下)期中数学试卷(含解析)
- 医院侵害未成年人案件强制报告制度培训课件
- 集成电路芯片封装技术第2章ppt课件
- 《孟子》导读PPT课件
- 小区会所经营方案(开业投资分析)
- 国家自然科学奖评价指标
- 常用食物含铜量表
- (完整版)详细化学物质及其CAS注册号清单
- 科研与临床ppt课件
评论
0/150
提交评论