C语言程序设计课程设计-车辆会员管理系统的设计与实现.doc_第1页
C语言程序设计课程设计-车辆会员管理系统的设计与实现.doc_第2页
C语言程序设计课程设计-车辆会员管理系统的设计与实现.doc_第3页
C语言程序设计课程设计-车辆会员管理系统的设计与实现.doc_第4页
C语言程序设计课程设计-车辆会员管理系统的设计与实现.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1C语言程序设计课程设计任务书语言程序设计课程设计任务书学院计算机与信息工程学院专业网络工程课程名称程序设计基础题目汽车会员管理系统的设计与实现完成期限2016年6月13日至2016年6月26日共2周内容及任务一、项目的目的1巩固和加深学生对程序设计课程基本知识的理解,综合该课程中所学的理论知识,独立或联合完成一个应用课题的设计;2根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;3理解文件的打开、关闭及其顺序读写操作。二、项目任务的主要内容和要求内容:设计一个汽车会员管理系统程序。基本信息包括:会员编号、会员名称、会员身份证号码、所购车型、车辆金额、联系电话、备注等。该程序具有以下功能:(1)信息的添加;(2)信息的删除;(3)信息的查询;(4)信息的修改;(5)提供一些统计各类信息的功能等。要求:程序结构合理、算法准确、语法正确,并生成可执行文件。三、项目设计(研究)思路汽车公司的会员管理系统是一个对会员信息进行录入、删除、修改、浏览、查询和存盘等操作的管理应用软件,用户可以对文件中存储的会员进行查找和浏览,了解会员的名称、所购车型、联系电话等信息。该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对会员名称和联系方式的管理操作。四、具体成果形式和要求成果形式:程序和报告。具体要求:本系统主要应用结构化的设计思想实现汽车会员信息的增、删、改和查等典型管理功能。各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。最后提交课程设计报告。2起止日期工作内容2016年6月13号至2016年6月14号需求分析,按照课题要求,搜集查阅相关参考资料。2016年6月15号至2016年6月20号概要设计和详细设计阶段,根据前期的需求分析结果,定义系统实现所需的自定义数据类型及完成各函数功能。2016年6月21号至2016年6月24号程序的进一步完善,调试与测试,撰写课程设计报告。进度安排2016年6月25号至2016年6月26号完善课程设计报告,提交程序和报告。主要参考资料1BrianW.KernighanDennisM.Ritchie李志,徐宝文译C程序设计语言.2何钦铭颜晖.C语言程序设计M.北京.高等教育出版社20083谭浩强,张基温C语言程序设计教程(第3版)M北京:高等教育出版社,2006指导教师意见(签字):年月日系(教研室)主任意见(签字):年月日C语言程序设计课程设计说明书语言程序设计课程设计说明书学院名称:计算机与信息工程学院班级名称:网络工程152学生姓名:学号:题目:汽车会员管理系统的设计与实现指导教师姓名:起止日期:2016年6月13日至2016年6月26日2目录目录1.背景.12.设计思路.12.1课程设计思想.12.1.1设计内容.12.1.2设计要求.12.2功能需求.22.3软硬件运行环境及开发工具.22.4系统功能结构图.23.详细设计.23.1系统化分析.23.2密码登录模块.33.3主函数及主界面.43.4插入模块.53.5删除模块.63.6修改模块.83.7查询模块.113.8退出系统.134.调试与测试.144.1密码函数.144.2主界面模块.144.3会员信息录入模块.154.4会员信息查询模块.154.5修改模块.164.6删除模块.164.7插入模块.174.8存储模块.174.9遇到的问题.175.总结.18参考文献.18附录.19致致谢谢.2711.背景背景21世纪,我们已经进入了信息时代,计算机的使用大大方便了我们的日常生活,手工的会员信息管理已经不能满足我们的需求,查询困难等缺点是人工的会员信息管理所不能克服的。在此情况下,就需要一个程序化的自动的会员信息管理系统来满足人们的需求。在C语言的平台下实现,用户可以方便的进行各项操作。C语言是一种程序设计语言,早在20世纪90年代,C语言表现出了强劲的生命力,C语言是一种结构化语言。1它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。2它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。3它还可以直接访问内存的物理地址,进行位(bit)一级的操作。4由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。5此外,C语言还具有效率高,可移植性强等特点。因此可以广泛地移植到了各类型计算机上,从而形成了多种版本的C语言。采用结构体数组和文件的方式,完成了对数组的录入、显示、排序、查找、删除、修改、插入、保存等功能。2.设计思路设计思路此汽车会员管理系统的设计思路是一个对会员信息进行录入、删除、修改、浏览、查询和存盘等操作的管理应用软件,用户可以对文件中存储的会员进行查找和浏览,了解会员的名称、所购车型、联系电话等信息。该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对会员名称和联系方式的管理操作。2.12.1课程设计思想课程设计思想本系统主要应用结构化的设计思想实现汽车会员信息的增、删、改和查等典型管理功能。各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。在软件开发过程中应用了高级语言程序设计中的基本控制结构,如选择、循环、顺序结构。系统的设计方法是结构化设计方法,采用C语言进行开发。2.1.1设计内容设计内容汽车会员管理系统中的会员编号,会员名称,会员身份证号码,所购车型,车辆金额,联系电话,备注等。22.1.2设计要求设计要求程序设计合理,算法准确,语法正确,并生生成可执行文件。2.2功能需求功能需求要求完成以下功能:(1)录入会员信息(2)删除会员信息(3)修改会员信息(4)浏览会员信息(5)查询会员信息(6)保持会员信息2.3软硬件运行环境及开发工具软硬件运行环境及开发工具VC+6.0,windows10操作系统,一台PC机。2.2.44系统功能结构图系统功能结构图本系统包含录入会员信息,删除会员信息,修改会员信息,浏览会员信息,查询会员信息,保存会员信息。如图2-1图2-1会员信息管理录入会员信息删除会员信息修改会员信息浏览会员信息查询会员信息保存会员信息33.详细设计详细设计3.1系统化分析系统化分析将程序整体进行模块化处理,使程序编译思路更加清晰,降低了编译程序的难度。会员信息中包含编号、名称、身份证号码、所购车型、车辆金额、联系电话、备注等基本信息,程序具有信息录入、删除、修改、浏览、查询和存盘等功能。3.2密码登录模块密码登录模块进入前需输入密码,防止非本公司人员泄露会员的隐私。其代码如下:intachars110=112233chars210doprintf(n)printf(n)printf(请输入密码:n)printf(n)printf(n)gets(s2)if(strcmp(s1s2)=0)a=1elsea=04if(a=1)比较输入的密码str1和设定的密码str2,输出密码正确。printf(密码输入正确n)elseif(a=0)printf(对不起密码输入错误,请从新输入n)while(a=0)system(cls)3.3主函数及主界面主函数及主界面函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以选择所要求的操作,使操作方便,易于进行查找、添加、修改、删除等功能。其代码如下:intiprintf(欢迎进入汽车会员信息管理系统n)printf(=n)printf(=n)printf(n)printf(1、会员信息录入n)printf(2、会员信息查询n)printf(3、会员信息修改n)printf(4、删除会员信息n)printf(5、插入会员信息n)printf(6、保存会员信息n)printf(7、退出系统n)printf(请您输入(1-7)数字键n)do5scanf(%di)if(i7i7i1)3.4插入模块插入模块系统管理员通过此模块可以在原有记录的基础上随意的添加其他会员信息,通过系统的提醒依次的录入所要记录的会员的所有信息,可以添加多个会员信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入。voidcharu()intimFILEfpcharchprintf(请输入要插入的会员的个数:)scanf(%dm)if(fp=(d:filepathw)=NULL)printf(n保存失败!)exit(0)for(i=0imi+)printf(请输入第%d个会员的信息:ni+1)printf(编号:)scanf(%smemi.num)printf(n)printf(名称:)scanf(%)printf(n)printf(身份证号码:)scanf(%smemi.id)printf(n)printf(所购车型:)6scanf(%smemi.type)printf(n)printf(联系电话:)scanf(%smemi.phone)printf(n)printf(车辆金额)scanf(%smemi.money)printf(n)printf(备注)scanf(%smemi.remark)printf(n)fclose(fp)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()3.5删除模块删除模块管理员通过这块模块可以对不需要的信息进行删除,使用方便,只需要输入所要删除的会员信息编号即可,系统会自动搜索,确定删除后此信息消失。其代码如下:voidshanchu()intijflag=0chars130charchprintf(请输入要删除会员的编号:n)scanf(%ss1)7for(i=0iMi+)if(strcmp(memi.nums1)=0)flag=1for(j=ijM-1j+)memj=memj+1if(flag=0)printf(该编号不存在!n)if(flag=1)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)printf(删除成功n)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()83.6修改模块修改模块考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。其代码如下:voidxiugai()intiitemjintm=1chars120s220printf(修改前的信息:n)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)printf(n)printf(请输入要要修改的会员的编号:n)scanf(%ss1)for(i=0iMi+)if(strcmp(memi.nums1)=0)比较字符串是否相等j=iprintf(-n)printf(1.修改名称n)printf(2.修改编号n)printf(3.修改身份证号码n)printf(4.修改所购车型n)printf(5.修改联系电话n)printf(6.修改车辆金额n)9printf(7.修改备注n)printf(8.退出本菜单n)printf(-n)while(m=1)printf(请选择子菜单编号:)scanf(%ditem)switch(item)case1:printf(请输入新的名称:n)scanf(%ss2)strcpy(s2)breakcase2:printf(请输入新的编号:n)scanf(%ss2)strcpy(memj.nums2)breakcase3:printf(请输入新的身份证号码:n)scanf(%ss2)strcpy(memj.ids2)breakcase4:printf(请输入新的所购车型:n)scanf(%ss2)strcpy(memj.types2)breakcase5:printf(请输入新的联系电话:n)scanf(%ss2)strcpy(memj.phones2)breakcase6:printf(请输入新的车辆金额:n)scanf(%ss2)strcpy(memj.moneys2)breakcase7:printf(请输入新的备注:n)10scanf(%ss2)strcpy(memj.remarks2)breakcase8:m=0printf(修改之后的数据:)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)printf(n)voidshanchu()删除函数intijflag=0chars130charchprintf(请输入要删除会员的编号:n)scanf(%ss1)for(i=0iMi+)if(strcmp(memi.nums1)=0)flag=1for(j=ijM-1j+)memj=memj+111if(flag=0)printf(该编号不存在!n)if(flag=1)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)printf(删除成功n)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()3.7查询模块查询模块亦称检索模块。如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息。本模块可通过输入会员的编号或者名称进行查找,之后系统会显示其所有的信息。输入信息不存在则退出本次查询。其代码如下:voidmingcheng()inti12charName30chdoprintf(请输入您所要查询的会员名称:)scanf(%sName)for(i=0iMi+)if(strcmp(Name)=0)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)breakif(strcmp(Name)!=0)printf(对不起您所要查询的会员不存在。)while(strcmp(Name)!=0)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()voidbianhao()inticharnum15chdo13printf(请输入您所要查询的编号:)scanf(%snum)for(i=0iMi+)if(strcmp(memi.numnum)=0)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)breakif(strcmp(memi.numnum)!=0)printf(对不起您所要查询的会员不存在。)while(strcmp(memi.numnum)!=0)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()3.8退出系统退出系统当对系统操作完成以后,想退出此操作只需在界面中选择退出系统模块的代号,系统就自动退出此次运行程序。其核心代码如下:system(cls)144.调试与测试调试与测试4.1密码函数密码函数系统的进入阶段,此阶段有密码的设置。为了保护会员个人信息安全以及方便管理人员的查看我们进行了密码的设置。进入页面如图4-1图4-1密码函数4.2主界面模块主界面模块正确输入密码后进入主界面模板,进入汽车会员信息管理系统,首界面包含会员信息录入,会员信息查询,会员信息修改,删除会员信息,插入会员信息,保存会员信息以及退出系统。如图4-215图4-2主界面4.3会员信息录入模块会员信息录入模块进入会员信息录入模板,此页包含会员的编号,名称,身份证号码,所购车型,联系电话,车辆金额以及备注。在最后询问是否继续输入?如图4-3图4-3信息录入4.4会员信息查询模块会员信息查询模块会员信息查询模板,此页包含名称,编号以及返回主菜单的选项。输入所16要查询的会员名称,然后出现会员的信息包含名称,编号,身份证号码,所购车型,联系电话,车辆金额以及备注如图4-4图4-4信息查询4.5修改模块修改模块此页面是对汽车会员管理系统的修改,修改的选项包含会员编号,会员的名称,会员的身份证,会员所购的车型,会员车辆金额,会员的联系电话以及备注。如图4.5图4-5信息修改174.6删除模块删除模块次页面是删除模板,可以删除会员的名称,编号,身份证号码,所购车型,联系电话,车辆金额以及备注如图4-6图4-6信息删除4.7插入模板插入模板次页面是对会员信息的插入。输入要插入会员的个数,会员的信息。包含名称,编号,身份证号码,所购车型,联系电话,车辆金额以及备注。如图4-718图4-7信息插入4.8存储模板存储模板次页面是对文件储存路径的设定,页面显示输入要保存的文件路径:次储存模板是对文件的储存。如图4-8图4-8文件的储存4.9遇到的问题遇到的问题1.有的选项没有返回上一层的功能;2.密码没有用代替,直接显示数字,不太安全;3.系统有些生硬,只能按部就班,较为繁琐。5.总结总结通过这次对汽车会员管理系统的编译,我们实现了对汽车会员信息的管理,包含会员的名称,会员编号,会员信息的录入,会员信息的查询,会员信息的删除,会员信息的修改,会员信息的储存。同时我们了解了C语言程序设计的思想,我们的程序很实用,但它依然有许多不足之处,我所编译的程序容量有限,而且每次操作都要回到主界面,在这方面该系统还有待于进一步优化。在这次课程设计中我也知道了自己的动手能力不强,有待于进一步提高。在设计过程中不能够灵活得把书本上的知识与实际相结合,在调试过程中一次次出错,差点是我放弃,但是在同组同学的帮助、鼓励和配合下,最终我完成了此次课程设计的任务。这也使我重新树立了自信心,相信自己可以做好,但是要扎实掌握理论知识,灵活运用。19参考文献参考文献1谭浩强,张基温C语言程序设计教程(第3版)M北京:高等教育出版社20062BrianW.KernighanDennisM.Ritchie李志,徐宝文译C程序设计语言.3何钦铭颜晖.C语言程序设计M.北京.高等教育出版社200820附录附录程序清单:#include#include#include#include#defineM300voidzonghanshu()structmembercharnum10charname15charid20chartype20charmoney20charphone20charremark25memMvoidpass()inta密码函数chars110=112233chars210doprintf(n)printf(n)printf(请输入密码:n)printf(n)printf(n)gets(s2)if(strcmp(s1s2)=0)a=1elsea=0if(a=1)比较输入的密码str1和设定的密码str2是否相同printf(密码输入正确n)elseif(a=0)21printf(对不起密码输入错误,请从新输入n)while(a=0)system(cls)voidfun1()inti=0charchintflagdo输入会员信息函数printf(请输入第%d个会员的信息:ni+1)printf(编号:)scanf(%smemi.num)printf(n)printf(名称:)scanf(%)printf(n)printf(身份证号码:)scanf(%smemi.id)printf(n)printf(所购车型:)scanf(%smemi.type)printf(n)printf(联系电话:)scanf(%smemi.phone)printf(n)printf(车辆金额)scanf(%smemi.money)printf(n)printf(备注)scanf(%smemi.remark)printf(n)i+printf(是否继续输入?(YN)ch=getch()if(ch=Y|ch=y)flag=1if(ch=N|ch=n)flag=0while(flag)system(cls)zonghanshu()voidmingcheng()按会员名称查询22inticharName30chdoprintf(请输入您所要查询的会员名称:)scanf(%sName)for(i=0iMi+)if(strcmp(Name)=0)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)breakif(strcmp(Name)!=0)printf(对不起您所要查询的会员不存在。)while(strcmp(Name)!=0)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()voidbianhao()按编号查询inticharnum15chdoprintf(请输入您所要查询的编号:)scanf(%snum)for(i=0iMi+)if(strcmp(memi.numnum)=0)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)break23if(strcmp(memi.numnum)!=0)printf(对不起您所要查询的会员不存在。)while(strcmp(memi.numnum)!=0)printf(按0返回主菜单n)ch=getch()if(ch=0)system(cls)zonghanshu()voidfun2()查询函数intiprintf(-n)printf(1、名称n)printf(2、编号n)printf(按3返回主菜单n)printf(请选择1或者2再或者3n)scanf(%di)switch(i)case1:mingcheng()breakcase2:bianhao()breakcase3:system(cls)zonghanshu()voidxiugai()修改函数intiitemjintm=1chars120s220printf(修改前的信息:n)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)24printf(n)printf(请输入要要修改的会员的编号:n)scanf(%ss1)for(i=0iMi+)if(strcmp(memi.nums1)=0)比较字符串是否相等j=iprintf(-n)printf(1.修改名称n)printf(2.修改编号n)printf(3.修改身份证号码n)printf(4.修改所购车型n)printf(5.修改联系电话n)printf(6.修改车辆金额n)printf(7.修改备注n)printf(8.退出本菜单n)printf(-n)while(m=1)printf(请选择子菜单编号:)scanf(%ditem)switch(item)case1:printf(请输入新的名称:n)scanf(%ss2)strcpy(s2)breakcase2:printf(请输入新的编号:n)scanf(%ss2)strcpy(memj.nums2)breakcase3:printf(请输入新的身份证号码:n)scanf(%ss2)strcpy(memj.ids2)breakcase4:printf(请输入新的所购车型:n)scanf(%ss2)strcpy(memj.types2)breakcase5:printf(请输入新的联系电话:n)scanf(%ss2)strcpy(memj.phones2)breakcase6:printf(请输入新的车辆金额:n)scanf(%ss2)strcpy(memj.moneys2)breakcase7:printf(请输入新的备注:n)scanf(%ss2)strcpy(memj.remarks2)breakcase8:m=025printf(修改之后的数据:)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)printf(车辆金额)printf(%snmemi.money)printf(备注)printf(%snmemi.remark)printf(n)voidshanchu()删除函数intijflag=0chars130charchprintf(请输入要删除会员的编号:n)scanf(%ss1)for(i=0iMi+)if(strcmp(memi.nums1)=0)flag=1for(j=ijM-1j+)memj=memj+1if(flag=0)printf(该编号不存在!n)if(flag=1)for(i=0iMi+)printf(名称)printf(%)printf(编号)printf(%snmemi.num)printf(身份证号码)printf(%snmemi.id)printf(所购车型)printf(%snmemi.type)printf(联系电话)printf(%snmemi.phone)pri

温馨提示

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

评论

0/150

提交评论