C课程设计信息管理-学生信息管理系统_第1页
C课程设计信息管理-学生信息管理系统_第2页
C课程设计信息管理-学生信息管理系统_第3页
C课程设计信息管理-学生信息管理系统_第4页
C课程设计信息管理-学生信息管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古科技大学课程设计说明书PAGE28内蒙古科技大学本科生课程设计说明书题目:C语言课程设计——学生信息管理系统学生姓名:学号:专业:班级:指导教师:日期:内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目学生信息管理系统指导教师时间一、教学要求1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.利用C语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。某班学生基本信息管理,包括以下功能:从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)具有插入、修改和删除信息的功能具有输出文件数据信息的功能三、设计要求及成果1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)

2.写出详细设计说明(至少包括功能实现分析和模块流程图)

3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)

4.设计完成的软件要便于操作和使用

5.设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天

选择课程设计题目,分析课题的要求

第二天

编程

第三天

编程及调试

第四天

写课程设计报告

第五天

提交课程设计报告(打印稿及电子稿)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。

3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1.《C语言程序设计》,谭浩强,清华大学出版社2.《C语言程序设计课程设计》,刘振安,机械工业出版社目录内蒙古科技大学课程设计任务书 I目录 II第一章需求分析 31.1 引言 31.2 任务概述 31.3 数据描述 31.4 功能需求 31.5 性能需求 41.6 运行需求 41.7 任务计划 4第二章 概要设计 42.1 总体设计 42.2 数据类型设计(或数据结构设计) 62.3 接口设计//函数声明 62.4 运行界面设计 7第三章 详细设计 83.1 输入模块设计 83.2 输出模块设计 83.3 查找模块设计 93.4 排序模块设计 103.5 保存及读取模块设计 10第四章 测试分析 124.1 测试程序执行情况 124.2 出现的问题和解决的方法 15第五章 用户手册(可选) 165.1 使用说明 165.2 运行说明 16第六章 课程设计总结 17附录:程序代码 18参考文献 28致谢 28第一章需求分析引言学生基本信息管理系统任务概述1、建立学生信息,信息至少包含学生姓名,学号,性别,年龄,出生日期,家庭地址,e-mail,电话地址等;2、能够提供新建、浏览、查找、修改和删除通讯录信息的功能;3、能够提供安不同方式查询的功能;如按姓名或电话等查询;数据描述structstudent{charNO[20];charname[20];intage;charsex[3];/*'F'表示性别男,'M'表示性别女*/charbirthday[10];charaddress[30];charphone[20];chare_mail[20];structstudent*next;//下个结点};功能需求1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、删除功能:对指定学生的信息进行删除。3、修改功能:对指定学生的信息进行修改。4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5、排序功能:以英语课程的分数为依据对学生信息进行排序。6、显示功能:将以上功能操作后的学生信息显示出来。7、退出主菜单。性能需求1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、删除功能:对指定学生的信息进行删除。3、修改功能:对指定学生的信息进行修改。4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5、排序功能:以英语课程的分数为依据对学生信息进行排序。6、显示功能:将以上功能操作后的学生信息显示出来。7、退出主菜单。运行需求1、从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里。2、具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录)。3、具有插入、修改和删除信息的功能。4、具有输出文件数据信息的功能。任务计划概要设计总体设计总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。2、输入要删除的学生的编号,删除学生信息。2、输入要删除的学生的编号,删除学生信息。1、输入学生的信息:学生姓名,学号,性别年龄,出生日期,电话菜单:新增学生信息删除学生信息导入学生信息学生信息搜索学生信息保存退出5、保存学生信息:提示保存成功4、输入你要查找你学生姓名3、输出学生的学生姓名,学号,性别,年龄,出生日期,家庭地址,e-mail,电话6、退出系统学生管理系统功能模块图数据类型设计(或数据结构设计)structstudent{charNO[20];charname[20];intage;charsex[3];/*'F'表示性别男,'M'表示性别女*/charbirthday[10];charaddress[30];charphone[20];chare_mail[20];structstudent*next;//下个结点};接口设计//函数声明表2.1:函数列表函数名函数格式//即函数首部函数功能voidshow_menu();void显示菜单voidmenu();void执行菜单voidcreat_stu();void建立链表voidinsert_stu();void学生信息录入voidprint_stu();void学生信息浏览voidsearch_NO();void以学号方式查询信息voidsearch_name();void以姓名方式查询信息voidarrage_stu();void排序voiddel_stu();void删除学生信息voidrevise_stu();void修改学生信息voidsave();void保存信息运行界面设计主菜单模块采用switch()函数从键盘选择相应菜单的对应功能。switch(c){getchar();case1:insert_stu();break;//学生信息录入case2:print_stu();break;//学生信息浏览case3:search_NO();break;//以学号方式查询信息case4:search_name();break;//以姓名方式查询信息case5:del_stu();break;//删除学生信息case6:revise_stu();break;//修改学生信息case7:arrage_stu();break;//保存信息case0:exit(0);//退出}详细设计输入模块设计数据插入模块采用scanf()函数输入新联系人信息插入至结构数组中。PF("\t\t输入学生学号:\t");scanf("%s",p1->NO);//学号PF("\t\t输入学生姓名:\t");scanf("%s",p1->name);//姓名PF("\t\t输入学生年龄:\t");scanf("%d",&p1->age);//年龄PF("\t\t输入学生性别:\t");scanf("%s",p1->sex);//性别PF("\t\t输入学生出生年月:\t");scanf("%s",p1->birthday);//出生年月PF("\t\t输入学生地址:\t");scanf("%s",p1->address);//地址PF("\t\t输入学生电话:\t");scanf("%s",p1->phone);//电话PF("\t\t输入学生E-mail:\t");scanf("%s",p1->e_mail);//E-mailn++;输出模块设计数据浏览模块采用分屏显示,每屏3条记录。用fread或fscanf读文件,输出结果。for(p=head->next;p!=NULL;p=p->next)//读出信息{PF("※※※※※※※※※※※※※※※※※※学生信息浏览※※※※※※※※※※※※※※※※※※\n");PF("\t\t学生学号:\t%s\n",p->NO);PF("\t\t学生姓名:\t%s\n",p->name);PF("\t\t学生年龄:\t%d\n",p->age);PF("\t\t学生性别:\t%s\n",p->sex);PF("\t\t学生出生年月:\t%s\n",p->birthday);PF("\t\t学生地址:\t%s\n",p->address);PF("\t\t学生电话:\t%s\n",p->phone);PF("\t\t学生E-mail:\t%s\n",p->e_mail);PF("\n");}//输出信息}查找模块设计1)按姓名查找模块通过键盘输入要查找的学生姓名,然后与结构数组中的姓名信息逐一比对,找出学生信息并输出voidsearch_name()//学生姓名信息查找{STU*p=NULL;charname[20];if(head==NULL)//判断链表是否为空{PF("文档中无记录!\n");return;}PF("输入学生姓名:");scanf("%s",name);for(p=head->next;p!=NULL;p=p->next)//读出信息{if(!strcmp(p->name,name))3)按学号查找模块通过键盘输入要查找的学生学号,然后与结构数组中的电话信息逐一比对,找出学生信息并输出voidsearch_NO()//学生学号信息查找{STU*p=NULL;charNO[20];if(head==NULL)//判断链表是否为空{PF("文档中无记录!\n");return;}PF("请输入学生学号:");scanf("%s",NO);for(p=head->next;p!=NULL;p=p->next)//读出信息{if(!strcmp(p->NO,NO))排序模块设计保存及读取模块设计1)按姓名查找模块通过键盘输入要查找的学生姓名,然后与结构数组中的姓名信息逐一比对,找出学生信息并输出voidsearch_name()//学生姓名信息查找{STU*p=NULL;charname[20];if(head==NULL)//判断链表是否为空{PF("文档中无记录!\n");return;}PF("输入学生姓名:");scanf("%s",name);for(p=head->next;p!=NULL;p=p->next)//读出信息{if(!strcmp(p->name,name))3)按学号查找模块通过键盘输入要查找的学生学号,然后与结构数组中的电话信息逐一比对,找出学生信息并输出voidsearch_NO()//学生学号信息查找{STU*p=NULL;charNO[20];if(head==NULL)//判断链表是否为空{PF("文档中无记录!\n");return;}PF("请输入学生学号:");scanf("%s",NO);for(p=head->next;p!=NULL;p=p->next)//读出信息{if(!strcmp(p->NO,NO))测试分析测试程序执行情况主菜单输入学生信息学生信息浏览按学号查找学生信息按姓名查找学生信息删除学生信息修改学生信息退出出现的问题和解决的方法出现的问题就是不能进行排序,解决方法为删除。用户手册(可选)使用说明运行说明课程设计总结在我们上机调试程序的过程中,我遇到了很多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是觉得没有头绪,无从下手。看到同学认真看程序的样子,还有修改程序时的熟练,我很羡慕他,我想,我要将C语言学好,在将来能为我的就业加分。在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时间也没有心情复习,我曾一度地抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。附录:程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#definePFprintf#defineLENsizeof(structstudent)//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆定义结构体◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆structstudent{ charNO[20]; charname[20]; intage; charsex[3];/*'F'表示性别男,'M'表示性别女*/ charbirthday[10]; charaddress[30]; charphone[20]; chare_mail[20]; structstudent*next;//下个结点};typedefstructstudentSTU;STU*head=NULL;//全局指针intn,i=0;//全局变量//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆自定义函数◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidshow_menu();//显示菜单voidmenu();//执行菜单voidcreat_stu();//建立链表voidinsert_stu();//学生信息录入voidprint_stu();//学生信息浏览voidsearch_NO();//以学号方式查询信息voidsearch_name();//以姓名方式查询信息voiddel_stu();//删除学生信息voidrevise_stu();//修改学生信息voidsave();//保存信息voidmain(){ creat_stu();menu();}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆创建链表◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidcreat_stu(){ FILE*fp; longsize; STU*p1,*p2; head=(STU*)malloc(sizeof(STU)); head->next=NULL; if((fp=fopen("fname.txt","r"))==NULL) { printf("这是新表\n"); return; } fseek(fp,0L,2); size=ftell(fp); if(!size) { printf("这是空表\n"); return; }//开始创建链表 rewind(fp);//移动到文件首 p2=head->next;//找到当前位置 while(!feof(fp)) { p1=(STU*)malloc(sizeof(STU)); fscanf(fp,"%s%s%d%s%s%s%s%s\n",p1->NO,p1->name,&p1->age, p1->sex,p1->birthday,p1->address,p1->phone,p1->e_mail); p1->next=NULL;//创建节点完 if(head->next==NULL) head->next=p1; else p2->next=p1; p2=p1; n++; } p2->next=NULL; fclose(fp);}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆执行菜单◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidmenu(){ intc; show_menu(); while(1) { scanf("%d",&c);switch(c) { getchar(); case1:insert_stu();break; case2:print_stu();break; case3:search_NO();break; case4:search_name();break; case5:del_stu();break; case6:revise_stu();break; case0:exit(0); } //执行菜单选项 show_menu(); }}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆显示菜单◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidshow_menu(){ PF("\n"); PF("\n※※※※※※※※※※※※※※※※※※菜单※※※※※※※※※※※※※※※※※※\n"); PF("\t\t◆1.输入学生信息◆\n"); PF("\t\t★2.浏览学生信息★\n"); PF("\t\t◆3.以学号方式查询信息◆\n"); PF("\t\t★4.以姓名方式查询信息★\n"); PF("\t\t◆5.删除学生信息◆\n"); PF("\t\t★6.修改学生信息★\n"); PF("\t\t★0.退出★\n"); PF("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); PF("\n请选择\n");}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆学生信息录入◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidinsert_stu()//学生信息录入{ n=0;STU*p1=NULL,*p2=NULL; p1=(STU*)malloc(sizeof(STU)); PF("\n※※※※※※※※※※※※※※※※※※录入学生信息※※※※※※※※※※※※※※※※※※\n");//录入学生信息 PF("\t\t输入学生学号:\t"); scanf("%s",p1->NO);//学号 PF("\t\t输入学生姓名:\t"); scanf("%s",p1->name);//姓名 PF("\t\t输入学生年龄:\t"); scanf("%d",&p1->age);//年龄 PF("\t\t输入学生性别:\t"); scanf("%s",p1->sex);//性别 PF("\t\t输入学生出生年月:\t"); scanf("%s",p1->birthday);//出生年月 PF("\t\t输入学生地址:\t"); scanf("%s",p1->address);//地址 PF("\t\t输入学生电话:\t"); scanf("%s",p1->phone);//电话 PF("\t\t输入学生E-mail:\t"); scanf("%s",p1->e_mail);//E-mailn++; if(head->next==NULL) { head=(STU*)malloc(LEN); head->next=p1; } else { for(p2=head;p2->next!=NULL;p2=p2->next);/*找到最后的结点,然后将增加的结点挂在它上面*/ p2->next=p1; } p1->next=NULL;save();//保存到文件}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆学生信息浏览◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidprint_stu()//学生信息浏览{ STU*p=NULL; if(head==NULL)//判断链表是否为空 { PF("文档中无记录!\n"); return; } for(p=head->next;p!=NULL;p=p->next)//读出信息 { PF("※※※※※※※※※※※※※※※※※※学生信息浏览※※※※※※※※※※※※※※※※※※\n"); PF("\t\t学生学号:\t%s\n",p->NO); PF("\t\t学生姓名:\t%s\n",p->name); PF("\t\t学生年龄:\t%d\n",p->age); PF("\t\t学生性别:\t%s\n",p->sex); PF("\t\t学生出生年月:\t%s\n",p->birthday); PF("\t\t学生地址:\t%s\n",p->address); PF("\t\t学生电话:\t%s\n",p->phone); PF("\t\t学生E-mail:\t%s\n",p->e_mail); PF("\n"); } //输出信息}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆学生学号信息查找◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidsearch_NO() //学生学号信息查找{ STU*p=NULL; charNO[20]; if(head==NULL)//判断链表是否为空 { PF("文档中无记录!\n"); return; } PF("请输入学生学号:");scanf("%s",NO); for(p=head->next;p!=NULL;p=p->next)//读出信息 { if(!strcmp(p->NO,NO)) { PF("※※※※※※※※※※※※※※※※※※您查找的学生是※※※※※※※※※※※※※※※※※※\n"); PF("\t\t学生学号:\t%s\n",p->NO); PF("\t\t学生姓名:\t%s\n",p->name); PF("\t\t学生年龄:\t%d\n",p->age); PF("\t\t学生性别:\t%s\n",p->sex); PF("\t\t学生出生年月:\t%s\n",p->birthday); PF("\t\t学生地址:\t%s\n",p->address); PF("\t\t学生电话:\t%s\n",p->phone); PF("\t\t学生E-mail:\t%s\n",p->e_mail); PF("\n"); i=1; } //输出信息 if(!i) { PF("无该生信息!请查证:");//没找到信息时的处理 return; } }}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆学生姓名信息查找◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidsearch_name()//学生姓名信息查找{ STU*p=NULL; charname[20]; if(head==NULL)//判断链表是否为空 { PF("文档中无记录!\n"); return; } PF("输入学生姓名:");scanf("%s",name); for(p=head->next;p!=NULL;p=p->next)//读出信息 { if(!strcmp(p->name,name)) { PF("※※※※※※※※※※※※※※※※※※您查找的学生是※※※※※※※※※※※※※※※※※※\n"); PF("\t\t学生学号:\t%s\n",p->NO); PF("\t\t学生姓名:\t%s\n",p->name); PF("\t\t学生年龄:\t%d\n",p->age); PF("\t\t学生性别:\t%s\n",p->sex); PF("\t\t学生出生年月:\t%s\n",p->birthday); PF("\t\t学生地址:\t%s\n",p->address); PF("\t\t学生电话:\t%s\n",p->phone); PF("\t\t学生E-mail:\t%s\n",p->e_mail); PF("\n"); i=1; } //输出信息 if(!i) { PF("无该生信息!请查证:");//没找到信息时的处理 return; } }}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆删除学生信息◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voiddel_stu(){ STU*p=NULL; if(head==NULL) //判断链表是否为空 { PF("文档中无记录!\n"); return; } else { charNO[20]; PF("请输入学生的学号:\t"); scanf("%s",NO); for(p=head;p!=NULL;p=p->next) { if(!strcmp(p->next->NO,NO)) //验证信息是否正确 { PF("※※※※※※※※※※※※※※※※※※您要删除的学生是※※※※※※※※※※※※※※※※※※\n"); PF("\t\t学生学号:\t%s\n",p->next->NO); PF("\t\t学生姓名:\t%s\n",p->next->name); PF("\t\t学生年龄:\t%d\n",p->next->age); PF("\t\t学生性别:\t%s\n",p->next->sex); PF("\t\t学生出生年月:\t%s\n",p->next->birthday); PF("\t\t学生地址:\t%s\n",p->next->address); PF("\t\t学生电话:\t%s\n",p->next->phone); PF("\t\t学生E-mail:\t%s\n",p->next->e_mail); PF("\n"); //输出要删除的信息 i=1; if(p->next->next) { p->next=p->next->next; } else p->next=NULL; n--; save(); return; } if(!i) { PF("无该生信息!请查证:");//没找到信息时的处理 return; } } }}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆修改学生信息◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidrevise_stu(){ STU*p=NULL; if(head==NULL)//判断链表是否为空 { PF("文档中无记录!\n"); return; } charNO[20]; PF("请输入学生的学号:\t"); scanf("%s",NO); for(p=head->next;p!=NULL;p=p->next) { if(!strcmp(p->NO,NO)) //验证信息是否正确 { PF("※※※※※※※※※※※※※※※※※※您要修改的学生是※※※※※※※※※※※※※※※※※※\n"); PF("\t\t学生学号:\t%s\n",p->NO); PF("\t\t学生姓名:\t%s\n",p->name); PF("\t\t学生年龄:\t%d\n",p->age); PF("\t\t学生性别:\t%s\n",p->sex); PF("\t\t学生出生年月:\t%s\n",p->birthday); PF("\t\t学生地址:\t%s\n",p->address); PF("\t\t学生电话:\t%s\n",p->phone); PF("\t\t学生E-mail:\t%s\n",p->e_mail); PF("\n"); //输出要修改信息 i=1;PF("※※※※※※※※※※※※※※※※※※修改学号为%s的学生※※※※※※※※※※※※※※※※※※\n",NO); strcpy(p->NO,NO); PF("\t\t输入修改学生学号:\t"); scanf("%s",p->NO); PF("\t\t输入修改学生姓名:\t"); scanf("%s",p->name); PF("\t\t输入修改学生年龄:\t"); scanf("%d",&p->age); PF("\t\t输入修改学生性别:\t"); scanf("%s",p->sex); PF("\t\t输入修改学生出生年月:\t"); scanf("%s",p->birthday); PF("\t\t输入修改学生地址:\t"); scanf("%s",p->address); PF("\t\t输入修改学生电话:\t"); scanf("%s",p->phone); PF("\t\t输入修改学生E-mail:\t"); scanf("%s",p->e_mail); PF("\n");//输入修改信息 save(); } if(!i) { PF("无该生信息!请查证:"); /*没找到信息时的处理*/ return; } }}//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆保存信息◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆voidsave(){ printf("※※※※※※※※※※※※※※※※※※保存信息并结束※※※※※※※※※※※※※※※※※※\n"); STU*p=NULL; FILE*fp; char*filename="fname.txt"; if((fp=fopen("fname.txt","w"))==NULL)//出错检测 { printf("\n打不开文件!\n"); return; } if(head->next==NULL) { printf("\n信息为空!\n"); return; } else p=head->next; while(p!=NULL) { fprintf(fp,"%s%s%d%s%s%s%s%s\n",p->NO,p->name,p->age, p->sex,p->birthday,p->address,p->phone,p->e_mail); //存入文件 p=p->next; } printf("保存完毕!\n"); fclose(fp);}参考文献《C语言程序设计》,谭浩强,清华大学出版社致谢基于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-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究HYPERLI

温馨提示

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

评论

0/150

提交评论