




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计报告设计题目:个人帐簿管理系统设计2013年第二学期一.实习目的通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。二.问题描述(具体任务)根据课程设计任务书要求,个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。另外要求建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;完成对每月的开支排序,以及完成系统查询功能。三.需求分析3.1功能需求个人帐簿管理系统要求记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等并能进行修改,查询,排序,求和,删除等功能。3.2数据需求系统主要处理的是个人帐簿信息,因此其输入和输出都与此相关。(1)输入数据:月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。(2)输出数据:月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等的数据。四.算法设计思想及流程图4.1系统设计方案菜单本系统根据需要主要设计了6个菜单,分别为=1\*GB3①录入数据=2\*GB3②.查看数据=3\*GB3③修改数据=4\*GB3④.查询数据=5\*GB3⑤排序数据=6\*GB3⑥删除数据⑦求和数据⑧退出系统(2)文件保存方式系统需要保文件,文件存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。(3)数据类型系统定义了数组,结构体等类型,存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等信息。(4)算法设计系统中主要排序算法(冒泡排序),即第1个数与第2个数比较,若第1个大,就与第2个数交换;若第2个数大,就不交换;继续第2个与第3个比较,。。。。,直到比较完为止。3.2功能模块设计根据分析,系统主要设计了7个模块,分别是:录入数据模块,查看数据模块,修改数据模块,查询数据模块,排序数据模块,删除数据模块,月消费求和模块;功能模块图如图1所示。图1功能模块图(1)录入数据录入数据模块把输入的信息存储到文件里,为以下操作提供数据。(2)查看数据查看数据模块是输入要执行的操作,打开文件,查看帐户里面的信息(3)修改数据修改数据模块是输入要修改的月份,打开文件,找到该月的信息,把新输入的信息复制给原有信息,已达到修改的目的。(4)查询数据查询数据模块是打开文件,输入要查看的月份,就将输出该月的信息。(5)排序数据排序数据模块是用冒泡排序,把每月的费用从小到大排列。(6)求和数据利用循环一一累加求和。(7)删除数据删除数据模块是用链表把其中某月删除。5详细设计5.1录入数据模块录入主要通过scanf函数实现。具体程序实现流程如图2所示。图2输入月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。5.2修改数据子模块修改文件中的信息,具体程序实现流程如图3所示。图3输入月份首先判断文件中是否有该信息,没有,输出没有符合条件的记录,有,输出该信息,再进行修改;即重新输入月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。5.3查询数据子模块查询某月的信息,具体程序实现流程如图4所示。图4输入要查询的月份,首先判断文件中是否有该信息,没有,输出无法找到该文件,有,输出该信息。5.4排序数据子模块排序某月的所有费用,具体程序实现流程如图5所示;图5冒泡排序:即第1个数与第2个数比较,若第1个大,就与第2个数交换;若第2个数大,就不交换;继续第2个与第3个比较,。。。。,直到比较完为止。5.5删除数据子模块删除某月的信息,具体程序实现流程如图6所示。图6输入要删除的月份,若文件中没有该信息,输出无法找到该文件,若文件中有该信息,输出请选择要删除的月份,输入月份,利用链表的知识删除该月份。五.C语言源代码#include<stdio.h>#include<stdlib.h>#include<string.h>//文件保存路径#defineFilePath1"Myfile.dat"#defineFilePath2"Myfile.txt"//查询用声明#defineOk1 //宏定义#defineError0//宏定义#defineNotfind2//宏定义//定义个人基本信息结构体变量//c代表const费用//ele代表electricity电typedefstruct{ intmonth; //定义月份 intfood_c; //定义食品费用 intrent_c; //定义房租费用 intchildren_c; //定义子女费用 intwater_ele_c;//定义水电费用 inthospital_c; //定义医疗费用 intcarring_c; //定义存储费用 intincome_c; //定义收入费用}Infor;typedefstruct{//定义链接查询的结构体变量 intnumber; intdata;}Type;voidShow_open_picture(void); //声明显示开机画面函数voidShow_personal_infomation(void);//声明个人管理系统功能提示及操作函数voidShow_close_infomation(void); //声明关闭个人管理系统函数voidInput(Infor*); //声明接收按键输入的数据函数voidWriteInfor(Infor*); //声明向文件内写入内容的函数voidChangeFormat(void); //声明将dat格式文件转换为txt文件intSearch(Infor*); //声明查询函数(返回查询的结果及状态)voidSort(Infor*); //声明排序函数voidSum_const(Infor*); //声明消费之和函数voidModify(Infor*,int); //声明修改数据函数voidDelete(int); //声明删除数据函数intmain(void){/*主函数*/ Show_open_picture(); /*调用开机画面函数*/ printf("请按Enter建进入个人管理系统---------------------->"); getchar(); system("cls"); /*调用系统清屏函数*/ while(1) { Show_personal_infomation(); /*调用个人管系统功能提示及操作函数*/ } return0;}voidShow_open_picture(void){/*显示开机画面*/ system("colord"); printf("<------------------------------------------------>\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t欢迎使用个人管理系统\t\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("<------------------------------------------------>\n"); printf("**\t\t个人管理系统设计人基本信息\t**\n"); printf("**\t\t河南科技学院新科学院\t\t**\n"); printf("**\t\t信工系-计科111班\t\t**\n"); printf("**\t\t1、杨帅\t\t\t\t**\n"); printf("**\t\t2、宋晓东\t\t\t**\n"); printf("**\t\t3、张卫东\t\t\t**\n"); printf("<------------------------------------------------>\n"); printf("<------------------------------------------------>\n\n");}voidShow_close_infomation(void){/*关闭个人管理系统*/ system("cls"); /*调用系统清屏函数*/ system("colora"); printf("\t请输入Enter键关闭个人管理系统\t\t\n"); getchar(); printf("<------------------------------------------------>\n"); printf("<------------------------------------------------>\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t欢迎下次使用个人管理系统\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("<------------------------------------------------>\n"); printf("<------------------------------------------------>\n\n"); exit(0);}voidShow_personal_infomation(void){/*个人管理系统功能提示及操作*/ intmode;//定义字符型(选择的操作模式) intmon;//定义整形 Infor*data; data=(Infor*)malloc(sizeof(Infor)); do { system("cls"); /*调用系统清屏函数*/ system("colorb"); printf("<------------------------------------------------>\n"); printf("**\t\t\t\t\t\t**\n"); printf("**\t欢迎进入个人账簿管理系统\t**\n"); printf("**\t\t\t\t\t\t**\n"); printf("<------------------------------------------------>\n"); printf("<------------------------------------------------>\n"); printf("**\t1、输入数据\t\t2、查看数据\t**\n"); printf("**\t3、修改数据\t\t4、查询数据\t**\n"); printf("**\t5、排序数据\t\t6、删除数据\t**\n"); printf("**\t7、求和数据\t\t0、退出系统\t**\n"); printf("<------------------------------------------------>\n"); printf("<------------------------------------------------>\n\n"); printf("\t\t请输入要进行的操作:\n"); scanf("%d",&mode); }while(mode>8||mode<-1); switch(mode) { case1://1、输入数据 Input(data); //调用输入数据函数 WriteInfor(data); //调用向文件内写入内容函数 system("pause"); //调用按任意按键输出函数 system("colord"); break; case2://2、查看数据 ChangeFormat(); //调用查看数据函数 system("pause"); system("colore"); break; case3://3、修改数据 system("color3"); mode=Search(data); //复制 mon=data->month; //复制 if(mode!=Ok)printf("\n没有符合条件的记录\n"); else { printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出 printf("<---------------------------------------------------------------------->\n"); printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",data->month,data->food_c,data->rent_c, data->children_c,data->water_ele_c,data->hospital_c,data->carring_c,data->income_c); Input(data); //调用输入数据函数 Modify(data,mon); //调用修改数据函数 } system("pause");break; case4://4、查询数据 system("colore"); mode=Search(data); if(mode!=Ok)printf("\n没有符合条件的记录\n"); else { printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出 printf("<---------------------------------------------------------------------->\n"); printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",data->month,data->food_c,data->rent_c, data->children_c,data->water_ele_c,data->hospital_c,data->carring_c,data->income_c); } system("pause");break; case5://5、排序数据 system("colorff"); mode=Search(data);//复制 if(mode!=Ok)printf("\n没有符合条件的记录!\n");//判断输出 elseSort(data); //调用排序函数 system("pause");break; case6://6、删除数据 system("colora"); mode=Search(data);//复制 mon=data->month; //复制 if(mode!=Ok)printf("\n没有符合条件的记录!\n");//判断输出 else { printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出 printf("<---------------------------------------------------------------------->\n"); printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",data->month,data->food_c,data->rent_c, data->children_c,data->water_ele_c,data->hospital_c,data->carring_c,data->income_c); Delete(mon);//调用输入数据函数 } system("pause");break; case7://7、求本月消费之和 system("colora"); mode=Search(data);//复制 if(mode!=Ok)printf("\n没有符合条件的记录!\n");//判断输出 elseSum_const(data); system("pause"); break; case0://0、退出系统 getchar(); //调用系统函数 Show_close_infomation();//调用关机画面函数 system("colorc"); break; } free(data);//释放内存空间}voidInput(Infor*newI){//声明接收按键输入的数据函数 printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出 scanf("%7d%8d%8d%8d%8d%8d%8d%8d",&newI->month,&newI->food_c,&newI->rent_c, &newI->children_c,&newI->water_ele_c,&newI->hospital_c,&newI->carring_c,&newI->income_c); fflush(stdin);//系统函数调用(即清理标准输入流,把多余的仍未被保存的数据丢掉)}voidWriteInfor(Infor*new1){//声明向文件内写入内容的函数 FILE*fp;//定义指针 fp=fopen(FilePath1,"ab+");//打开或创建一个二进制文件,可读取或在文件的尾部添加数据 if(fp==NULL)//判断文件是否为空 { printf("无法创建文件:%s\n",FilePath1); exit(0); } //从new1所指向的数据存储区获取数据,向fp所指向的文件写入数据,每次写sizeof(Infor)个字节,写入1次 fwrite(new1,sizeof(Infor),1,fp);//这里可以做特别处理可防止存在同一月份有2条以上的记录问题。 fclose(fp); //关闭文件,避免内存泄露 printf("数据存入文件成功!\n");}voidChangeFormat(void){//声明将dat格式文件转换为txt文件 FILE*fp1,*fp2;//定义文件指针 Infor*data;//定义结构指针 data=(Infor*)malloc(sizeof(Infor));//开辟空间 fp1=fopen(FilePath1,"rb+"); //打开一个二进制文件,可读取或写入其中数据 if(fp1==NULL) { printf("无法找到文件:%s\n",FilePath2);//输出 return; //返回主函数 } fp2=fopen(FilePath2,"wt+"); if(fp2==NULL) { printf("无法创建文件:%s\n",FilePath2); return;//返回主函数 } fputs("\n个人账簿管理系统\n",fp2); fputs("记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n",fp2); printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出 printf("<---------------------------------------------------------------------->\n");//输出 rewind(fp1);//函数调用(将文件内部的位置指针重新指向一个流[数据流/文件])的开头 //从fp1所指向的文件读取数据,每次读取sizeof(Infor)个字节,读取1次,将读取的数据存储到data所指向的数据存储区 fread(data,sizeof(Infor),1,fp1); //feof(stream)函数有两个返回值,如果遇到文件结束,函数返回值为非零值,否则为0 while(!feof(fp1)) { printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",data->month,data->food_c,data->rent_c, data->children_c,data->water_ele_c,data->hospital_c,data->carring_c,data->income_c); //将数据写入fp2指向的文件 fprintf(fp2,"%7d%8d%8d%8d%8d%8d%8d%8d\n",data->month,data->food_c,data->rent_c, data->children_c,data->water_ele_c,data->hospital_c,data->carring_c,data->income_c); fread(data,sizeof(Infor),1,fp1); } printf("<---------------------------------------------------------------------->\n"); fputs("关闭本程序继续原程序!\n",fp2); fclose(fp1);//关闭文件 fclose(fp2);//关闭文件 system(FilePath2);//调用打开转换的文本文件 remove(FilePath2);//删除文本文件} intSearch(Infor*data){//声明查询函数(返回查询的结果及状态) FILE*fp1; //定义文件指针 intmon,Find=0; //定义整形数据 printf("请正确输入要查询的月份:"); scanf("%d",&mon); fflush(stdin); //清楚缓冲区 fp1=fopen(FilePath1,"rb+");//打开一个二进制文件,可读取或写入其中数据 if(fp1==NULL) { printf("无法找到文件:%s\n",FilePath1); returnError;//返回函数 } rewind(fp1); //调用系统函数 fread(data,sizeof(Infor),1,fp1); while(!feof(fp1))//查询操作 { if(data->month==mon) { Find=1;//找到返回1 break; //结束操作 } elseFind=0;//没找到返回0 fread(data,sizeof(Infor),1,fp1); } fclose(fp1); //关闭文件 if(Find)returnOk; elsereturnError; returnNotfind;} voidSort(Infor*dat){//声明排序函数 inti=0,j=0; //定义整形变量 TypeSort_info[8]={0}; //初值赋值为0 inttemp; //作为中间变量 charStr_info[8][10]={"记录月份","食品消费","房租费用","子女费用", "水电费用","医疗费用","储蓄费用","本月收入"}; for(i=0;i<8;i++) Sort_info[i].number=i; Sort_info[0].data=dat->month; Sort_info[1].data=dat->food_c; Sort_info[2].data=dat->rent_c; Sort_info[3].data=dat->children_c; Sort_info[4].data=dat->water_ele_c; Sort_info[5].data=dat->hospital_c; Sort_info[6].data=dat->carring_c; Sort_info[7].data=dat->income_c; for(i=1;i<8;i++)//冒泡排序核心算法(由小到大排序) { for(j=0;j<8-i;j++) { if(Sort_info[j].data>Sort_info[j+1].data) { //交换位置,temp作为中间变量 temp=Sort_info[j].data; Sort_info[j].data=Sort_info[j+1].data; Sort_info[j+1].data=temp; temp=Sort_info[j].number; Sort_info[j].number=Sort_info[j+1].number; Sort_info[j+1].number=temp; } } } printf("\n"); //输出 for(i=0;i<8;i++) printf("%s",Str_info[Sort_info[i].number]); printf("\n<---------------------------------------------------------------------->\n"); for(i=0;i<8;i++) printf("%6d",Sort_info[i].data); printf("\n");}voidSum_const(Infor*dat){//声明消费之和函数 inti=0,sum=0; //定义整形变量 TypeSort_info[9]={0}; //初值赋值为0 charStr_info[9][10]={"记录月份","食品消费","房租费用","子女费用", "水电费用","医疗费用","储蓄费用","本月收入","月消费和"}; for(i=0;i<9;i++)//为结构体变量赋值 Sort_info[i].number=i; Sort_info[0].data=dat->month; Sort_info[1].data=dat->food_c; Sort_info[2].data=dat->rent_c; Sort_info[3].data=dat->children_c; Sort_info[4].data=dat->water_ele_c; Sort_info[5].data=dat->hospital_c; Sort_info[6].data=dat->carring_c; Sort_info[7].data=dat->income_c; for(i=0;i<8;i++)//循环求和 sum+=Sort_info[i].data; Sort_info[8].data=sum; printf("\n"); //输出 for(i=0;i<9;i++) printf("%s",Str_info[Sort_info[i].number]); printf("\n<------------------------------------------------------------------------------>\n"); for(i=0;i<9;i++) printf("%6d",Sort_info[i].data); printf("\n");} voidModify(Infor*data,intmon){//声明修改数据函数 FILE*fp1,*fp2; //定义结构体指针 Infor*dat; //定义结构体指针 dat=(Infor*)malloc(sizeof(Infor)); fp1=fopen(FilePath1,"rt"); //只读方式打开一个文本文件,只允许读数据 fp2=fopen("temp.dat","wt+"); //读写打开或创建一个文本文件,允许读写 rewind(fp1);//函数调用(将文件内部的位置指针重新指向一个流[数据流/文件])的开头 //从fp1所指向的文件读取数据,每次读取sizeof(Infor)个字节,读取1,将读取的数据存储到dat所指向 fread(dat,sizeof(Infor),1,fp1); while(!feof(fp1))//重写数据 { if(dat->month==mon)//判断是否为要修改的月份 fwrite(data,sizeof(Infor),1,fp2);// 修改数据 else fwrite(dat,sizeof(Infor),1,fp2); fread(dat,sizeof(Infor),1,fp1); //函数调用 } fclose(fp1); //关闭文件 fclose(fp2); //关闭文件 remove(FilePath1); //删除原文件 rename("temp.dat",FilePath1);//重命名中间文件 printf("修改数据成功!\n"); ChangeFormat(); //显示数据} voidDelete(intmon){//声明删除数据函数 FILE*fp1,*fp2; //定义文件的指针 Infor*dat; //定义结构体指针 dat=(Infor*)malloc(sizeof(Infor)); fp1=fopen(FilePath1,"rt"); fp2=fopen("temp.dat","wt+"); rewind(fp1); //调用库函数 fread(dat,sizeof(Infor),1,fp1); while(!feof(fp1)) { if(dat->month!=mon) fwrite(dat,sizeof(Infor),1,fp2); fread(dat,sizeof(Infor),1,fp1); } fclose(fp1); //关闭文件 fclose(fp2); //关闭文件 remove(FilePath1); //调用库函数,删除源文件 printf("删除数据成功!\n"); ChangeFormat(); //显示数据}六.测试分析(运行结果)软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。(1)输入正确的数:输入数据1:12345678预期结果:12345678运行结果:12345678说明:远行正确。(2)输入错误的数:输入数据2:153456789预期结果:153456789运行结果:153456789说明:远行错误。七.总结(收获及体会)经过为期一周的实习,基本上完成了课程设计要求的全部功能,另外还又增加了一个求月消费总和的模块。虽然只是一周的时间但在这一周学到了很多有关C语言的知识,如:怎样创建文件、不关闭文件会造成内存泄露等一系列的细节问题。另外,在这一周内也学习了一些C语言的一些应该注意的细节问题,并且还学习了许多数据结构的算法,如:冒泡排序、删除及修改等。八.参考文献[1]谭浩强.C语言程序设计(第三版).清华大学出版社,2007[2]姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008[3]网上相关资料附录:1、开机画面2、菜单界面3、录入数据4、查看数据5、修改数据6、查询数据7、排序数据8、删除数据9、月消费求和基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究\
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风险管理培训协议书(2篇)
- 医疗器械操作规范
- 暑假期安全教育教案小班
- 2025年护士执业资格考试妇产科护理学专项妇科护理试题解析
- 艺术培训机构招生方案
- 2025年统计学专业期末试题:统计学数据可视化原理与应用试题库
- 2025年护士执业资格考试题库:基础护理学专项护理文书书写试题
- 2025年安全生产标准化建设应急管理试题解析
- 蔬菜园艺培训
- 2025年高压电工基础理论考试题库:考点归纳与模拟试题
- 2024-2025学年小学信息技术(信息科技)四年级下册浙教版(2023)教学设计合集
- (中职)中职生创新创业能力提升教课件完整版
- 2024年安徽教师招聘教师招聘笔试真题及答案
- 护理美学-第十一章 护理审美评价
- 河道修防工(中级)技能鉴定理论考试题库(含答案)
- 生物专业英语翻译和单词(专业版)
- 特色高中建设实施方案
- 民间非营利组织财务报表模板
- 2024年职业技能“大数据考试”专业技术人员继续教育考试题库与答案
- 国家高新技术企业评定打分表
- SYT 6680-2021 石油天然气钻采设备 钻机和修井机出厂验收规范-PDF解密
评论
0/150
提交评论