C语言课程设计协会会员信息管理系统说明书.docx

上传人:b****8 文档编号:9124937 上传时间:2023-02-03 格式:DOCX 页数:18 大小:71.29KB
下载 相关 举报
C语言课程设计协会会员信息管理系统说明书.docx_第1页
第1页 / 共18页
C语言课程设计协会会员信息管理系统说明书.docx_第2页
第2页 / 共18页
C语言课程设计协会会员信息管理系统说明书.docx_第3页
第3页 / 共18页
C语言课程设计协会会员信息管理系统说明书.docx_第4页
第4页 / 共18页
C语言课程设计协会会员信息管理系统说明书.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言课程设计协会会员信息管理系统说明书.docx

《C语言课程设计协会会员信息管理系统说明书.docx》由会员分享,可在线阅读,更多相关《C语言课程设计协会会员信息管理系统说明书.docx(18页珍藏版)》请在冰豆网上搜索。

C语言课程设计协会会员信息管理系统说明书.docx

C语言课程设计协会会员信息管理系统说明书

*******************

实践教学

*******************

 

兰州理工大学

计算机与通信学院

2010年春季学期

 

计算机语言B课程设计

 

题目:

协会会员信息管理系统

专业班级:

姓名:

学号:

指导教师:

成绩:

 

目录

摘要3

前言4

正文5

一、问题描述5

二、需求分析5

六软件使用说明书9

总结10

参考文献11

致谢12

附件Ⅰ部分原程序代码13

 

摘要

建立一个“协会会员信息管理系统”,系统以菜单方式工作,编写存放有会员信息,包含会员姓名、会员编号、性别、年龄、会员所学专业、会员所在学院、联系电话等,并可对这些信息进行浏览,修改;有新的会员加入时可以录入信息,还可以根据已知会员号查找会员信息,对原有的会员信息进行删除修改等。

关键词:

会员信息管理;文件;浏览;查询;修改;

 

前言

近年来,随着大学生队伍不断扩大,学校各社团及协会也相应的增加,有关会员的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导会员信息管理上的混乱,人力与物力过多浪费,协会运作不能达到预期的效果,从而减弱了协会的作用,影响整个协会运作和控制管理,因此,必须制定一套合理、有效,规范和实用的协会会员信息管理系统,对协会会员信息进行集中统一的管理。

系统开发的总的设计目标是实现协会会员信息管理的系统化、规范化和自动化,实现协会会员的集中统一的管理。

 

正文

一、问题描述

由于学校协会发展速度加快,协会规模的扩大,协会会员人说迅速增加,使得协会管理工作繁重,而且手工管理效率极低,急需一个软件系统解决这些问题。

为了跟上时代潮流,规范管理,提高协会的管理水平和管理效率,为了协会的发展及协会更好的运作,使协会发挥应有的作用,开发一个“协会会员信息管理系统”。

二、需求分析

本系统对会员信息从会员加入协会到离开协会的整个过程进行动态管理。

本系统能够随时修改会员信息,对会员信息进行删除或增加,还可以随时浏览会员信息或查询所需会员的信息,真正满足了协会会员信息变动快的需求。

三、系统设计

四详细设计

1.信息录入模块

Voidenter()

Printf(“输入会员编号”)

用chack-no()检查所属编号是否已从在;

是:

printf(重新输入)

否:

继续输入:

姓名性别年龄专业学院电话

利用save()函数对录入信息进行保存;

2、浏览信息模块

Browse()

调用录入信息;

利用for循环对录入的信息排序;

利用printf-face()函数按需输出会员信息;

3、信息添加模块

Voidadd()

printf("你想添加的人数为(0-%d):

",N-1-n);

利用for循环对会员信息录入;

4、信息查询模块

Voidsearch()

printf("\n选择你要查询的方式\n\t1).姓名2).按会员编号)

按菜单提示输入选项;

利用switch—case语句选择要查询的方式;

(1)按姓名

printf("\n\n请输入你要查询的会员姓名:

")

利用if(strcmp(p.name,people[i].name)==0)判断输入会员姓名是否存在

若存在

打印会员信息

利用for循环对同名的会员信息输出;

若不存在

printf("\n\n你输入的会员不存在!

")

(2按编号查询

printf("\n\n请输入你要查询的会员编号:

");

利用if(strcmp(p.num,people[i].num)==0)语句判断输入会员编号是否存在

若不存在printf("\n\n你输入的会员编号不存在!

")

printf("\n\n你想继续查询吗?

\n\t1).是2).否[]\b\b");

选2:

利用printf_back();返回

选1:

printf("\n\n请选择你要进行的操作:

\n\t1).查询2).修改3).删除4).返回主菜单

利用switch—case语句执行菜单内容

5、删除信息模块

通过4中的菜单第三项可进行对会员信息的删除

printf("\n你确定要删除吗?

\n\t1).是2).否[]\b\b");

选择则1

通过trcpy(people[a].num,people[a+1].num);

strcpy(people[a].name,people[a+1].name);

strcpy(people[a].sex,people[a+1].sex);

strcpy(people[a].age,people[a+1].age);

strcpy(people[a].zhuanye,people[a+1].zhuanye);

strcpy(people[a].xueyuan,people[a+1].xustrcp0

语句对信息进行删除;

提示是否保存信息

6、修改信息模块

Modifydate()

printf_face();打印会员信息表

{printf("\n\n请记着你要修改的会员编号。

按任意键继续...")

printf("\n\n请输入你要修改的会员信息的会员号:

");

利用if(strcmp(p.num,people[i].num)==0)判断输入是否正确

如有错误printf("\n\n你的输入有误,请从新输入")

如正确利用FILE*fp;调出会员信息

puts("\n请选择你要修改的选项\n\n1).会员号2).姓名3).性别4).年龄5).专业6)学院7)电话");

通过switch—case语句执行菜单,进行对会员信息的修改

printf("\n你确定吗\n\n\t1).是2).否3).返回且不保存[]\b\b");

选择是否保存;

五系统测试

用以下的例子做测试,选择输入操作,依次输入,会员号、姓名、性别、年龄、专业学院、电话返回则选择浏览、查询、修改、删除功能

编号

姓名

性别

年龄

专业

学院

电话

01

小雨

19

计算机科学

计通学院

131********

03

小李

22

通信工程

计通学院

155********

04

小花

20

机电一体化

电信院

151********

12

小虎

22

日语

外语院

152********

22

小明

21

英语

外语院

152********

 

六软件使用说明书

(1)根据正确的提示安装软件。

(2)Intel486以上系列、AMDK6以上系列等PC台式机和便携式电脑都可运行。

(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。

操作如下:

点击开始菜单,进入菜单选择。

输入:

将所需的信息输入。

输出:

会员号,姓名,性别,年龄,专业,学院,电话;

输入:

根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。

当错误不能改正,则退出浏览信息。

进入查询信息:

则屏幕会出现两个对话框——按姓名和会员编号查找,查处相应的所需信息。

当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。

当信息输入正确,进入你你所需的菜单程序。

总结

该系统以协会会员信息信息管理为背景,涵盖了管理员对会员信息管理的多种功能,并且有一定的可行性和安全性,确保了各项指定功能得以运行。

本系统以基本函数、结构体、枚举性、文件以及链表等多方位知识贯穿实现。

通过此次程序设计实践,是同学们对所学知识的综合运用,也是程序设计得以提高的表现。

通过此次编程培养了我们结构化程序设计的思想,加深了对高级语言基本语言要素和控制结构的理解,锻炼我们独立思考制作程序的能力,并且掌握了一些课程设计的相关知识与实践操作能力,为以后的学习提供了锻炼的机会。

经过设计和开发,协会会员信息管理系统基本开发完毕以及各类相关报表的打印。

并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。

对于数据的一致性的问题也通过程序进行了有效的解决。

从而是我对c语言这门课程有了更好的了解。

但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。

这些都有待进一步改善。

参考文献

[1]c++程序设计教程,王连相,中国铁道出版社,2007

[2]C语言程序设计,谭浩强,清华大学出版社,1999

[3]C程序设计题解与上机指导,谭浩强,清华大学出版社,1999

[4]C语言的实际应用,安徽科学技术出版社,2000

[5]C语言函数手册,机械工业出版社,1999

[6]C语言实用程序荟萃,西安电子科技大学出版社,1993

 

致谢

在编写程序的过程中,我们得到了丁政建老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!

感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙。

在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。

附件Ⅰ部分原程序代码

#include

#include

#include

#include

#include

 

#defineN100

structpeople

{

charnum[100];

charname[15];

charsex[20];

charage[20];

charzhuanye[20];

charxueyuan[20];

chartelephone[20];

}people[N];

voidinput(inti);

voidenter();

voidbrowse();

voidadd();

voidno_input(inti,intn);

voidsearch();

voidmodify();

voidsave(intn);

intload();

intmodify_data(inti);

voidprintf_face();

voidprintf_back();

voidprintf_one(inti);

voidmenu();

voidchack_No(inti);

 

voidchack_No(inti)

{

intk;

if(i>0)

{

for(k=0;k

{

if(strcmp(people[k].num,people[i].num)==0)

{

printf("您输入的会员编号已存在,请更换号码!

");

printf("会员号:

");

scanf("%d",&people[i].num);

chack_No(i);

break;

}

}

}

}

voidinput(inti)

{

no_input(i,i);

printf("会员编号:

");

scanf("%s",people[i].num);

chack_No(i);

printf("姓名:

");

scanf("%s",people[i].name);

printf("性别:

");

scanf("%s",people[i].sex);

printf("年龄:

");

scanf("%s",people[i].age);

printf("专业:

");

scanf("%s",people[i].zhuanye);

printf("学院:

");

scanf("%s",people[i].xueyuan);

printf("电话:

");

scanf("%s",people[i].telephone);

}

 

voidenter()

{

inti,n;

printf("请输入人数(0-%d):

",N-1);

scanf("%d",&n);

printf("\n录入信息\n");

for(i=0;i

{

printf("\n请输入第%d个人的信息.",i+1);

input(i);

}

if(i!

=0)save(n);

printf_back();

}

 

voidbrowse()

{

inti,n;

intj,pos;

structpeopletemp;

n=load();

for(i=0;i

{

pos=i;

for(j=i+1;j

if(strcmp(people[pos].num,people[j].num)>0)pos=j;

if(pos!

=i)

{

temp=people[i];

people[i]=people[pos];

people[pos]=temp;

}

}

printf_face();

for(i=0;i

{

if((i!

=0)&&(i%10==0))

{

printf("\n\n按任意键继续....");

getch();

puts("\n\n");

}

printf_one(i);

}

printf("\t共有%d条记录.\n",n);

printf("\n按任意键继续...");

getch();

menu();

}

 

voidadd()

{

inti,n,m,k;

FILE*fp;

n=load();

printf("你想添加的人数为(0-%d):

",N-1-n);

scanf("%d",&m);

k=m+n;

for(i=n;i

{

printf("\n输入第%d个人的信息.",i-n+1);

input(i);

}

if((fp=fopen("Pro.txt","ab"))==NULL)

{

printf("文件打开失败!

\n");

}

for(i=n;i

if(fwrite(&people[i],sizeof(structpeople),1,fp)!

=1)

printf("文件写入失败!

\n");

fclose(fp);

printf_back();

}

 

voidsearch()

{

inti,n,k,w1=1,w2,w3,w4,m,a;

structpeoplep;

n=load();

do

{

printf("\n选择你要查询的方式\n\t1).姓名2).按会员编号[]\b\b");

scanf("%d",&m);

switch(m)

{

case1:

do

{

k=-1;

printf("\n\n请输入你要查询的会员姓名:

");

scanf("%s",p.name);

printf_face();

for(i=0;i

if(strcmp(p.name,people[i].name)==0)

{

k=i;

printf_one(k);

break;

}

if(k==-1)

{

printf("\n\n你输入的会员不存在!

");

printf("\n\n你想继续查询吗?

\n\t1).是2).否[]\b\b");

scanf("%d",&w1);

if(w1==2)

printf_back();

}

}while(k==-1&&w1==1);

break;

case2:

do

{

k=-1;

printf("\n\n请输入你要查询的会员编号:

");

scanf("%s",p.num);

printf_face();

for(i=0;i

if(strcmp(p.num,people[i].num)==0)

{

k=i;

printf_one(k);break;

}

if(k==-1)

{

printf("\n\n你输入的会员编号不存在!

");

printf("\n\n你想继续查询吗?

\n\t1).是2).否[]\b\b");

scanf("%d",&w1);

if(w1==2)

printf_back();

}

}while(k==-1&&w1==1);

break;

}

w4=0;w3=0;

if(k!

=-1)

{

printf("\n\n请选择你要进行的操作:

\n\t1).查询2).修改3).删除4).返回主菜单[]\b\b");

scanf("%d",&w2);

switch(w2)

{

case2:

w3=modify_data(k);

break;

case3:

printf("\n你确定要删除吗?

\n\t1).是2).否[]\b\b");

scanf("%d",&w4);

if(w4==1)

for(a=k;a

{

strcpy(people[a].num,people[a+1].num);

strcpy(people[a].name,people[a+1].name);

strcpy(people[a].sex,people[a+1].sex);

strcpy(people[a].age,people[a+1].age);

strcpy(people[a].zhuanye,people[a+1].zhuanye);

strcpy(people[a].xueyuan,people[a+1].xueyuan);

strcpy(people[a].telephone,people[a+1].telephone);

}

break;

}

if(w3==1||w4==1)

{

save(n);

printf("\n\n操作成功!

^_^");

printf("\n\n请输入你要进行的操作:

\n\t1).继续查询2).返回上一级[]\b\b");

scanf("%d",&w2);

}

}

}

while(w2==1);

menu();

}

 

voidmodify()

{

structpeoplep;

inti,n,k,w0=1,w1,w2=0;

n=load();

do

{

k=-1;

printf_face();

for(i=0;i

{if((i!

=0)&&(i%10==0))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1