




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计训练 报 告 (附源码) 题 目 学生成绩管理系统 学生姓名 学生学号 专业班级 指导老师 2012 年 7 月 目 录 一、设计目的要求一、设计目的要求.1 二、设计功能简介二、设计功能简介.1 三、本人工作三、本人工作.2 四、详细设计方案四、详细设计方案.2 1.1.需求分析需求分析 .2 2.2.模块详细设计模块详细设计 .2 (1)(1)模块功能模块功能.2 (2 2)定义函数功能说明)定义函数功能说明.4 (3 3)模块算法流程图)模块算法流程图.6 3.3.核心模块源程序核心模块源程序 .10 4.4.实验结果实验结果 .16 五、使用说明五、使用说明.21 六、程序设计心得体会六、程序设计心得体会.21 七、附录七、附录.22 附录附录 1:1:参考文献参考文献 .22 附录附录 2 2:主要变量及自定义函数:主要变量及自定义函数 说明说明.22 附录附录 3 3:源程序代码:源程序代码 .22 一、设计目的要求一、设计目的要求 通过通过 C C 语言程序设计这门课程,我想,我们应该达到的目的语言程序设计这门课程,我想,我们应该达到的目的 与要求应该有以下内容:与要求应该有以下内容: 1.在编辑应用程序过程中,逐步加深对 C 语言编程的理解, 掌握结构化程序设计的基本思路和方法; 2.加强实践的能力,动手能力,同时进一步对所学的知识进 行巩固,为以后的学习奠定基础; 3.增强学生我们利用自己所学知识解决实际问题的能力 4.掌握书写程序设计说明文档的能力 二、设计功能简介二、设计功能简介 本程序针对登录系统的不同身份(有管理员、学生两个身份)本程序针对登录系统的不同身份(有管理员、学生两个身份) 有不同的功能。管理员的功能有以下几个:有不同的功能。管理员的功能有以下几个: 1.管理用户:其中包括浏览用户、增添用户、修改用户、删 除用户四个功能; 2.管理成绩:其中包括浏览成绩、增添成绩、修改成绩、删 除成绩、成绩排序五个功能; 3.个人密码修改。 学生的功能有:学生的功能有: 1.查看成绩:其中可直接查看各科成绩,也可查看单科、总 分成绩的排名; 2.查看个人信息: 3.修改个人密码。 三、本人工作三、本人工作 虽然编程本身是一件辛苦的事,但作为一个爱好电脑学科的 我来说,并不在意。我在这个系统上,花了两天时间。为了这个 系统,我反复查资料,调试,纠错最终完成了这整个系统。 四、详细设计方案四、详细设计方案 1.1.需求分析需求分析 为了管理员能方便了解、管理班上学生的成绩与其他信息, 也 同时为了学生能够自主查询自己的成绩的具体情况与其他信息且 不能查看别人的私密信息,设计了这个学生成绩管理系统。此系 统能对相关信息进行录入、查询、显示、修改并保存在 user.dat 和 score.dat 这两个文件里。 2.2.模块详细设计模块详细设计 (1)(1)模块功能模块功能 管理员:管理员: 浏览成绩(SurfScore():可以浏览已经录入系统的所有成绩 增添成绩(AddScore():可以添加学生的成绩 修改成绩(ReviseScore():对已录入系统的成绩进行修改 删除成绩(DelSocre():通过提供姓名和 ID 号,删除对应成 绩 排名(OutPut():管理员可以选择科目,对相应成绩进 行排序(用冒泡排序法实现) ,也输出对应科目的没及 格人数和及格率 浏览用户(SurfUser():浏览所有的用户信息 增添用户(AddUser():增添用户信息,并提供以后用户 登录依据,每个用户拥有唯一的 ID 号 修改用户(ReviseUser():管理员可以通过此功能修改 任何用户的资料,包括密码 登录登录 管理员学生 管理用户管理成绩修改密码查看成绩查看个人信息修改个人密码 浏览成绩 增添成绩 修改成绩 删除成绩 浏览用户 增添用户 修改用户 删除用户 直接查看 成绩排名 删除用户(DeleteUser():通过姓名和唯一 ID 号,删除 对应用户资料 密码修改(ReviseSecre():管理员仅可以修改自己的登 录密码 学生:学生: 查看成绩(ChaScore():学生只能查看各科成绩,不能查看 名次 成绩排名(OutPut():学生只能在此查看自己的成绩,和对 应科目的排名 查看个人信息(ChaInfo():学生只能查看自己的个人信息 修改个人密码(ReviseSecre():这和管理员用的同一函数, 只能修改自己的密码 (2 2)定义函数功能说明)定义函数功能说明 结构体说明:结构体说明: struct userinfo char id5; /学生的学号,或教职工的工号 char name10; /姓名 char secre7; /密码 char sex1; /性别 int flag; /权限标识 1 为管理员 2 为学生 char year5; /注册时间 user; struct score char name10; char id5; int scor5; /保存 5 单科成绩 float ave; /平均分 int all; /5 单科成绩总分 ; 全局变量说明:全局变量说明: int cho:用于用户在各个界面的选项 struct g_user:在各个函数中,根据登陆者的 信息,实现某些功能输出一些信息 在结构体 struct 中也定义了全局变量 user 自定义函数、变量说明自定义函数、变量说明 身份自定义函数功能说明变量 Welcome() 清屏,界面欢迎条 Delay() 暂停 Login() 登录 ChuShiHua() 第一次运行判断文件存在性, 调用增添用户模块 PaiXu() 为 OutPut 提供排序参数 OutPut() 成绩排名,但针对不同身份, 输出不同 n 记录用户个数、k 标记 有无记录、p 记录不及格 人数、xz 记录排序科目 公用 ReviseSecre() 修改自己的密码 code7、secre7记录 两个密码,判断是否相同 SurfUser() SurfUser()为浏览用户模块, 需调用 SurfUser1()输出信息 AddUser() 增添用户,需调用 Identy()提 供身份 tempflag 记录临时身份、 c 判断用户选择、 tempsecre7判断两次密 码是否相同 ReviseUser() 修改用户资料 结构体 temp 记录修改后 的资料 管理员 DeleteUser() 提供要删除的用户信息,调用 DeleteUser1()删除 name10,id5两者 记录要删除的信息 SurfScore() 调用 SurfScore1()输出信息 身份自定义函数功能说明变量 AddScore() 增添成绩信息 cjmaxuser临时记录 要储存的成绩信息 ReviseScore() 修改成绩信息 temp 记录选择科目、 score 记录成绩管理员 DelScore() 删除成绩,需调用 SurfScore1()浏览成绩 struct score stumaxuser将文件 信息全读入内存 ChaScore1() 直接查看成绩,需调用 ChaScore()输出信息 struct score one 读 入每个人的成绩,判 断 学生 ChaInfo() 只输出自己的信息 (3 3)模块算法流程图)模块算法流程图 开始开始 判断 user.dat 存 在 F 登录 增添用户Y g_user.flag=1 g_user.flag=2 管理员界面 学生界面 F Y Y 总图 管理员界 面 管理用户界面 Y cho=1 F cho=2 F 管理成绩界面 Y cho=3 F 修改密码 Y cho=0 结束结束 Y F 管理员管理员_ _菜单菜单 菜单的流程图都与管理员管理员_ _菜单菜单类似,就不在画菜单的流程图了。 Y Y Y Y Y cho =0 结结 束束 Y 管理员_增加用户 增加用 户 输入信息 判断 ID 存 在 询问保存 打开文件,保 存 继续添加用户 管理员菜 单 Y N Y Y Y N N 学生个人信 息查询 打开文件 查找与登录 人 ID 号相 同的个人资 料 输出个人信息 学生界面 学生个人信息查询 学生成绩查询查询 与此类似,不再画了。 管理员_删除用户 修改用户 选择被修改人 输入修改 后的信息 浏览用户 判断 ID 存在 打开文件 保存 用户管 理界面 Y N 管理员_修改用户 管理员的成绩管理下的功能与用户管理下的功能十分类似,就不在画成绩管理下 功能的流程图了。 删除用户 选择被删除人 浏览用户 判断存在要 删除的人 打开文件 删除 管理用 户界面 输出排名 备注:查看成绩界面是学生用 的、成绩管理界面管理员用 管理员、学生_修改密码 3.3.核心模块源程序核心模块源程序 登录模块:登录模块: void Login() FILE *fp; 修改密码 读取用户信息 寻找 输入两次密码 两次密码相同 读取用户信息、 修改与登录身份 相同的人的密码 g_user.flag=1 学生界面 管理员界面 OutPut() 选择排名科目 读取成绩信息 冒泡排序法排序 g_user.flag=1 输出所 有排名 成绩管理界面 输出登录人 成绩排名 查看成绩界 面 int j=0; Welcome(); g_user.flag=0; printf(请登录:nn 姓名:); scanf(%s,g_); printf(密码:); while(g_user.secrej=getch()!=r) /读取一个不在屏幕上显示的字符, 如果该字符不为回车执行下面的内容 if(g_user.secrej=b) /如果是退格 printf(b b); /退格,但没有消除* j-; else printf(*); /打印* j+; g_user.secrej=0; /最后加结尾符 fp=fopen(user.dat,ab+); fseek(fp,0L,SEEK_SET); while(!feof(fp) fseek(fp,0L,SEEK_CUR); fscanf(fp,%s%s%s%s%d%s,,user.id,user.sex,user.year, if(!strcmp(g_,) strcpy(g_user.id,user.id); break; if(g_user.flag=0) Welcome(); printf(对不起,用户名与密码不匹配!); printf(nn1.重新登录n2.退出nn 请选择:); scanf(%d, if(cho=1) Login(); else exit(0); fclose(fp); switch(g_user.flag) case 1:Manager(); /管理员界面 break; case 2:Student(); /学生界面 break; 增加用户模块:增加用户模块: void AddUser() /添加用户 char a7,c; struct userinfo one; int tempflag; FILE *fp; user.flag=0; Welcome(); printf(温馨提示:n1.ID 为四位数n2.密码最多为 6 位n3.填写性别时,1 代 表女,2 代表男n4.权限 1 为管理员,2 为学生n); printf(请填写以下信息:nn 姓名:); scanf(%s,); printf(ID 号:); scanf(%s,user.id); fp=fopen(user.dat,ab+); fseek(fp,0L,SEEK_SET); while(!feof(fp) fseek(fp,0L,SEEK_CUR); fscanf(fp,%s%s%s%s%d%s,,one.id,one.sex,one.year, if(!strcmp(one.id,user.id) printf(该 ID 号已有人使用!请另换!n 按任意键继续); getchar(); AddUser(); fclose(fp); printf(注册时间:); scanf(%s,user.year); printf(请输入密码:); scanf(%s,user.secre); printf(请确认密码:); scanf(%s,a); if(strcmp(a,user.secre) /判断两次密码是否相同 printf(两次密码不一致!n 按任意键重新填写n); getchar(); AddUser(); printf(性别:); scanf(%s,user.sex); getchar(); /对付回车 if(g_user.flag=-1) tempflag=1; else Welcome(); tempflag=Identy(); printf(请确认你的信息:nn); printf(姓名ttID 号tt 性别tt 注册时间t 身份n); printf(%stt%stt%stt%stt%d,,user.id,user.sex,user.year,te mpflag); printf(nn 保存吗?(Y/N)); if(g_user.flag=1) getchar(); scanf(%c, getchar(); if(c=Y|c=y) fp=fopen(user.dat,ab+); if(fp=NULL) printf(文件打开失败!); fprintf(fp, %s %s %s %s %d %s,,user.id,user.sex,user.year,tempflag,user.secre); fclose(fp); if(g_user.flag=-1) Login(); printf(n 继续添加用户吗?(Y/N)); scanf(%c, if(c=Y|c=y) AddUser(); else ManageUser(); 修改用户模块:修改用户模块: void ReviseUser() struct userinfo usermaxuser,temp; char tempid5,tempname10,a7; int i,n,flag,k=0,pd=0; FILE *fp; SurfUser1(); printf(请输入要修改用户的姓名和 ID 号:nn); printf(姓名:); scanf(%s,tempname); printf(ID 号:); scanf(%s,tempid); fp=fopen(user.dat,ab+); fseek(fp,0L,SEEK_SET); for(i=0;imaxuser;i+) fscanf(fp,%s%s%s%s%d%s,,useri.id,useri.sex,useri.year, if(feof(fp) break; fclose(fp); n=i; Welcome(); printf(温馨提示:n1.ID 号为四位数;n2.密码最多为 6 位;n3.填写性别时, 1 代表女,2 代表男;n4.权限 1 为管理员,2 为学生;n); printf(5.设置不符合要求可能会直接退出界面。nn); printf(请重新输入该用户的全部信息:); printf(nn 姓名:); scanf(%s,); printf(ID 号:); scanf(%s,temp.id); pd=PanDuan(temp.id); if(pd=1) printf(对不起,该 ID 以有人使用,请另换!n 按任意键重来); Delay(); ReviseUser(); printf(注册时间:); scanf(%s,temp.year); printf(输入密码:); scanf(%s,temp.secre); printf(确认密码:); scanf(%s,a); if(strcmp(a,temp.secre) /判断两次密码是否相同 printf(两次密码不一致!n 按任意键重来n); getchar(); ReviseUser(); printf(性别:); scanf(%s,temp.sex); temp.flag=Identy(); getchar(); fp=fopen(user.dat,wb+); for(i=0;i=n;i+) if(!strcmp(tempname,) strcpy(useri.id,temp.id); strcpy(useri.sex,temp.sex); strcpy(useri.year,temp.year); strcpy(useri.secre,temp.secre); useri.flag=temp.flag; k=1; fprintf(fp, %s %s %s %s %d %s,,useri.id,useri.sex,useri.year,useri.flag,useri.s ecre); fclose(fp); if(k=1) printf(修改成功!n 按任意键返回上一层菜单); else printf(对不起,姓名与 ID 号不一致!n 修改失败!n 按任意键返回); getchar(); ManageUser(); 4.4.实验结果实验结果 登录 管理员主菜单 确定添加用户 删除用户 浏览用户 确定添加成绩 浏览成绩 管理员查看排名 管理员修改成绩 学生主菜单 学生查看排名 五、使用说明五、使用说明 本程序在 Dev C+里编写运行而成。虽有登录界面,但第一次 使用时,会自动将第一使用者作为管理员。以后可以由管理员添加 管理员用户(身份为 1) 、学生用户(身份为 2) 。添加完成之后,这 些用户信息将保存在同目录的 user.dat 这个文件下。同理,成绩只 有管理员能够进行添加、修改、删除,并把成绩信息保存在 score.dat 这个文件里。学生只有查看自己的个人信息和成绩排名 等信息。 六、程序设计心得体会六、程序设计心得体会 通过这次 C 语言的课程设计,我明白了很多也知道了很多, 更收获了很多。 自从确定了题目到完成整个题目,从理论到实践,不仅可以 巩固了以前所学过的知识,而且学到了很多在书本上所没有学到 过的知识。通过这次课程设计使我懂得了理论与实际相结合是很 重要的,只有理论和知识是远远不够的,只有把所学的理论知识 与实际相结合起来,才能提高自己的实际动手能力和独立思考能 力。同时,我也感受到了编程是一项非常烦琐周密的活动,他不 但需要一个人周密的思考问题的能力,处理问题的能力,还需要 有足够的耐心和严谨治学的作风,来不得半点马虎。 通过本次课程设计,我也初步学会了论文设计的基本方法, 学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整 合处理这些资料的能力,它使我更加地体会到多看专业书的重要 性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题。 另外,在做任何事倒要有耐心,不要一遇到困难就退缩。 做完这个题目,信心有所提高。再难的的题目,再浩大的代 码堆,也可以设法把他完成。完成之后的喜悦感更是无比美妙! 七、附录七、附录 附录附录 1:1:参考文献参考文献 C 语言程序设计基础与项目实训 C 语言程序设计教程 附录附录 2 2:主要变量及自定义函数主要变量及自定义函数 说明说明 附录附录 3 3:源程序代码源程序代码 #include #include #include #include #include #define maxuser 100 /定义最大用户数量 struct userinfo char id5; /学生的学号,或教职工的工号 char name10; /姓名 char secre7; /密码 char sex1; /性别 int flag; /权限标识 1 为管理员 2 为学生 char year5; /注册时间 user; struct score char name10; char id5; int scor5; /保存 5 单科成绩 float ave; int all; ; int cho; struct userinfo g_user; void AddUser(); /增添新用户 void ChuShiHua(); /初始化程序,初始管理员的信息 用户名:管理员 密码 void Welcome(); /程序最上面的欢迎条 void Login(); /登陆 int Identy(); /身份确定 void Manager(); /管理员界面 void Student(); /学生界面 void SurfUser(); /浏览用户 void ManageUser(); /管理用户 void ReviseUser(); /修改用户信息 void DeleteUser(); /提供将要删除用户的信息 void SurfUser1(); /删除用户前浏览用户信息 void DeleteUser1(char name,char id); /删除用户 void ManageScore(); /管理成绩界面 void AddScore(); /增添成绩 void ReviseScore(); /修改成绩 void DelScore(); /删除成绩 void SurfScore(); /浏览成绩 void SurfScore1(); /修改删除成绩前浏览成绩 int PaiXu(); /提供排序的参数 void OutPut(); /针对不同的身份对排序进行不同输出 void ReviseSecre(); /修改密码 void ChaInfo(); /查看个人信息 void ChaScore(); /学生查看成绩 void ChaScore1(); /查看成绩选项 void Delay(); /延迟 int PanDuan(char tempid7); /判断 ID 号是否已用 main() ChuShiHua(); Login(); void ChuShiHua() /第一次使用,初始化 if(access(user.dat,0) g_user.flag=-1; AddUser(); void Delay() /延迟 getchar(); getchar(); void Welcome() system(cls); printf(*欢迎来到学生成绩管理系统!*nnn); void Login() /登录 FILE *fp; int j=0; Welcome(); g_user.flag=0; printf(请登录:nn 姓名:); scanf(%s,g_); printf(密码:); while(g_user.secrej=getch()!=r) /读取一个不在屏幕上显示的字符,如果该字符不 为回车执行下面的内容 if(g_user.secrej=b) /如果是退格 printf(b b); /实现退格 j-; else printf(*); /打印* j+; g_user.secrej=0; /最后加结尾符 fp=fopen(user.dat,ab+); /打开文件,判断当前登陆者能否进入系统 fseek(fp,0L,SEEK_SET); while(!feof(fp) fseek(fp,0L,SEEK_CUR); fscanf(fp,%s%s%s%s%d%s,,user.id,user.sex,user.year, if(!strcmp(g_,) strcpy(g_user.id,user.id); break; if(g_user.flag=0) Welcome(); printf(对不起,用户名与密码不匹配!); printf(nn1.重新登录n2.退出nn 请选择:); scanf(%d, if(cho=1) Login(); else exit(0); fclose(fp); switch(g_user.flag) case 1:Manager(); /管理员界面 break; case 2:Student(); /学生界面 break; void AddUser() /添加用户 char a7,c; struct userinfo one; int tempflag; FILE *fp; user.flag=0; Welcome(); printf(温馨提示:n1.ID 为四位数n2.密码最多为 6 位n3.填写性别时,1 代表女,2 代表男 n4.权限 1 为管理员,2 为学生n); printf(请填写以下信息:nn 姓名:); scanf(%s,); printf(ID 号:); scanf(%s,user.id); fp=fopen(user.dat,ab+); fseek(fp,0L,SEEK_SET); while(!feof(fp) fseek(fp,0L,SEEK_CUR); fscanf(fp,%s%s%s%s%d%s,,one.id,one.sex,one.year, if(!strcmp(one.id,user.id) printf(该 ID 号已有人使用!请另换!n 按任意键继续); getchar(); AddUser(); fclose(fp); printf(注册时间:); scanf(%s,user.year); printf(请输入密码:); scanf(%s,user.secre); printf(请确认密码:); scanf(%s,a); if(strcmp(a,user.secre) /判断两次密码是否相同 printf(两次密码不一致!n 按任意键重新填写n); getchar(); AddUser(); printf(性别:); scanf(%s,user.sex); getchar(); /对付回车 if(g_user.flag=-1) tempflag=1; else Welcome(); tempflag=Identy(); printf(请确认你的信息:nn); printf(姓名ttID 号tt 性别tt 注册时间t 身份n); printf(%stt%stt%stt%stt%d,,user.id,user.sex,user.year,tempflag); printf(nn 保存吗?(Y/N)); if(g_user.flag=1) getchar(); scanf(%c, getchar(); if(c=Y|c=y) fp=fopen(user.dat,ab+); if(fp=NULL) printf(文件打开失败!); fprintf(fp, %s %s %s %s %d %s,,user.id,user.sex,user.year,tempflag,user.secre); fclose(fp); if(g_user.flag=-1) Login(); printf(n 继续添加用户吗?(Y/N)); scanf(%c, if(c=Y|c=y) AddUser(); else ManageUser(); int Identy() int i; Welcome(); printf(请选择该人的身份:); printf(n1.管理员n2.学生nn 请选择:); scanf(%d, switch(cho) case 1:i=1; break; case 2:i=2; break; default:Identy(); return i; void Manager() Welcome(); printf(1.管理用户n2.管理成绩n3.修改密码n4.查看个人信息n0.退出); printf(nn 请选择:); scanf(%d, switch(cho) case 1:ManageUser(); break; case 2:ManageScore(); break; case 3:ReviseSecre(); break; case 4:ChaInfo(); case 0:exit(0); default:Manager(); void Student() Welcome(); printf(1.查看成绩n2.查看个人信息n3.修改个人密码n0.退出); printf(nn 请选择:); scanf(%d, switch(cho) case 1:ChaScore1(); break; case 2:ChaInfo(); break; case 3:ReviseSecre(); break; case 0:exit(0); default:Student(); void ManageUser() Welcome(); printf(1.浏览用户n2.增添用户n3.修改用户n4.删除用户n0.返回); printf(nn 请选择:); scanf(%d, switch(cho) case 1:SurfUser(); break; case 2:AddUser(); break; case 3:ReviseUser(); break; case 4:DeleteUser(); break; case 0:Manager(); default:ManageUser(); void SurfUser() SurfUser1(); printf(按任意键返回上一级菜单); Delay(); ManageUser(); void ReviseUser() struct userinfo usermaxuser,temp; char tempid5,tempname10,a7; int i,n,flag,k=0,pd=0; FILE *fp; SurfUser1(); printf(请输入要修改用户的姓名和 ID 号:nn); printf(姓名:); scanf(%s,tempname); printf(ID 号:); scanf(%s,tempid); fp=fopen(user.dat,ab+); fseek(fp,0L,SEEK_SET); for(i=0;imaxuser;i+) fscanf(fp,%s%s%s%s%d%s,,useri.id,useri.sex,useri.year, if(feof(fp) break; fclose(fp); n=i; Welcome(); printf(温馨提示:n1.ID 号为四位数;n2.密码最多为 6 位;n3.填写性别时,1 代表女,2 代 表男;n4.权限 1 为管理员,2 为学生;n); printf(5.设置不符合要求可能会直接退出界面。nn); printf(请重新输入该用户的全部信息:); printf(nn 姓名:); scanf(%s,); printf(ID 号:); scanf(%s,temp.id); pd=PanDuan(temp.id); if(pd=1) printf(对不起,该 ID 以有人使用,请另换!n 按任意键重来); Delay(); ReviseUser(); printf(注册时间:); scanf(%s,temp.year); printf(输入密码:); scanf(%s,temp.secre); printf(确认密码:); scanf(%s,a); if(strcmp(a,temp.secre) /判断两次密码是否相同 printf(两次密码不一致!n 按任意键重来n); getchar(); ReviseUser(); printf(性别:); scanf(%s,temp.sex); temp.flag=Identy(); getchar(); fp=fopen(user.dat,wb+); for(i=0;i=n;i+) if(!strcmp(tempname,) strcpy(useri.id,temp.id); strcpy(useri.sex,temp.sex); strcpy(useri.year,temp.year); strcpy(useri.secre,temp.secre); useri.flag=temp.flag; k=1; fprintf(fp, %s %s %s %s %d %s,,useri.id,useri.sex,useri.year,useri.flag,useri.secre); fclose(fp); if(k=1) printf(修改成功!n 按任意键返回上一层菜单); else printf(对不起,姓名与 ID 号不一致!n 修改失败!n 按任意键返回); getchar(); ManageUser(); void DeleteUser() char id5,name10; SurfUser1(); printf(请输入要删除用户的姓名和 ID 号:nn); printf(姓名:); sca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年地铁维修考试试题及答案
- 山东单招物理试题及答案
- 安徒生故事测试题及答案
- 投资岗位笔试题库及答案
- 2025年绵阳中学初中题库及答案
- 化学实验探究能力(设计验证性实验)水平测评试题
- 化学常数(如NA)记忆与应用试题
- 古代厨师的考试题及答案
- 公卫助理考试题及答案
- 2025年安徽国企笔试真题及答案
- T/CSWSL 002-2018发酵饲料技术通则
- 电气设备运行与检修-课件 实操课件 变压器分接开关调整
- 缺血性脑卒中静脉溶栓护理
- 珠宝营业员销售接待流程
- 纪检比武试题答案及
- 形体训练24课件
- INS+2024指南更新要点解读
- 输电线路水泥杆加固防腐施工方案
- 新版医疗器械管理制度零售单体药店
- 学校装饰装修工程施工方案
- 山体公园施工方案
评论
0/150
提交评论