版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本模板是课程设计报告模板,请各位同学认真阅读以下要求:本页为设计报告要求页,不必打印。(制作好报告后输出时将本页删除)本模板的各种字体及页面设置请同学们不要改动。本设计报告左侧装订。在虚线处装订。在课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。在课程设计评定表一页上用宋体小四填写班级、学号、姓名、项目组、项目组长、项目组组员、本人工作简介。组长评语一栏应由组长来给出。在课程设计任务书一页的开头应按照给定的设置(黑体三号)填写好你的班级,在第五项时间安排里面应用宋体五号加粗来填写好日期范围。从程序基本框架结构图开始到设计报告的最后一页都要求有页眉,内容为你的课程设计题目,宋体小五居中。页脚中的页码已经设置好,同学们不必改动。在程序基本框架结构图采用WORD中的自选图形绘制程序基本框架结构图,也就是程序流程图。在程序设计说明书中应该描述程序的设计思想,重点描述自己做的那部分的设计思想。字体用宋体小四。在代码清单中打印程序已经调试好的可运行的程序代码。要求字体为宋体五号。(页数可增加)报告的最后一部分是设计总结,应在程序代码之后另起一页,主要写通过一周课程设计你自己的体会,包括你学到了什么,哪里遇到了困难解决的办法以及今后的目标。字体用宋体小四。报告的各个部分都可以不为规定的一页,自己可增加页数,但要保证开始另外一项要另起一页。13.服务课程名称:本科添写:C语言;/专科添写:计算机语言(c)14.报告完成后,要更新目录。方法为:单击目录左侧,选定整个目录后,按F9键更新目录。15.红色的字要删除
┊┊┊┊课程设计服务课程名称:计算机语言(C)系:自动控制工程系专业:电气自动化技术服务课程名称:计算机语言(C)系:自动控制工程系专业:电气自动化技术班级:电自专111学号:2011338120姓名:崔永恒指导教师:宋丹茹、刘晓慧课程设计周次:第17周起始日期:2012.6.18至2012.6.24目录TOC\h\z\t"标题2,1"C语言课程设计成绩评定表 1C语言课程设计任务书 2程序设计思路 3程序基本框架结构图 5系统运行界面截图 6源代码清单 8课程设计总结 15C语言课程设计-PAGE3-┊┊C语言课程设计成绩评定表┊┊班级电自专111学号2011338120姓名崔永恒项目组第3组项目组长崔永恒项目组组员初宇、陆海洋、李鑫、马文权本人工作简介:在课程设计中,我主要负责整个程序的编辑,重点负责的是插入信息和显示所有记录功能模块的设计。除此之外,我还协助其他组员完成代码的调试。组长评语:对于本次实训,我顺利的完成了自己负责的功能模块,并协助其他组员进行了程序调试、运行及实训报告的制作。虽然,我在C语言的掌握上还存在不足,但我对自己的总体表现比较满意。成绩评定标准ABCDE理论基础很好好比较好一般不好报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序创意很好好比较好一般不好所选模块完成情况很好好一般较差不好所选算法难易程度复杂比较复杂一般简单很简单程序可操作性很好好一般较差不好答辩表现很好好一般较差不好最后成绩优秀A>=5B<=3C<=0D=0E=0良好A>=3B<=4C<=1D=0E=0中等A>=1B>=2C>=4D<=1E=0及格A=0B=0C<=4D>=4不及格A=0B=0C=0D<=4E>=4负责指导教师:(签名)指导教师:(签名)
C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料 2、遵守课程设计时间安排3、按时上机,认真调试程序 4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮 2、目录3、课程设计成绩评定表 4、课程设计任务书5、程序基本框架图6、程序设计说明书7、源代码清单 8、课设总结与心得四、设计题目_________________通讯录管理系统____________________五、时间安排(一周:从6月18日到6月24日)1、查阅资料及程序设计(1天) 2、程序编制及调试(3天)3、成绩评定(0.5天) 3、打印报告(0.5天)六、参考文献1、《C语言程序设计》李淑华/李贞编大连理工大学出版社2、《C语言程序设计》孙连科/姚大鹏编辽海出版社3、《C++时尚编程百例》网冠科技编.机械工业出版社4、《TURBOC实用大全》徐金梧等编.机械工业出版社通讯录管理系统
程序设计思路一、程序功能:1、完成通讯录信息的管理,包括创建通讯录,插入信息,查询记录,修改记录,删除记录,显示所有记录,退出通讯录。2、能够根据联系人的信息单独或分类查询。二、设计思路为了实现通讯录管理系统的功能,我们组选用了动态链表。因为动态链表,这种数据结构非常灵活,结点数目无需事先指定,可以临时生成。每个结点有自己的存储空间,用来存放该结点的数据,结点间的存储空间也无需连续,结点之间的串联由指针来完成,指针的操作又极为灵活方便。根据功能可以分为如下几个功能模块;1、通讯录初始化模块:通过函数打开指定文件,并用函数将文件内的数据读入结构体数组中,这两个标准库函数都定义在stdio.h头文件中。对整个函数的返回值进行定义,用来并表示导入的数据成员个数,而后将该值赋给全局变量用来计数。所涉及的的变量有姓名、性别、电话、所在城市、邮编、,对其进行定义。2、保存文件函数:通过将文件名字符串作为参数传入,用函数将当前结构体数组中的全部数据写入文件中并关闭文件。该函数无返回值。3、创建通讯录函数:该函数没有参数,通过提示用户输入数据;当输入的姓名或电话号码重复时,提示用户重复并重新输入;被录入一个完整的新数据后让全局变量自增,并将其作为函数的返回值返回。4、插入信息函数:将用户要插入的成员姓名作为参数传入,通过提示用户输入数据,依次输入要插入的数据。再用函数将当前结构体数组中的完善后的数据写入文件中并关闭文件。5、查询记录函数:将用户要找的成员姓名作为参数传入,遍历所有结构体并找出符合的输出,若输出成功则可以继续查找,用户所输姓名不存在则输出用户名不存在。6、修改记录函数:将用户要修改的成员姓名作为参数传入,遍历所有结构体并找出符合的,依次提示修改项目,由用户输入新数据并保存,返回值同查找记录函数。7、删除记录函数:将用户要删除的成员姓名作为参数传入,遍历所有结构体并找出符合的删除,并将后面的所有数据向前移动一个位置,返回值同查找记录函数。8、显示所有记录函数:无参数传入,无返回值,用户根据提示输入指令,在程序中找出所需信息。该函数没有返回值。9、主函数:判断用户输入的指令,转向具体的函数来执行,并根据函数的返回值判断执行结果并予以提示。主函数中用特定语句结束程序,并在结束前提示用户保存数据。10、我负责模块是插入信息和显示所有记录,具体设计思路如下:a.插入信息模块:首先,对要插入的信息进行定义。然后,输入用户所要插入的数据,结束后,进行保存。这种插入是随机的,可以出现在任意部分。b.显示所有记录模块:定义某一变量,当输入该变量后,可以显示出通讯录中的所有已存储的信息。程序基本框架结构图通讯录通讯录管理系统管理系统创建通讯录显示所有记录删除记录修改记录退出系统查询记录创建通讯录显示所有记录删除记录修改记录退出系统查询记录插入信息返返回按姓名查询
系统运行界面截图
源代码清单#include<stdio.h>#include<string.h>#include<stdlib.h>typedefstructTelephone{charname[50];charsex[30];chartel[30];charcity[30];chareip[30];structTelephone*next;}TEL;TEL*head;voidInitiate();voidMenu();voidCreate();voidAdd();voidFind();voidAlter();voidDelete();voidList();intmain(){intchoice;charyes_no;Initiate();do{system("cls");Menu();printf("请选择0-6的数字\n");scanf("%d",&choice);printf("\n");switch(choice){case1:Create();break;case2:Add();break;case3:Find();break;case4:Alter();break;case5:Delete();break;case6:List();break;case0:printf("************感谢您的使用************\n");exit(0);break;default:printf("输入有误!请重新输入\n");break;}printf("是否继续YorN?\n");do{scanf("%c",&yes_no);}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}voidInitiate(){if((head=(TEL*)malloc(sizeof(TEL)))==NULL)exit(1);head->next=NULL;}voidMenu(){printf("**************欢迎使用通讯录系统**************");printf("\n");printf("\n");printf("1.创建通讯录。\n");printf("2.插入信息。\n");printf("3.查询记录\n");printf("4.修改记录\n");printf("5.删除记录!\n");printf("6.显示所有记录\n");printf("0.退出通讯录\n");printf("请输入0~6\n");}voidCreate(){TEL*p1[100],*p2;intm,i;printf("请输入创建个数:");scanf("%d",&m);for(i=1;i<=m;i++){p1[i]=(TEL*)malloc(sizeof(TEL));printf("请输入第%d条信息!\n",i);printf("姓名:\n");scanf("%s",&p1[i]->name);printf("性别:\n");scanf("%s",&p1[i]->sex);printf("电话:\n");scanf("%s",&p1[i]->tel);printf("城市:\n");scanf("%s",&p1[i]->city);printf("邮编:\n");scanf("%s",&p1[i]->eip);p1[i]->next=NULL;if(head->next==NULL)head->next=p1[i];else{for(p2=head;p2->next!=NULL;p2=p2->next);p2->next=p1[i];}}printf("信息已添加!\n");return;}voidAdd(){TEL*p,*q;if((q=(TEL*)malloc(sizeof(TEL)))==NULL)exit(1);printf("请输入要添加的信息!\n");printf("姓名:\n");scanf("%s",&q->name);printf("性别:\n");scanf("%s",q->sex);printf("电话:\n");scanf("%s",q->tel);printf("城市:\n");scanf("%s",q->city);printf("邮编:\n");scanf("%s",q->eip);for(p=head;p->next!=NULL;p=p->next);p->next=q;q->next=NULL;printf("此信息已添加!");return;}voidFind(){TEL*p;charname[50];if(head->next==NULL){printf("此通讯录为空!\n");return;}printf("请输入要查找的姓名:\n");scanf("%s",&name);for(p=head->next;p!=NULL;p=p->next){if(strcmp(p->name,name)==0){printf("姓名\t性别\t城市\t邮编\t电话\n");printf("%s\t%s\t%s\t%s\t%s\n",p->name,p->sex,p->city,p->eip,p->tel);}elseif(p->next==NULL)printf("无此信息!\n");}}voidAlter(){charname[50];TEL*p,*p1;if(head->next==NULL){printf("此通讯录为空!\n");return;}printf("请输入要修改的姓名:\n");scanf("%s",name);for(p=head->next;p!=NULL;p=p->next){if(strcmp(p->name,name)==0)break;elseif(p->next==NULL){printf("无此信息!\n");return;}}p1=(TEL*)malloc(sizeof(TEL));printf("姓名:\n");scanf("%s",p1->name);strcpy(p->name,p1->name);printf("性别:\n");scanf("%s",p1->sex);strcpy(p->sex,p1->sex);printf("电话:\n");scanf("%s",p1->tel);strcpy(p->tel,p1->tel);printf("城市:\n");scanf("%s",p1->city);strcpy(p->city,p1->city);printf("邮编:\n");scanf("%s",p1->eip);strcpy(p->eip,p1->eip);printf("此信息已修改!\n");printf("姓名\t性别\t城市\t邮编\t电话\n");printf("%s\t%s\t%s\t%s\t%s\n",p->name,p->sex,p->city,p->eip,p->tel);free(p1);}voidDelete(){charname[50];TEL*p=head->next,*p1=head->next,*p2;if(head->next==NULL){printf("此通讯录为空!\n");return;}printf("请输入要删除的姓名:\n");scanf("%s",name);while((strcmp(p->name,name)!=0)&&p->next!=NULL){p1=p;p=p->next;}if(strcmp(name,p->name)==0){if(p==head->next&&p->next!=NULL)head->next=p->next;elseif(p==head->next&&p->next==NULL){head->next=p->next;printf("信息已删除,先此通讯录为空!!\n");return;}elsep1->next=p->next;}else{printf("此信息不存在!!!\n");return;}printf("此信息已删除!");printf("姓名\t性别\t城市\t邮编\t电话\n");for(p2=head->next;p2!=NULL;p2=p2->next)printf("%s\t%s\t%s\t%s\t%s\n",p2->name,p2->sex,p2->city,p2->eip,p2->tel);}voidList(){TEL*p;if(head->next=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第七章 会计账簿
- ATP的主要来源细胞呼吸-1
- J10型程控交换机简介
- DNA提取原理和方法
- LCD显示器性能专业评点
- D幻灯片定稿第4章MCS-51汇编语言程序设计
- gbk成熟休眠与衰老
- C语言北工商课件
- 2026年特许金融分析师资格考试投资组合监控与调整试卷
- 患者护理记录健康宣教
- 急诊常见中毒的急救与护理
- 蒸汽管道试压作业方案
- 医院培训课件:《静脉留置针的应用及维护》
- 放射技术三基课件
- 烷烃的说课稿
- 商城物业服务合同模板
- DZ∕T 0348-2020 矿产地质勘查规范 菱镁矿、白云岩(正式版)
- 邮乐新员工入职培训考核试卷附有答案
- 早期人防工程分类鉴定标准
- 悬挑式卸料平台监理实施细则
- 镭雕机作业指导书
评论
0/150
提交评论