c语言实习报告
更新时间:2024-06-21 14:11:01 阅读量: 综合文库 文档下载
- c语言else报错推荐度:
- 相关推荐
中
国 地 质 大 学
本科生课程论文封面
课程名称 C语言程序设计 教师姓名: 邵老师 本科生姓名: 常标 本科生学号: 20091003439 本科生专业: 应用化学 所在院系: 材化学院
类别: C.本科生
日期: 2011 年 7 月 8 日
课程设计评语
对课程论文的评语:
平时成绩: 总 成 绩:
课程论文成绩: 评阅人签名: - 2 -
注:1、无评阅人签名成绩无效;
2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目 录
课程设计评语 .................................. - 2 - 目 录 ................................................ - 3 - 1.课程论文题目错误!未定义书签。 2.程序设计思路错误!未定义书签。 3.功能模块图 ..................................... 4 4.数据结构设计错误!未定义书签。 5.算法设计 ......................................... 5 6.程序代码 ...... 错误!未定义书签。 7.程序运行结果错误!未定义书签。
8.编程中遇到的困难及解决方法错误!未定
9.总结心得及良好建议错误!未定义书签。
- 3 -
10.致谢 ............ 错误!未定义书签。
一、课程论文题目
设计一个学生成绩管理系统,对在校某班学生几门课程的考试成绩进行统一管理。每个学生记录包括学号、姓名、年龄、数学、英语、物理成绩、总成绩,默认一学号为序存放。
(1)一个文件按一班为单位存储学生记录
(2)将允许的操作分为六种,以A、B、C、D、E、F为标志(若设置菜单操作更加)
A:插入一个新的学生记录(录入学生信息) B:修改学生记录 C:删除一个学生记录 D:登记成绩 E:修改成绩 F:浏览全班成绩 (3)计算学生的总成绩
(4)按学号排序输出全班成绩表
二、程序设计思路
根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入、
输出操作;在程序中需要浏览学生的信息,应提供显示、查找、排序操作;在登记成绩时,为了避免重复输入,应提供删除功能和避免重复输入的功能;另外还应提供键盘式选择菜单实现功能选择。根据以上分析,程序设计思路大致如下:
1、定义一个学生结构体,包含学生的所有信息。
2、编写主函数即menu,把一些功能函数加入到主函数中,由switch来调用不同的函数,从而实现不同的功能。同时在主函数中增加文件输入(fread)、输出(fwrite)功能函数。
3、编写各个功能函数。
4、最后,编译程序,检查程序逐步修改完善。
三、功能模块图
学生成绩管理系统
- 4 -
数据查找 成绩排序 数据输入 数据显示 数据插入
四、数据结构设计
由于学生是一个由多个信息组成的集合,所以要用结构体数组来存储学生的所有信息,方便整体修改和替换。 同时文件的输入输出都采用了指针的结构。
五、算法设计
1、主菜单函数,功能模块图 主函数main 输入函数IO_ReadInfo() 插修改函数 删除函数 排序函数 查找函数 显示函数 入函数Students_InsStudents_MoStudents_DStudents_SStudents_SeStudents_D ertdify() elete() ortByID() archByID() isplay() () 输出函数IO_Writefo() 其中6个函数的选择通过switch来实现,根据编者的选择来调用不同的函数,从而实现各个功能。 /*主程序*/ void main() {
char choice; IO_ReadInfo(); while(1) {
printf(\学生成绩管理系统------\\n\ printf(\:插入一个新的学生记录\\n\ printf(\:修改学生记录\\n\
- 5 -
printf(\:删除一个学生记录\\n\
printf(\:按姓名查询单个同学信息\\n\ printf(\:按学号排序\\n\ printf(\:浏览全班成绩\\n\ printf(\请选择(A-F):\ scanf(\ getchar();
switch(choice) {
case 'A': Student_Insert(); break; case 'B': Student_Modify(); break; case 'C': Student_Delete(); break; case 'D': Student_Select(); break; case 'E': Student_SortByID();break; case 'F': Student_Display(); break; case 'G': exit(0); }
IO_WriteInfo(); } }
2、Tol函数
Tol函数的功能是求学生总成绩,在求总成绩时会调用,但不会出现在主函数中。
/*求总成绩*/
float Tol(struct Student stu) {
return (stu.Math+stu.English+stu.Physics); }
3、Students_SearchByIndex函数
该函数的功能是来输入的学号来找到数组的下标,从而找到该学号对应的结构体的信息。不会在主函数中出现,但会被其他函数调用。
/*通过学号返回数组下标*/
int Student_SearchByIndex(char id[])
{ int i;
for (i=0;i if (strcmp(students[i].ID,id)==0) return i; return -1; } 4、Students_SearchByName函数 该函数的功能是来输入的姓名来找到数组的下标,从而找到该姓名对应 - 6 - 的结构体的信息。不会在主函数中出现,但会被其他函数调用。 /*通过姓名返回数组下标*/ int Student_SearchByName(char name[]) { int i; for (i=0;i if(strcmp(students[i].Name,name)==0) return i; return -1; } 5、Students_DisplaySingle函数 该函数的功能是来显示单个学生的信息,不会在主函数中出现,但会被其他函数调用。 /*显示单条学生记录*/ void Student_DisplaySingle(int index) { printf(\学号\姓名\年龄\数学\英语\物理\总成绩\ printf(\ printf(\ndex].Name,students[index].Age,students[index].Math,students[index].English,students[index].Physics,students[index].Total); } 6、Students_Insert函数 该函数的功能是来插入学生的信息(也可以说的登记学生的信息),它有调用Tol函数来实现求总成绩的功能。还有一个小功能,就是他可以避免重复输入学号,是通过循环来实现的。该函数在主函数中有出现。 /*插入学生信息*/ void Student_Insert() { int i; while(1) { printf(\请输入学号:\ scanf(\ getchar(); printf(\请输入姓名:\ scanf(\ getchar(); printf(\请输入年龄:\ scanf(\ getchar(); printf(\请输入数学:\ - 7 - scanf(\ getchar(); printf(\请输入英语:\ scanf(\ getchar(); printf(\请输入物理:\ scanf(\ getchar(); students[num].Total=Tol(students[num]); /*判断是否输入了相同学号*/ for (i=0;i if (strcmp(students[i].ID,students[num].ID)==0) { printf(\有相同学号\ break; } } if (i==num) num++; printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } 7、Students_Modify函数 该函数的功能是用来修改学生的信息,要求输入学号时,它通过调用Students_SearchByIndex函数来找到该学号对应的学生的信息,从而修改信息。同时也调用了Tol函数。它在主函数中有出现。 /*修改学生信息*/ void Student_Modify() { while(1) { char id[20]; int index; printf(\请输入要修改的学生的学号:\ scanf(\ getchar(); index=Student_SearchByIndex(id); if (index==-1) { - 8 - printf(\学生不存在!\\n\ } else { printf(\你要修改的学生信息为:\\n\ Student_DisplaySingle(index); printf(\请输入新值--\\n\ printf(\请输入学号:\ scanf(\ getchar(); printf(\请输入姓名:\ scanf(\ getchar(); printf(\请输入年龄:\ scanf(\ getchar(); printf(\请输入数学:\ scanf(\ getchar(); printf(\请输入英语:\ scanf(\ getchar(); printf(\请输入物理:\ scanf(\ getchar(); students[index].Total=Tol(students[index]); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } 8、Students_Delete函数 该函数的功能是用来删除没用的学生的信息,它通过调用Students_SearchByIndex函数来找到要删除的学生,然后通过调用Students_DisplaySingle函数显示要删除的学生的信息。它在主函数中有出现。 /*删除学生信息*/ void Student_Delete() { int i; while(1) - 9 - { char id[20]; int index; printf(\请输入要删除的学生的学号:\ scanf(\ getchar(); index=Student_SearchByIndex(id); if (index==-1) { printf(\学生不存在!\\n\ } else { printf(\你要删除的学生信息为:\\n\ Student_DisplaySingle(index); printf(\是否真的要删除?(Y/N)\ if (getchar()=='Y') { for (i=index;i students[i]=students[i+1]; } num--; } getchar(); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } 9、Student_Select函数 该函数的功能是用来按姓名查找学生的信息。不在主函数中出现。 /*按姓名查询*/ void Student_Select() { while(1) { char name[20]; int index; - 10 - printf(\请输入要查询的学生的姓名:\ scanf(\ getchar(); index=Student_SearchByName(name); if (index==-1) { printf(\学生不存在!\\n\ } else { printf(\你要查询的学生信息为:\\n\ Student_DisplaySingle(index); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } 10、Students_SortByID函数 该函数的功能是把学生的学号按从小到大的顺序依次排列。它在主函数中有出现。 /*按学号排序*/ void Student_SortByID() { int i,j; struct Student tmp; for (i=0;i for (j=1;j if (strcmp(students[j-1].ID,students[j].ID)==1) { tmp=students[j-1]; students[j-1]=students[j]; students[j]=tmp; } } } } 11、Students_Display函数 该函数的功能是输出所有学生的信息,即浏览全班同学的信息。它在主 - 11 - 函数中有出现。 /*显示学生信息*/ void Student_Display() { int i; printf(\学号\姓名\年龄\数学\英语\物理\总成绩\ printf(\ for (i=0;i printf(%udents[i].Age, students[i].Math,students[i].English,students[i].Physics,students[i].Total); } } 12、IO_ReadInfo函数 该函数的功能是用来从文件中读入学生的信息。在主函数中有出现。 /*将学生信息从文件读出*/ void IO_ReadInfo() { FILE *fp; int i; if ((fp=fopen(\ { printf(\不能打开文件!\\n\ return; } if (fread(&num,sizeof(int),1,fp)!=1) { num=-1; } else { for(i=0;i fread(&students[i],sizeof(struct Student),1,fp); } } fclose(fp); } 13、IO_WriteInfo函数 该函数的功能是用来向文件中输入学生的信息。在主函数中有出现。 - 12 - /*将学生信息写入文件*/ void IO_WriteInfo() { FILE *fp; int i; if ((fp=fopen(\ { printf(\不能打开文件!\\n\ return; } if (fwrite(&num,sizeof(int),1,fp)!=1) { printf(\写入文件错误!\\n\ } for (i=0;i if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1) { printf(\写入文件错误!\\n\ } } fclose(fp); } 六、程序代码 #include \ #include \#include \ /*定义学生结构体*/ struct Student { char ID[20]; char Name[20]; int Age; float Math; float English; float Physics; float Total; }students[1000]; /*声明学生数组及学生数量*/ - 13 - int num=0; /*求总成绩*/ float Tol(struct Student stu) { return (stu.Math+stu.English+stu.Physics); } /*通过学号返回数组下标*/ int Student_SearchByIndex(char id[]) { int i; for (i=0;i if (strcmp(students[i].ID,id)==0) return i; return -1; } /*通过姓名返回数组下标*/ int Student_SearchByName(char name[]) { int i; for (i=0;i if(strcmp(students[i].Name,name)==0) return i; return -1; } /*显示单条学生记录*/ void Student_DisplaySingle(int index) { printf(\学号\姓名\年龄\数学\英语\物理\总成绩\ printf(\ printf(\].Name,students[index].Age, students[index].Math,students[index].English,students[index].Physics,students[index].Total); } - 14 - /*插入学生信息*/ void Student_Insert() { int i; while(1) { printf(\请输入学号:\ scanf(\ getchar(); printf(\请输入姓名:\ scanf(\ getchar(); printf(\请输入年龄:\ scanf(\ getchar(); printf(\请输入数学:\ scanf(\ getchar(); printf(\请输入英语:\ scanf(\ getchar(); printf(\请输入物理:\ scanf(\ getchar(); students[num].Total=Tol(students[num]); /*判断是否输入了相同学号*/ for (i=0;i if (strcmp(students[i].ID,students[num].ID)==0) { printf(\有相同学号\ break; } } if (i==num) num++; printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } - 15 - /*修改学生信息*/ void Student_Modify() { while(1) { char id[20]; int index; printf(\请输入要修改的学生的学号:\ scanf(\ getchar(); index=Student_SearchByIndex(id); if (index==-1) { printf(\学生不存在!\\n\ } else { printf(\你要修改的学生信息为:\\n\ Student_DisplaySingle(index); printf(\请输入新值--\\n\ printf(\请输入学号:\ scanf(\ getchar(); printf(\请输入姓名:\ scanf(\ getchar(); printf(\请输入年龄:\ scanf(\ getchar(); printf(\请输入数学:\ scanf(\ getchar(); printf(\请输入英语:\ scanf(\ getchar(); printf(\请输入物理:\ scanf(\ getchar(); students[index].Total=Tol(students[index]); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { - 16 - break; } } } /*删除学生信息*/ void Student_Delete() { int i; while(1) { char id[20]; int index; printf(\请输入要删除的学生的学号:\ scanf(\ getchar(); index=Student_SearchByIndex(id); if (index==-1) { printf(\学生不存在!\\n\ } else { printf(\你要删除的学生信息为:\\n\ Student_DisplaySingle(index); printf(\是否真的要删除?(Y/N)\ if (getchar()=='Y') { for (i=index;i students[i]=students[i+1]; } num--; } getchar(); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } - 17 - /*按姓名查询*/ void Student_Select() { while(1) { char name[20]; int index; printf(\请输入要查询的学生的姓名:\ scanf(\ getchar(); index=Student_SearchByName(name); if (index==-1) { printf(\学生不存在!\\n\ } else { printf(\你要查询的学生信息为:\\n\ Student_DisplaySingle(index); } printf(\是否继续?(Y/N)\ if (getchar()=='N') { break; } } } /*按学号排序*/ void Student_SortByID() { int i,j; struct Student tmp; for (i=0;i for (j=1;j if (strcmp(students[j-1].ID,students[j].ID)==1) { tmp=students[j-1]; students[j-1]=students[j]; students[j]=tmp; - 18 - } } } } /*显示学生信息*/ void Student_Display() { int i; printf(\学号\姓名\年龄\数学\英语\物理\总成绩\ printf(\ for (i=0;i printf(%udents[i].Age, students[i].Math,students[i].English,students[i].Physics,students[i].Total); } } /*将学生信息从文件读出*/ void IO_ReadInfo() { FILE *fp; int i; if ((fp=fopen(\ { printf(\不能打开文件!\\n\ return; } if (fread(&num,sizeof(int),1,fp)!=1) { num=-1; } else { for(i=0;i fread(&students[i],sizeof(struct Student),1,fp); } } fclose(fp); - 19 - } /*将学生信息写入文件*/ void IO_WriteInfo() { FILE *fp; int i; if ((fp=fopen(\ { printf(\不能打开文件!\\n\ return; } if (fwrite(&num,sizeof(int),1,fp)!=1) { printf(\写入文件错误!\\n\ } for (i=0;i if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1) { printf(\写入文件错误!\\n\ } } fclose(fp); } /*主程序*/ void main() { char choice; IO_ReadInfo(); while(1) { printf(\学生成绩管理系统------\\n\ printf(\:插入一个新的学生记录\\n\ printf(\:修改学生记录\\n\ printf(\:删除一个学生记录\\n\ printf(\:按姓名查询单个同学信息\\n\ printf(\:按学号排序\\n\ printf(\:浏览全班成绩\\n\ printf(\请选择(A-F):\ scanf(\ - 20 - getchar(); switch(choice) { case 'A': Student_Insert(); break; case 'B': Student_Modify(); break; case 'C': Student_Delete(); break; case 'D': Student_Select(); break; case 'E': Student_SortByID();break; case 'F': Student_Display(); break; case 'G': exit(0); } IO_WriteInfo(); } } 七、程序运行结果 1、显示主菜单 2、显示A:输入学号20091003439,姓名CHANGBIAO,年龄21,数学123,英语123,物理123 - 21 - 输入Y,继续输入:学号20091003440,姓名changbiao,年龄21,数学123,英语124,物理125 输入Y:继续输入学号20091003440,姓名changbiao,年龄21,数学123,英语124,物理123 - 22 - 自此,该函数的两个功能都以实现。 2、继续输入N:选择B,输入学号20091003440,姓名changbiao,年龄21,数学111,英语111,物理111 3、输入N:选择A,继续输入数据 学号20091003438,chang,21,123,123,123 学号20091003441,biao,21,123,123,123 - 23 - 输入N:选择C,删除学号20091003441的信息 4、输入N:选择D,查询姓名为changbiao的信息 5、输入N:继续输入E 6、输入F:浏览所有学生的信息 - 24 - 八、编程中遇到的困难及解决方法 我遇到的困难大致有四个: 1、在没有编写for循环时,输入了相同的学号都不知道,后来经过自己的反复摸搜,终于找到了解决的方法。即增加了一下程序 /*判断是否输入了相同学号*/ for (i=0;i if (strcmp(students[i].ID,students[num].ID)==0) { printf(\有相同学号\ break; } } if (i==num) num++; 2、我在编写 Student_Insert()函数中for循环时总是遇到问题,编译不知道多少次,都没有把程序编对,后来找老师后,经过老师的耐心指导,我发现了自己的问题:自己没把输入法切换到正确的输入状态。 3、我发现文件不能清空,造成以前用过的数据还在里面,使得后来的数据有点乱,所以想把文件清空后在输入,可是不知道怎么弄。后来请老师帮忙时,老师说你搜索一下,我搜到了,但是由于系统的问题,搜索到的答案不能用。所以我把这个问题给放弃了,没有把这个功能增加进去。 4、自己总是出现一些小的错误,导致程序编了好久才完成。最后还因为U盘中毒而前功尽弃,但是我并没有而放弃了,在最后一天里,我花了整整一天弄完了。虽然很累,但是很值。 - 25 - 九、总结心得及良好建议 C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程中,我感觉到一点,程序是不能一气呵成的。至少一气呵成的程序不会尽善尽美。程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路。要明确想要什么。只要把思路理清楚了,程序就好编写了。把程序分割成几个块,即多个函数,一块一块的编写。然后将分散的函数用另外的函数连接起来或者用main函数连接。到这一步,程序也就初步编成了,之后便是调试,检查错误。最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。 以上的建议太好,所以我摘抄了。接下来是我自己的心得: 虽然老师把程序给了我,但是我并没有因为这个而觉得没什么好做的了,反而我觉得我们应该多学点,至少应该把里面所有的知识点都弄懂,这样才不至于浪费宝贵的时间。所以在实习的期间,我没有上网,而是把老师发给我的程序仔细的阅读了一遍,这一个过程持续了两个晚上,所以我感觉自己对这个程序已经很了解了。所以在接下来的时间了,我按照程序安排设计重新修改了程序,使得程序更加的优化,同时也满足了实习的要求。 我的建议:不论老师对我们的要求如何,我们都应该严格要求自己,做到脚踏实地,认认真真完成属于自己应该做的事。 十、致谢 在C语言的实习过程中,让我巩固了C语言的基础知识,以前从来没有这样编过完整的程序,实习让我有这样的一个机会,自己独立编写程序。我觉得自己说学的东西不多,但是可以将它们运用出来。在实习过程中,首先我要感谢我的老师,一个是带我走进C语言大门的赵老师,因为她,我开始喜欢C语言,把所学知识掌握牢固。同时,在这次实习中,邵老师对我的帮助对我最难忘。题目本身是很简单的,在老师的教学风格影响下,我在编写完最初程序后,有自己添加了很多功能。之后,在邵老师介绍下,我又不断优化了程序编译。邵老师也给过我其他发展的建议,在此,我要感谢他。最后,我还要感谢给我帮助的同学,在一些程序问题上,我和同学交流经验,学到了很多在书本上学不到的东西。 总之,我真诚的感谢在这次实习中给过我帮助的人! 在实习过程中给邵老师添加了不少麻烦,希望老师不要介意,再次感谢老师耐心的指导。 - 26 - 九、总结心得及良好建议 C语言实习基本上由老师引导,自己很多都靠自学,不明白的问老师,自学能力得到了很大的培养。在实习过程中,我感觉到一点,程序是不能一气呵成的。至少一气呵成的程序不会尽善尽美。程序编写要一步一步的完成。首先,对于要编的程序要有一个总体思路。要明确想要什么。只要把思路理清楚了,程序就好编写了。把程序分割成几个块,即多个函数,一块一块的编写。然后将分散的函数用另外的函数连接起来或者用main函数连接。到这一步,程序也就初步编成了,之后便是调试,检查错误。最后我觉得还可以对于已经编写好的程序进行一些修改添加,使它更加人性化。优化程序的阶段是很重要的。 以上的建议太好,所以我摘抄了。接下来是我自己的心得: 虽然老师把程序给了我,但是我并没有因为这个而觉得没什么好做的了,反而我觉得我们应该多学点,至少应该把里面所有的知识点都弄懂,这样才不至于浪费宝贵的时间。所以在实习的期间,我没有上网,而是把老师发给我的程序仔细的阅读了一遍,这一个过程持续了两个晚上,所以我感觉自己对这个程序已经很了解了。所以在接下来的时间了,我按照程序安排设计重新修改了程序,使得程序更加的优化,同时也满足了实习的要求。 我的建议:不论老师对我们的要求如何,我们都应该严格要求自己,做到脚踏实地,认认真真完成属于自己应该做的事。 十、致谢 在C语言的实习过程中,让我巩固了C语言的基础知识,以前从来没有这样编过完整的程序,实习让我有这样的一个机会,自己独立编写程序。我觉得自己说学的东西不多,但是可以将它们运用出来。在实习过程中,首先我要感谢我的老师,一个是带我走进C语言大门的赵老师,因为她,我开始喜欢C语言,把所学知识掌握牢固。同时,在这次实习中,邵老师对我的帮助对我最难忘。题目本身是很简单的,在老师的教学风格影响下,我在编写完最初程序后,有自己添加了很多功能。之后,在邵老师介绍下,我又不断优化了程序编译。邵老师也给过我其他发展的建议,在此,我要感谢他。最后,我还要感谢给我帮助的同学,在一些程序问题上,我和同学交流经验,学到了很多在书本上学不到的东西。 总之,我真诚的感谢在这次实习中给过我帮助的人! 在实习过程中给邵老师添加了不少麻烦,希望老师不要介意,再次感谢老师耐心的指导。 - 26 -
正在阅读:
c语言实习报告06-21
西南大学网络与继续教育学院《临床药理学》网上作业及答案03-11
谷雨作文600字06-18
吉林大学中国现当代文学考研真题11-17
山东省济南市2016年中考思想品德试卷03-15
5.1图像处理基础教学设计03-22
东北大学 2005级冶金工程专业 《化工原理》试题(A)06-04
小学赞美老师的作文02-04
广工大学物理实验2305-16
三元无规共聚聚丙烯专题市场调研分析报告09-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实习报告
- 语言
- 导游词(最新)全市
- 清华水力学实验:02静水总压力
- 涡轮轴外衬套机械加工工艺设计
- 沈阳铁路局涉外穿(跨)越铁路工程修建管理办法
- 2014年保健食品化妆品监管经验交流修改稿
- 论中华武术的理论基础
- “中国梦”读书征文获奖作品10篇
- 《金融市场学》作业参考答案
- 健康教育教案小学全册
- 装修的概论
- 南通大学教师专业技术资格条件(试行)
- 006 锅炉基础施工作业指导书
- 兴业银行成都分行公司客户信用业务档案管理实施细则(2011年2月修
- 视讯系统技术建议书 - 图文
- 三年级数学日记
- 泥水和木作施工
- 初中作文评语集锦
- 江苏省盐城市南洋中学2015届高三上学期第二次诊断数学试卷 Word
- LX-W电位器力矩(IC管理,修正版) - 图文
- 汽车维修中级工试题及答案100题库