c语言课程设计报告 会员卡计费系统源代码Word格式.docx

上传人:b****2 文档编号:13577879 上传时间:2022-10-11 格式:DOCX 页数:20 大小:19.99KB
下载 相关 举报
c语言课程设计报告 会员卡计费系统源代码Word格式.docx_第1页
第1页 / 共20页
c语言课程设计报告 会员卡计费系统源代码Word格式.docx_第2页
第2页 / 共20页
c语言课程设计报告 会员卡计费系统源代码Word格式.docx_第3页
第3页 / 共20页
c语言课程设计报告 会员卡计费系统源代码Word格式.docx_第4页
第4页 / 共20页
c语言课程设计报告 会员卡计费系统源代码Word格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告 会员卡计费系统源代码Word格式.docx

《c语言课程设计报告 会员卡计费系统源代码Word格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告 会员卡计费系统源代码Word格式.docx(20页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告 会员卡计费系统源代码Word格式.docx

//定义结构体变量mem

/*声明函数*/

voidmenu();

/*声明函数,声明菜单函数*/

voidsave(mem*p);

//声明保存函数

mem*head=NULL;

//头指针为NULL

mem*get_last(mem*p)//取得链表最后一个元素的节点指针并返回该指针

if(p->

next==NULL)

{

returnp;

}

else

get_last(p->

next);

}

voidcreat_member(mem*pNew)//输入信息操作,会员登记函数

{//创建一个新的会员

chars;

printf("

卡号:

"

);

scanf("

%s"

pNew->

id);

//运用指针输入卡号

请输入姓名:

"

scanf("

name);

//运用指针输入姓名

a:

请输入性别(f--女m--男):

getchar();

//输入男女

s=getchar();

if(s=='

f'

||s=='

m'

)//判断是男是女

{

if(s=='

||s=='

F'

)strcpy(pNew->

sex,"

女"

M'

男"

else//如果输入错误

printf("

输入错误,请重新输入...\n"

gotoa;

//跳转至a,重新输入

请输入年龄:

%d"

&

(pNew->

age));

//运用指针输入年龄

请输入缴费金额:

scanf("

%f"

money));

//运用指针输入余额

请输入电话:

tel);

//运用指针输入电话

pNew->

cost=0;

//运用指针初始化消费额为0

\n创建完毕!

\n"

}

voidnewMember()//会员登记函数

{//添加会员信息

charcon='

N'

;

mem*pLast=NULL;

mem*pNew=(mem*)malloc(sizeof(mem));

//按mem动态分配内存

next=NULL;

creat_member(pNew);

//调用会员登记函数

if(head==NULL)

head=pNew;

else

pLast=get_last(head);

pLast->

next=pNew;

继续输入会员信息?

(Y继续,N返回菜单)"

//判断是否继续登记

con=getchar();

if(con=='

n'

||con=='

save(pNew);

menu();

else{

newMember();

}

//显示信息操作

voidtable_head()

{//定义表头

+----------+------+------+------+--------+--------+-----------+\n"

|卡号|姓名|性别|年龄|余额|累计消费|电话|\n"

voidtable_buttom()

{//定义底线

voidtable_row(mem*p)

{//定义中间部分

|%10s|%6s|%6s|%6d|%8.2f|%8.2f|%11s|\n"

p->

id,p->

name,p->

sex,p->

age,p->

money,p->

cost,p->

voiddisplay(mem*p)

{//显示所有信息

p=head;

table_head();

//调用表头

while(p!

=NULL)

table_row(p);

//调用中间部分

p=p->

next;

table_buttom();

//调用底线

voiddisplay_one(mem*p)

{//只显示一条信息

table_row(p);

voidtable_sum()

{//定义总计

|||||总计|总计||\n"

voidtable_r(floatmoney,floatcost)

{//定义总计2

|||||%8.2f|%8.2f||\n"

money,cost);

voiddisplay_statistics(mem*p,floatmoney,floatcost)

{//显示统计信息函数

=NULL)

//定义中间部分

p=head;

table_sum();

//定义总计

table_r(money,cost);

//定义总计2

//定义表尾

}//文件相关操作

voidsave(mem*p)

{//保存函数

FILE*fp;

//定义一个指向文件的指针变量

fp=fopen("

member.dat"

"

a"

//将fopen函数的返回值赋给指针变量fp

fprintf(fp,"

%s%s%s%d%f%s%d\n"

p->

id,p->

name,p->

sex,p->

age,p->

money,p->

tel,p->

cost);

fclose(fp);

//关闭指针

voidmodify_file(mem*p)

{//保存修改会员信息函数

p=head;

if((fp=fopen("

w"

))==NULL)

{//检查打开文件的操作是否有错

文件不存在"

getchar();

//调用菜单函数

{

%s%s%s%d%f%s%f\n"

voidload(mem*p)

{//从文件加载信息

mem*pLast=NULL;

head=NULL;

"

r"

没有会员信息,请录入!

getch();

while(!

feof(fp))

{//文件指针是否到达末尾

mem*pNew=(mem*)malloc(sizeof(mem));

pNew->

next=NULL;

fscanf(fp,"

pNew->

id,pNew->

name,pNew->

sex,&

age),&

money),pNew->

tel,&

cost));

if(head==NULL)

head=pNew;

}

pLast=get_last(head);

pLast->

}

//通过卡号搜索信息函数

mem*search_id(mem*p)

{//通过卡号搜索信息

inti=0;

scanf("

id);

while(p&

&

(strcmp(id,"

n"

)!

=0))

{//判断id是否不为n

if(strcmp(p->

id,id)==0)

{//找到

i=1;

break;

p=p->

if(strcmp(id,"

)==0)//输入n时返回菜单

if(p==NULL)

{//重新搜索卡号

您查找的卡号不存在,请重新输入:

p=search_id(p);

//调用寻找函数

returnp;

//返回p

/*修改会员信息操作*/

voidmodif

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

当前位置:首页 > 总结汇报 > 学习总结

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

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