admin管理员组文章数量:1026989
C语言程序设计
需求分析:
1.设计题目:餐厅点餐系统
2.系统功能需求分析:
经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。
功能:运行开始出现菜单模块,其中有四个选项,可以按相关的数字进行操作。
- 点餐模块: 可以完成一个或多个餐品的输入。
- 浏览点餐信息: 顾客可以以点菜品的相关信息,包括菜品的数量、价格、菜品代号、价格总计。
- 自主清空菜品信息: 顾客可以清空已点菜品
- 结算: 根据以点菜品推算顾客应付款数额。
5)返回主界面
2.概要设计
题目简述
1)系统以菜单方式工作;
2)点餐信息录入功能(点餐信息用文件保存)——输入;
3)点餐信息浏览功能——输出;
4)查询和结算功能——算法;
功能模块图
程序代码
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<string>
#include<conio.h>
#include<windows.h>int m;//用户选择的分类代号为m;
int n;//用户输入子菜单下的菜品代号为n;
int x[5][3] = {0};//每类菜品被点数量
int price1[5][3] = {0};//每种菜品的价格总价
int total = 0;//所有菜品总价 初始化为0;
int price[5][3] = {{12,15,13},{50,50,40},{20,20,10},{15,10,12},{8,8,5}};//每样菜品单价
char cainame[5][3][20] = {{"金针拌芹菜","浇汁豆腐","青椒拌干丝"},{"龙肝","凤髓","熊掌"},{"米","面","馒头"},{"小西点","布丁","冰淇淋"},{"可乐","雪碧","矿泉水"}};//字符数组,存放菜名void caidan_liangcai()
{char a[3][20]={"金针拌芹菜","浇汁豆腐","青椒拌干丝"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhuxiao()
{char a[3][20]={"龙肝","凤髓","熊掌"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhushi()
{char a[3][20]={"米","面","馒头"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_tiandian()
{char a[3][20]={"小西点","布丁","冰淇淋"};printf("请具体选择菜品:\n");for ( i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_yinpin()
{char a[3][20]={"可乐","雪碧","矿泉水"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}void jiesuan()
{int main();system("cls");int money,a;printf("您本次消费<%d>元!\n",total);printf("应付:\n"); printf("请支付:\n"); scanf("%d\n",&money);a=money-total;printf("待付%d\n",a); printf("*****按任意键返回主菜单!*****\n"); getch(); main();
}void clean()
{int main();system("cls");printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%d",price1[i][j]=0);}}}int tota1=0;printf("\n");printf("*********************清空成功!********************\n");printf("****************按任意键返回主菜单!***************\n");getch();main();
}void show()
{ int main();system("cls");int i;total=0;printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%s\t\t%3d\t\t%3d\t%3d\n",cainame[i][j],price[i][j],x[i][j],price1[i][j]);total += price1[i][j];FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%s",cainame[i][j]);fprintf(fp,"%d",price[i][j]);fprintf(fp,"%d",x[i][j]);fprintf(fp,"%d",price1[i][j]);fclose(fp); }}}printf("总价格:\t\t\t\t\t%3d\n",total);FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%d",total);fclose(fp); printf("***************按任意键返回主菜单!****************\n");getch();main();
}void diancan()
{int main();system("cls");printf("*****菜单*****\n");char a[5][20]={"凉菜","主菜","主食","甜点","饮品"};int i;for(i=0;i<5;i++){printf("%d.%s\n",i+1,a[i]);}printf("0.返回上层菜单\n");while (1) {scanf("%d",&m);switch (m) {case 1:{caidan_liangcai();while (1){scanf("%d",&n);if (n == 0) {//如果输入为0,跳出循环break;} price1[0][n-1] += price[0][n-1];x [0][n-1] ++; //统计每样菜品总价格和被点次数}diancan();}case 2:{caidan_zhuxiao();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[1][n-1]+=price[1][n-1];x[1][n-1]++;}diancan();}case 3:{caidan_zhushi();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[2][n-1] += price[2][n-1];x[2][n-1]++;}diancan();}case 4:{caidan_tiandian();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[3][n-1] += price[3][n-1];x[3][n-1]++;}diancan();}case 5:{caidan_yinpin();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[4][n-1] += price[4][n-1];x[4][n-1]++;}diancan();} case 0:main(); default:printf("\n您的输入有误,请重新选择!\n");diancan();} }
}int main()
{system("cls");printf("***** 塔罗餐厅 *****\n");printf("***** 为您服务 *****\n");printf("1、点餐\n");printf("2、查看已点\n"); printf("3、清空已点\n");printf("4、结算\n");printf("0、退出\n");int c;scanf("%d",&c);switch(c){case 1:diancan(); break;case 2:show(); break;case 3:clean(); break;case 4:jiesuan();break;case 0:exit(0);break;default: printf("\n您的输入有误,请重新选择!\n");main();}
}
C语言程序设计
需求分析:
1.设计题目:餐厅点餐系统
2.系统功能需求分析:
经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。
功能:运行开始出现菜单模块,其中有四个选项,可以按相关的数字进行操作。
- 点餐模块: 可以完成一个或多个餐品的输入。
- 浏览点餐信息: 顾客可以以点菜品的相关信息,包括菜品的数量、价格、菜品代号、价格总计。
- 自主清空菜品信息: 顾客可以清空已点菜品
- 结算: 根据以点菜品推算顾客应付款数额。
5)返回主界面
2.概要设计
题目简述
1)系统以菜单方式工作;
2)点餐信息录入功能(点餐信息用文件保存)——输入;
3)点餐信息浏览功能——输出;
4)查询和结算功能——算法;
功能模块图
程序代码
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<string>
#include<conio.h>
#include<windows.h>int m;//用户选择的分类代号为m;
int n;//用户输入子菜单下的菜品代号为n;
int x[5][3] = {0};//每类菜品被点数量
int price1[5][3] = {0};//每种菜品的价格总价
int total = 0;//所有菜品总价 初始化为0;
int price[5][3] = {{12,15,13},{50,50,40},{20,20,10},{15,10,12},{8,8,5}};//每样菜品单价
char cainame[5][3][20] = {{"金针拌芹菜","浇汁豆腐","青椒拌干丝"},{"龙肝","凤髓","熊掌"},{"米","面","馒头"},{"小西点","布丁","冰淇淋"},{"可乐","雪碧","矿泉水"}};//字符数组,存放菜名void caidan_liangcai()
{char a[3][20]={"金针拌芹菜","浇汁豆腐","青椒拌干丝"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhuxiao()
{char a[3][20]={"龙肝","凤髓","熊掌"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhushi()
{char a[3][20]={"米","面","馒头"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_tiandian()
{char a[3][20]={"小西点","布丁","冰淇淋"};printf("请具体选择菜品:\n");for ( i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_yinpin()
{char a[3][20]={"可乐","雪碧","矿泉水"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}void jiesuan()
{int main();system("cls");int money,a;printf("您本次消费<%d>元!\n",total);printf("应付:\n"); printf("请支付:\n"); scanf("%d\n",&money);a=money-total;printf("待付%d\n",a); printf("*****按任意键返回主菜单!*****\n"); getch(); main();
}void clean()
{int main();system("cls");printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%d",price1[i][j]=0);}}}int tota1=0;printf("\n");printf("*********************清空成功!********************\n");printf("****************按任意键返回主菜单!***************\n");getch();main();
}void show()
{ int main();system("cls");int i;total=0;printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%s\t\t%3d\t\t%3d\t%3d\n",cainame[i][j],price[i][j],x[i][j],price1[i][j]);total += price1[i][j];FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%s",cainame[i][j]);fprintf(fp,"%d",price[i][j]);fprintf(fp,"%d",x[i][j]);fprintf(fp,"%d",price1[i][j]);fclose(fp); }}}printf("总价格:\t\t\t\t\t%3d\n",total);FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%d",total);fclose(fp); printf("***************按任意键返回主菜单!****************\n");getch();main();
}void diancan()
{int main();system("cls");printf("*****菜单*****\n");char a[5][20]={"凉菜","主菜","主食","甜点","饮品"};int i;for(i=0;i<5;i++){printf("%d.%s\n",i+1,a[i]);}printf("0.返回上层菜单\n");while (1) {scanf("%d",&m);switch (m) {case 1:{caidan_liangcai();while (1){scanf("%d",&n);if (n == 0) {//如果输入为0,跳出循环break;} price1[0][n-1] += price[0][n-1];x [0][n-1] ++; //统计每样菜品总价格和被点次数}diancan();}case 2:{caidan_zhuxiao();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[1][n-1]+=price[1][n-1];x[1][n-1]++;}diancan();}case 3:{caidan_zhushi();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[2][n-1] += price[2][n-1];x[2][n-1]++;}diancan();}case 4:{caidan_tiandian();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[3][n-1] += price[3][n-1];x[3][n-1]++;}diancan();}case 5:{caidan_yinpin();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[4][n-1] += price[4][n-1];x[4][n-1]++;}diancan();} case 0:main(); default:printf("\n您的输入有误,请重新选择!\n");diancan();} }
}int main()
{system("cls");printf("***** 塔罗餐厅 *****\n");printf("***** 为您服务 *****\n");printf("1、点餐\n");printf("2、查看已点\n"); printf("3、清空已点\n");printf("4、结算\n");printf("0、退出\n");int c;scanf("%d",&c);switch(c){case 1:diancan(); break;case 2:show(); break;case 3:clean(); break;case 4:jiesuan();break;case 0:exit(0);break;default: printf("\n您的输入有误,请重新选择!\n");main();}
}
本文标签: C语言程序设计
版权声明:本文标题:C语言程序设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1686770932a35144.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论