1、c语言学习知识课程教学设计机动车会员管理方案计划系统转载C语言程序设计 课 程 设 计题 目 汽车会员管理系统 系 (部) 信息工程系 班 级 姓 名 学 号 指导教师 2015年 月 日至 月 日 共 周 年 月 日C语言程序设计 课程设计任务书一、设计题目、内容及要求 题目:汽车会员管理系统程序设计内容:设计一个汽车会员管理系统程序。基本信息包括:会员编号、会员名称、会员身份证号码、所购车型、车辆金额、联系电话、备注等。该程序具有以下功能:(1)信息的添加;(2)信息的删除;(3)信息的查询;(4)信息的修改;(5)提供一些统计各类信息的功能等。 要求:程序结构合理、算法准确、语法正确,并
2、生成可执行文件。二、要求的设计成果(课程设计说明书、设计实物、图纸等) 1. 课程设计说明书:课程设计说明书1份,不少于2000字。说明书中要包含需求分析、总体设计、详细设计以及主要的算法描述等内容。 2. 源代码:程序清单,实现应用程序的功能。注重编码质量,代码要有适当的注释。三、进程安排3.2-3.3:查找资料。3.4-3.6:完成程序主体功能的设计。3.9-3.10:程序调试无误,生成可执行文件。3.11-3.12:撰写课程设计说明书初稿。3.13:提交课程设计说明书、程序和数据。四、主要参考资料1 谭浩强,张基温C语言程序设计教程(第3版)M北京:高等教育出版社,20062 吕凤煮C语
3、言基础教程基础理论与案例M北京:清华大学出版社,20053 黄明、梁旭、万洪莉C语言课程设计M北京:电子工业出版社,20064 郭宁,郑小玲管理信息系统M北京:人民邮电出版社,20065 赵池龙,杨林,陈伟实用软件工程M北京:电子工业出版社,2006指导教师(签名):教研室主任(签名): 课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日1引言1.1 设计要求21世纪,我们已经进入了信息时代,计算机的使用大大方便了我们的日常生活,手工的会员信息管理已经
4、不能满足我们的需求,查询困难等缺点是人工的会员信息管理所不能克服的。在此情况下,就需要一个程序化的自动的会员信息管理系统来满足人们的需求。在C语言的平台下实现,用户可以方便的进行各项操作。C语言是一种程序设计语言,早在20世纪90年代,C语言表现出了强劲的生命力,C语言是一种结构化语言。1它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。2它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。3它还可以直接访问内存的物理地址,进行位(bit)一级的操作。4由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体,既可用于系统软件的
5、开发,也适合于应用软件的开发。5此外,C语言还具有效率高,可移植性强等特点。因此可以广泛地移植到了各类型计算机上,从而形成了多种版本的C语言。采用结构体数组和文件的方式,完成了对数组的录入、显示、排序、查找、删除、修改、插入、保存等功能。1.2 系统概述汽车公司的会员管理系统是一个对会员信息进行录入、删除、修改、浏览、查询和存盘等操作的管理应用软件,用户可以对文件中存储的会员进行查找和浏览,了解会员的名称、所购车型、联系电话等信息。该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对会员名称和联系方式的管理操作。1.3开发与设计的总体思想 本系统主要应用结构化的设计思想实
6、现汽车会员信息的增、删、改和查等典型管理功能。各主要模块的数据均存储在文件中,因此包含对文件的读、写等基本操作。在软件开发过程中应用了高级语言程序设计中的基本控制结构,如选择、循环、顺序结构。系统的设计方法是结构化设计方法,采用C语言进行开发。 2.总体设计2.1功能需求汽车公司急需一款程序化的的会员管理系统,这种需求确定了系统的主要功能,该软件提供了一个对会员信息进行管理和查看的平台,给用户提供了一个简单友好的用户接口。2.2 系统功能结构图会员信息管理录入会员信息删除会员信息修改会员信息浏览会员信息查询会员信息保存会员信息 图1 系统结构功能图 3 详细设计3.1系统化分析 将程序整体进行
7、模块化处理,使程序编译思路更加清晰,降低了编译程序的难度。会员信息中包含编号、名称、身份证号码、所购车型、车辆金额、联系电话、备注等基本信息,程序具有信息录入、删除、修改、浏览、查询和存盘等功能。3.2密码登陆模块 进入前需输入密码,防止非本公司人员泄露会员的隐私。其代码如下:int a; char s110=112233; char s210; do printf( *n); printf(n); printf( 请 输 入 密 码 :n); printf(n); printf( *n); gets(s2); if(strcmp(s1,s2)=0) a=1; else a=0; if(a=1
8、) /*比较输入的密码str1和设定的密码str2, 输出密码正确。*/ printf(密码输入正确n); else if(a=0) printf(对不起密码输入错误,请从新输入n); while(a=0); system(cls);3.2主函数及主界面函数,就有了程序的框架,有了主调用函数和主菜单,从主界面可以选择所要求的操作,使操作方便,易于进行查找、添加、修改、删除等功能。其代码如下:int i; printf( 欢迎进入汽车会员信息管理系统 n); printf(=n); printf(=n); printf( n); printf( 1、会员信息录入 n); printf( 2、会员
9、信息查询 n); printf( 3、会员信息修改 n); printf( 4、删除会员信息 n); printf( 5、插入会员信息 n); printf( 6、保存会员信息 n); printf( 7、退出系统 n); printf( *请您输入(1-7)数字键* n); do scanf(%d,&i); if(i7&i7&i1); 3.3插入模块系统管理员通过此模块可以在原有记录的基础上随意的添加其他会员信息,通过系统的提醒依次的录入所要记录的会员的所有信息,可以添加多个会员信息,并且不需重新回到主界面,直接在系统的提示下进行再次输入。void charu() int i,m; FILE
10、 *fp; char ch; printf(请输入要插入的会员的个数:); scanf(%d,&m); if(fp=fopen(d:filepath,w)=NULL) printf(n保存失败!); exit(0); for(i=0;im;i+) printf(请输入第%d个会员的信息:n,i+1); printf(编号:); scanf(%s,&memi.num); printf(n); printf(名称:); scanf(%s,&memi.name); printf(n); printf(身份证号码:); scanf(%s,&memi.id); printf(n); printf(所购车
11、型:); scanf(%s,&memi.type); printf(n); printf(联系电话:); scanf(%s,&memi.phone); printf(n); printf(车辆金额); scanf(%s,&memi.money); printf(n); printf(备注); scanf(%s,&memi.remark); printf(n); fclose(fp); printf( 按0返回主菜单 n); ch=getch(); if(ch=0) system(cls);zonghanshu(); 3.4删除模块管理员通过这块模块可以对不需要的信息进行删除,使用方便,只需要输
12、入所要删除的会员信息编号即可,系统会自动搜索,确定删除后此信息消失。其代码如下:void shanchu() int i,j,flag=0; char s130; char ch; printf(请输入要删除会员的编号:n); scanf(%s,s1); for(i=0;iM;i+) if(strcmp(memi.num,s1)=0) flag=1; for(j=i;jM-1;j+) memj=memj+1; if(flag=0) printf(该编号不存在!n); if(flag=1) for(i=0;iM;i+) printf(名称);printf(%sn,memi.name); prin
13、tf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id); printf(所购车型); printf(%sn,memi.type); printf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.money); printf(备注);printf(%sn,memi.remark); printf(删除成功n); printf( 按0返回主菜单 n); ch=getch(); if(ch=0) system(cls);zonghanshu(); 3.5修改模
14、块考虑到有些信息可能会发生变动,该系统设置了修改模块,如果某个编号的信息发生变动,管理员可以通过此模块对该编号下的其他信息进行修改。其代码如下:void xiugai() int i,item,j; int m=1; char s120,s220; printf(修改前的信息:n); for(i=0;iM;i+) printf(名称);printf(%sn,memi.name); printf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id); printf(所购车型); printf(%sn,memi.type); pri
15、ntf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.money); printf(备注);printf(%sn,memi.remark); printf(n); printf(请输入要要修改的会员的编号:n); scanf(%s,s1); for(i=0;iM;i+) if(strcmp(memi.num,s1)=0) /*比较字符串是否相等*/ j=i; printf(-n); printf(1.修改名称n); printf(2.修改编号n); printf(3.修改身份证号码n); printf(4.修改所购车型n
16、); printf(5.修改联系电话n); printf(6.修改车辆金额n); printf(7.修改备注n); printf(8.退出本菜单n); printf(-n); while(m=1) printf(请选择子菜单编号:); scanf(%d,&item); switch(item) case 1: printf(请输入新的名称:n); scanf(%s,s2); strcpy(memj.name,s2); break; case 2: printf(请输入新的编号:n); scanf(%s,s2); strcpy(memj.num,s2); break; case 3: print
17、f(请输入新的身份证号码:n); scanf(%s,s2); strcpy(memj.id,s2); break; case 4: printf(请输入新的所购车型:n); scanf(%s,s2); strcpy(memj.type,s2); break; case 5: printf(请输入新的联系电话:n); scanf(%s,s2); strcpy(memj.phone,s2); break; case 6: printf(请输入新的车辆金额:n); scanf(%s,s2); strcpy(memj.money,s2); break; case 7: printf(请输入新的备注:n
18、); scanf(%s,s2); strcpy(memj.remark,s2); break; case 8:m=0; printf(修改之后的数据:); for(i=0;iM;i+) printf(名称);printf(%sn,memi.name); printf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id); printf(所购车型); printf(%sn,memi.type); printf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.m
19、oney); printf(备注);printf(%sn,memi.remark); printf(n); /*/void shanchu() /*删除函数*/ int i,j,flag=0; char s130; char ch; printf(请输入要删除会员的编号:n); scanf(%s,s1); for(i=0;iM;i+) if(strcmp(memi.num,s1)=0) flag=1; for(j=i;jM-1;j+) memj=memj+1; if(flag=0) printf(该编号不存在!n); if(flag=1) for(i=0;iM;i+) printf(名称);p
20、rintf(%sn,memi.name); printf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id); printf(所购车型); printf(%sn,memi.type); printf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.money); printf(备注);printf(%sn,memi.remark); printf(删除成功n); printf( 按0返回主菜单 n); ch=getch(); if(ch=0) system
21、(cls);zonghanshu(); 3.6查询模块亦称检索模块。如果信息太多查找起来很不方便,对此我们系统设计了查找模块,使用户可以很方便的找到自己需要的信息。本模块可通过输入会员的编号或者名称进行查找,之后系统会显示其所有的信息。输入信息不存在则退出本次查询。其代码如下:void mingcheng() int i; char Name30,ch; do printf(请输入您所要查询的会员名称:); scanf(%s,Name); for(i=0;iM;i+) if(strcmp(memi.name,Name)=0) printf(名称);printf(%sn,memi.name);
22、printf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id); printf(所购车型); printf(%sn,memi.type); printf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.money); printf(备注);printf(%sn,memi.remark); break; if(strcmp(memi.name,Name)!=0) printf(对不起您所要查询的会员不存在。);while(strcmp(memi.name,
23、Name)!=0); printf( 按0返回主菜单 n); ch=getch(); if(ch=0) system(cls);zonghanshu();/*/void bianhao() int i; char num15,ch; do printf(请输入您所要查询的编号:); scanf(%s,num); for(i=0;iM;i+) if(strcmp(memi.num,num)=0) printf(名称);printf(%sn,memi.name); printf(编号);printf(%sn,memi.num); printf(身份证号码);printf(%sn,memi.id);
24、 printf(所购车型); printf(%sn,memi.type); printf(联系电话); printf(%sn,memi.phone); printf(车辆金额);printf(%sn,memi.money); printf(备注);printf(%sn,memi.remark); break; if(strcmp(memi.num,num)!=0) printf(对不起您所要查询的会员不存在。);while(strcmp(memi.num,num)!=0); printf( 按0返回主菜单 n); ch=getch(); if(ch=0) system(cls);zonghanshu();3.9保存模块该模块的作用是保存管理员所存信息,以便用户查找。其代码如下:void save() FILE *fp; int i; char filepath20,ch; printf(输入要保存的文件路径:); scanf(%s,&filepath); if(fp=fopen(d:filepath,w)=NULL) printf(n保存失败!); exit(0); for(i=0;iM;i+) fprintf(fp,%10s%10s%10s%10s%10s%10s%10s%,memi.name,memi.num,memi.id,memi.type,memi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1