• 大小: 24KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: C/C++
  • 标签: pos机  c程序  

资源简介

设计快餐POS机收费管理程序。假设某快餐店一共出售3大类食品(饮料、主食、小食品),各种食品的具体食物有:饮料4种(可口可乐,芬达,橙汁,美年达),主食有10种(巨无霸汉堡、双层吉士汉堡、双鱼汉堡、煎蛋汉堡、蔬菜汉堡、鸡肉饭、鱼香饭、咖喱饭、麻婆饭、宫保饭),小食品3种(冰激凌、薯条、牛奶玉米棒)。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define M1 4
#define M2 10
#define M3 3
#define MAX 100
struct  Drink                          /*饮料结构体*/
{
char code[5];
char name[20];
char price[5];
};
struct Hamburger                        /*主食结构体*/ 
{
char code[5];
char name[20];
char price[5];
};
struct Snack                            /*小吃结构体*/
{
char code[5];
char name[20];
char price[5];
};
struct Food                       /*总的食品信息*/
{
struct Drink drink[M1];
struct Hamburger hamburger[M2];
struct Snack snack[M3];
}food;
struct Buy                      /*消费者对于一种食品的消费情况,包括该食品编号、食品名称、食品单价、消费食品数量、消费该视频总金额*/
{
char code[5];
char name[20];
float dan;
int num;
float sum;
};
struct All              /*消费者一天的总消费额,包括消费总金额,缴款金额及找零*/
{
struct Buy buy[20];
float total;
float money;
    float remain;
}all[MAX];
void save2()          /*调用本函数把在void save1()中记录下来的信息以“wb”的形式,写入到文件中去*/
{
FILE *fp;
if((fp=fopen(“food““wb“))==NULL)                      /*判断文件是否成功打开*/
{
printf(“cannot open file.\n“);
return;
}
if(fwrite(&foodsizeof(struct Food)1fp)!=1)         /*判断文件是否写入成功*/
printf(“file write error.\n“);
fclose(fp);
}

/*我们对食品名称输入是否重复、食品价格输入是否合法方面进行了限制,保证输入正确*/
void save1()
{
int ip[3]jflag=0;
char c;
char s[20];
int ss=1;
printf(“\n“);
for(i=0;i {
fflush(stdin);                   //清除文件缓冲区
        food.drink[i].code[0]=‘1‘;      /*为食品分配出编号*/
p[0]=(i+1)%10;
p[1]=(i+1)/10%10;
p[2]=(i+1)/100%10;
food.drink[i].code[1]=char(p[2]+48);          /*将数字转化成字符 */
food.drink[i].code[2]=char(p[1]+48);
food.drink[i].code[3]=char(p[0]+48);
food.drink[i].code[4]=‘\0‘;
printf(“第%d种饮料代号为:%s\n“i+1food.drink[i].code);
/*输入饮料名称*/
printf(“输入第%d种饮料名称:“i+1);              /* 提示用户输入食品名称及食品价格*/
gets(s);
    strcpy(food.drink[i].names);      //将输入的内容粘贴到food.drink[i]

/*输入饮料价格*/
jg1: printf(“输入第%d种饮料价格:“i+1);
j=0;
flag=0;
fflush(stdin);                  //清除文件缓冲区
c=getchar();
while(1)
{
if(c==10)
break;
if((c<58&&c>47)||c==‘.‘)         
{
if(c==‘.‘&&flag==1)
{
printf(“!!!!!输入错误!请重新输入!!!!!!!!\n“);
food.drink[i].price[0]=‘\0‘;
goto jg1;
}
if(c==‘.‘)
flag=1;
if(c==‘.‘&&j==0)
{
printf(“!!!!!输入错误!请重新输入!!!!!!!!\n“);
food.drink[i].price[0]=‘\0‘;
goto jg1;
}
food.drink[i].price[j++]=c;
c=getchar();
}
else 
{
printf(“!!!!!输入错误!请重新输入!!!!!!!!\n“);
goto jg1;
}
}
printf(“\n“);
}
printf(“\n“);
for(i=0;i {
fflush(stdin);           //清除文件缓冲区
        food.hamburger[i].code[0]=‘2‘;
p[0]=(i+1)%10;
p[1]=(i+1)/10%10;
p[2]=(i+1)/100%10;
food.hamburger[i].code[1]=char(p[2]+48);
food.hamburger[i].code[2]=char(p[1]+48);
food.hamburger[i].code[3]=char(p[0]+48);
food.hamburger[i].code[4]=‘\0‘;

printf(“第%d种汉堡代号为:%s\n“

评论

共有 条评论