c语言课程设计报告 会员卡计费系统源代码(3)

2019-01-03 16:32

printf(\请输入需要删除的会员卡号(n返回菜单):\

p=search_id(p); //调用按号寻找函数 thelast=head; if(p==head)

{ //判断指针 head=p->next; money=p->money; free(p) ; } else { while(thelast) { if(thelast->next==p) break; else thelast=thelast->next; } thelast->next=p->next; money=p->money; free(p);

}

modify_file(q); printf(\退回余额%.2f元!\\n\ printf(\删除成功,按任意键继续!\ getch(); menu(); }

mem *sort_m()

{ mem *q,*tail,*p=(mem*)malloc(sizeof(mem)); p->next=head; head=p; tail=NULL; while(tail!=head->next) { p=head; q=p->next; while(q->next!=tail) { 空

if(p->next->money>q->next->money)

//调用保存函数 //显示退回的余额 //调用菜单函数 /*统计函数*/ //按缴费总额排序 //定义 tail //判断 q是否为 {

p->next=q->next; //比较大小,排序 q->next=q->next->next; p->next->next=q; } p=p->next; q=p->next; } tail=q; }

head=head->next;

free(p);

return head; }

mem* sort_c()

{ 序 mem *q,*tail,*p=(mem*)malloc(sizeof(mem)); p->next=head; head=p; tail=NULL; while(tail!=head->next) { p=head; q=p->next; while(q->next!=tail) { if(p->next->cost>q->next->cost)

{ 序 p->next=q->next; q->next=q->next->next; p->next->next=q; } p=p->next; q=p->next; } tail=q; }

head=head->next; free(p);

return head; //返回值//返回值 //按消费金额排 //定义 tail //比较大小,排

}

float summ(mem *p) {

//计算缴费总额 float summ=0; p=head; while(p)

{ //循环,实现求总额 summ+=p->money; p=p->next; }

return summ; //返回总额 }

float sumc(mem *p)

{ //计算消费总额 float sumc=0; p=head; while(p) { //循环,实现求总额 sumc+=p->cost; p=p->next; } return sumc; //返回总额 }

void statistics() { //统计会员信息函数 int f=0; mem *p; load(p); system(\ printf(\ \ \按缴费总额排序\\n\ \按消费总额排序\\n\ \返回菜单\\n\ \ \

}

) ;

printf(\请选择功能:\scanf(\switch(f)

{ //用switch语句选择功能 case 1: p=sort_m(p); //调用按缴费总额排序 display_statistics(p,summ(p),sumc(p)); //调用函数 getch(); menu(); break; }

case 2: p=sort_c(p); //调用按消费总额排序 display_statistics(p,summ(p),sumc(p)); //调用函数 getch(); menu();break; default : menu();break;

/*退出系统操作*/

void clear(mem *p)

{ //释放链表空间 if(p==NULL) { return; } if(p->next ==NULL) { free(p); } else { clear(p->next); free(p); p = NULL; } }

void quit()

{ //退出函数 clear(head);

exit(0); }

/*菜单信息*/

void menu_tile(char *title)

{ //菜单表头 printf(\ printf(\ printf(\}

void (* menu_main_func[])()= /*函数指针数组 menu_main_func[] 存储的是主菜单项中7个功能函数的地址, 分别对应1-7菜单项。例如用户选择1时,调用数组的第0个元素,即调用

newMember()函数,以此类推。*/ { newMember, modify_m, add, consume, delete_m, statistics, quit, };

char menu_main[] = //菜单主函数 \

\新会员登记\\n\\会员信息修改\\n\\会员续费\\n\\会员消费结算\\n\\会员退卡\\n\\统计功能\\n\\退出系统\\n\\void menu()

{ //菜单函数 int selected = 0; //初始化变量 system(\ //清屏

printf(\ 会员卡计费系统\ printf(menu_main); //输出菜单主函数

printf(\

while(!(selected >= 1 && selected <= MENU_MAIN_COUNT))

{ //判断初始值 printf(\请选择:\ scanf(\ if(selected >= 1 && selected <= MENU_MAIN_COUNT) { //判断输入值是否有效 break; } }

printf(\输入错误!(注:请选择 1 - %d)\\n\

menu_main_func[selected-1](); //调用相应的函数指针

数组中的函数,执行操作

}

int main() /*主函数*/ { menu(); //调用菜单函数 return 0; //返回值 }


c语言课程设计报告 会员卡计费系统源代码(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国人的时令养生观 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: