有没有好心的人,帮忙写两个关于折扣和消费积分及积分余额的函数
khims.cpp
#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
#include<string.h>
#define max 1000
#include "sqlist.h"
#include "khims.h"
void main()
{
int s;
init(L);
while(1){
Menu();
scanf("%d",&s);
switch(s){
case 0:Savecustomer();return;
case 1:Customer();break;
case 2:Modifycustomer();break;
case 3:Deletecustomer();break;
case 4:Findcustomernumber();break;
case 5:Findcustomername();break;
case 6:Numbercustomers();break;
case 7:Discount();break;
case 8:Totalcustomers();break;
}
}
}
sqlist.h
typedef struct
{
char number[100];//会员编号
char phone[100];//手机号码
char name[100];//姓名
char consume[100];//消费金额
char splus[100];//当前积分余额
}customer;
typedef struct
{
customer *elem;
int length;
}sqlist;
sqlist L;
void init(sqlist &L)
{//初始化
L.elem = new customer[max];
L.length = 0;
}
void Listdelet(sqlist &L,int i)
{//删除
for(i;i<L.length-1;i++)
L.elem[i]=L.elem[i+1];
L.length--;
return;
}
khims.h
void Menu();
void Customer();
void Modifycustomer();
void Deletecustomer();
void Findcustomernumber();
void Findcustomername();
void Numbercustomers();
void Totalcustomers();
void Savecustomer();
void Discount();
double Discountcustomer(double points);
void Menu()
{//主菜单
printf("\t欢迎使用客户消费积分管理管理系统\n\n");
printf("\t[1]** 录入顾客信息 \n");
printf("\t[2] 修改顾客信息 \n");
printf("\t[3] 删除顾客信息 \n");
printf("\t[4] 输入编号查询顾客信息 \n");
printf("\t[5] 输入姓名查询顾客信息 \n");
printf("\t[6] 查询顾客总人数 \n");
printf("\t[7] 查询积分折扣或返现详情 \n");
printf("\t[8] 查看所有顾客信息 \n");
printf("\t[0] 保存并退出系统 **\n");
printf("\t请输入您的选择:");
}
void Customer()
{//录入顾客信息
printf("\t** 欢迎使用积分管理系统 **\n\n");
int i=L.length;
printf("\t请输入会员编号:");
scanf("%s",L.elem[i].number);
printf("\t请输入电话号码:");
scanf("%s",L.elem[i].phone);
printf("\t请输入顾客姓名:");
scanf("%s",L.elem[i].name);
printf("\t请输入消费金额:");
Discountcustomer();
printf("\t请输入积分余额:");
scanf("%s",L.elem[i].splus);
printf("\t录入成功!");
L.length++;
Savecustomer();
system("cls");
}
void Modifycustomer()
{//修改顾客信息
printf("\t** 欢迎使用积分管理系统 **\n\n");
char n[1000];
int k;
printf("\t请输入需要修改的会员编号:");
scanf("%s",n);
printf("\n\n");
for(k=0;k<L.length;k++)
{
if(strcmp(L.elem[k].number,n)==0)
{
printf("\t请输入修改后的编号:");
scanf("%s",L.elem[k].number);
printf("\t请输入修改后的电话号码:");
scanf("%s",L.elem[k].phone);
printf("\t请输入修改后的姓名:");
scanf("%s",L.elem[k].name);
printf("\t请输入修改后的总积分:");
scanf("%s",L.elem[k].consume);
printf("\t请输入修改后的积分余额:");
scanf("%s",L.elem[k].splus);
printf("\t修改成功!\n");
Savecustomer();
return;
}
}
printf("\t未查找到该会员\n");
}
void Deletecustomer()
{//删除顾客
printf("\t** 欢迎使用积分管理系统 **\n\n");
char n[1000];
int k;
printf("\t请输入需要删除会员编号:");
scanf("%s",n);
printf("\n");
for(k=0;k<L.length;k++)
{
if(strcmp(L.elem[k].number,n)==0)
{
Listdelet(L,k);
printf("\t删除成功!\n");
Savecustomer();
return;
}
}
printf("\t未查询到该顾客\n");
}
void Findcustomernumber()
{//按照会员编号查询顾客信息
printf("\t** 欢迎使用积分管理系统 **\n\n");
char n[1000];
int k;
printf("\t请输入需要查询的会员编号:");
scanf("%s",n);
printf("\n\n");
for(k=0;k<L.length;k++)
{
if(strcmp(L.elem[k].number,n)==0)
{
printf("会员编号\t电话号码\t姓名\t总积分\t积分余额\n");
printf("%s\t\t%s\t\t%s\t%s\t%s\n",L.elem[k].number,L.elem[k].phone,L.elem[k].name,L.elem[k].consume,L.elem[k].splus);
return;
}
}
printf("\t未查找到该顾客\n");
return;
}
void Findcustomername()
{//按照姓名查询顾客信息
printf("\t** 欢迎使用积分管理系统 **\n\n");
char n[1000];
int k;
printf("\t请输入需要查找顾客的姓名:");
scanf("%s",n);
printf("\n\n");
for(k=0;k<L.length;k++)
{
if(strcmp(L.elem[k].name,n)==0)
{
printf("会员编号\t电话号码\t姓名\t总积分\t积分余额\n");
printf("%s\t\t%s\t\t%s\t%s\t%s\n",L.elem[k].number,L.elem[k].phone,L.elem[k].name,L.elem[k].consume,L.elem[k].splus);
return;
}
}
printf("\t未查找到该顾客\n");
return;
}
void Numbercustomers()
{//查询顾客总数
printf("\t** 欢迎使用积分管理系统 **\n\n");
printf("\t录入的会员顾客的总人数为:%d\n",L.length);
return;
}
void Totalcustomers()
{//查看所有顾客信息
printf("\t** 欢迎使用积分管理系统 **\n\n");
FILE *fp;
char ch;
fp=fopen("customer.txt","r");
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
return;
}
void Savecustomer()
{
FILE *fp;
int i;
if((fp=fopen("customer.txt","w"))==NULL)
{
printf("\t不能打开此文件\n");
exit(0);
}
fprintf(fp,"会员编号\t电话号码\t姓名\t总积分\t积分余额\n");
for(i=0;i<L.length;i++)
{
fprintf(fp,"%s\t\t%s\t\t%s\t%s\t%s\n",L.elem[i].number,
L.elem[i].phone,L.elem[i].name,L.elem[i].consume,L.elem[i].splus);
}
fclose(fp);
}
void Discount()
{
printf("\t** 欢迎使用积分管理系统 **\n\n");
printf("\t50100 9.8折\n");500 9.5折\n");
printf("\t100
printf("\t5001000 9.2折\n");2000 9.0折\n");
printf("\t1000
printf("\t20005000 8.5折\n");99999 8.0折\n");
printf("\t5000
printf("\t欢迎抢购!消费越多,优惠多多!\n");
}
double Discountcustomer(double a)
{
double b;
scanf("%s",a);
if(a <= 50)
b=a;
if(a > 50&&a <= 100)
b=a0.98;
if(a > 100&&a <= 500)
b=a*0.95;
if(a > 500&&a <= 1000)
b=a*0.92;
if(a > 1000&&a <= 2000)
b=a*0.90;
if(a > 2000&&a <= 5000)
b=a*0.85;
else if(a > 5000)
b=a0.80;
printf("打折后%s元\n",b);
return 0;
}
这是我的函数
double Discountcustomer()
{
float a,b; //
scanf("%f",&a); //
if(a <= 50)
b=a;
if(a > 50&&a <= 100)
b=a*0.98;
if(a > 100&&a <= 500)
b=a*0.95;
if(a > 500&&a <= 1000)
b=a*0.92;
if(a > 1000&&a <= 2000)
b=a*0.9;
if(a > 2000&&a <= 5000)
b=a*0.85;
else if(a > 5000)
b=a*0.8;
printf("打折后%.2f元\n",b);
return 0;
}
double是用lf输出
double Discountcustomer(double a)
{
double b;
scanf("%lf",&a);
if(a <= 50)
b=a;
if(a > 50&&a <= 100)
b=a*0.98;
if(a > 100&&a <= 500)
b=a*0.95;
if(a > 500&&a <= 1000)
b=a*0.92;
if(a > 1000&&a <= 2000)
b=a*0.90;
if(a > 2000&&a <= 5000)
b=a*0.85;
else if(a > 5000)
b=a*0.80;
printf("打折后%lf元\n",b);
return 0;
}