這是一個很簡單的點餐系統(tǒng),用到的知識也不復雜,所以對新手學習還是很有作用,貼上來給大家參考下。
完成了如下功能:
1.顯示餐廳提示語;
2.打印菜單(輸出菜品分類:主食、甜點、飲料、主菜、開胃菜);
3.選擇ID進入菜品分類子目錄;
4.進行具體選擇(可重復選擇同一樣菜);
5.返回上級菜單(進行其他分類的選擇);
6.完成點餐;
7.打印點餐信息(菜名、單價、數(shù)量、價格)。
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
#include <stdio.h> void main_munu(){ //打印主菜單 char a[6][20]={ "菜單" , "涼菜" , "熱銷菜" , "主食" , "飯后甜點" , "飲料" }; int i; printf ( "%s\n" ,a[0]); for (i=1;i<6;i++) { printf ( "\t%d.%s\n" ,i,a[i]); } printf ( "\t0.點餐結(jié)束\n" ); } void menu_liangcai(){ //涼菜類打印 char a[3][20]={ "木耳辣根" , "姜汁皮蛋" , "肉絲苦菊" }; //定義字符數(shù)組,存放菜名 printf ( "請具體選擇菜品:\n" ); for ( int i = 0; i < 3; i ++) { printf ( "\t\t%d.%s\n" ,i+1,a[i]); } printf ( "\t\t0.返回上層菜單\n" ); } void menu_rexiao(){ //熱銷菜打印 char a[3][20]={ "蔥燒排骨" , "麻婆豆腐" , "香辣小河蝦" }; //定義字符數(shù)組,存放菜名 printf ( "請具體選擇菜品:\n" ); for ( int i = 0; i < 3; i ++) { printf ( "\t\t%d.%s\n" ,i+1,a[i]); } printf ( "\t\t0.返回上層菜單\n" ); } void menu_zhushi(){ // 主食類打印 char a[3][20]={ "香腸燜飯" , "海鮮炒面" , "玉米饅頭" }; //定義字符數(shù)組,存放菜名 printf ( "請具體選擇菜品:\n" ); for ( int i = 0; i < 3; i ++) { printf ( "\t\t%d.%s\n" ,i+1,a[i]); } printf ( "\t\t0.返回上層菜單\n" ); } void menu_tiandian(){ //甜點類打印 char a[3][20]={ "草莓冰淇淋" , "懶人布丁" , "香橙果凍" }; //定義字符數(shù)組,存放菜名 printf ( "請具體選擇菜品:\n" ); for ( int i = 0; i < 3; i ++) { printf ( "\t\t%d.%s\n" ,i+1,a[i]); } printf ( "\t\t0.返回上層菜單\n" ); } void menu_yinliao(){ //飲料類打印 char a[3][20]={ "傾橙汁戀" , "可口可樂" , "秘制涼茶" }; //定義字符數(shù)組,存放菜名 printf ( "請具體選擇菜品:\n" ); for ( int i = 0; i < 3; i ++) { printf ( "\t\t%d.%s\n" ,i+1,a[i]); } printf ( "\t\t0.返回上層菜單\n" ); } int main( int argc, const char * argv[]) { printf ( "***** 法克招牌快餐店 *****\n" ); printf ( " ***** 歡迎您點餐 *****\n" ); int M; //定義用戶選擇的分類代號為M; int n; //定義用戶輸入子菜單下的菜品代號為n; int x[5][3] = {0}; //定義每類菜品被點數(shù)量 int price1[5][3] = {0}; //每種菜品的價格總價 int price[5][3] = {{12,15,13},{25,20,30},{5,5,10},{6,5,3},{3,4,5}}; //定義每樣菜品單價 int total = 0; //定義所有菜品總價 初始化為0; char name[5][3][20] = {{ "木耳辣根" , "姜汁皮蛋" , "肉絲苦菊" },{ "蔥燒排骨" , "麻婆豆腐" , "香辣小河蝦" },{ "香腸燜飯" , "海鮮炒面" , "玉米饅頭" },{ "草莓冰淇淋" , "懶人布丁" , "香橙果凍" },{ "傾橙汁戀" , "可口可樂" , "秘制涼茶" }}; while (1) { main_munu(); scanf ( "%d" ,&M); //接收用戶輸入的菜品分類代號 if (M == 0) { break ; } switch (M) { case 1: { menu_liangcai(); while (1) { scanf ( "%d" ,&n); if (n == 0) { //如果輸入為0,跳出循環(huán)(程序中表現(xiàn)為:跳出本菜單下的菜品選擇); break ; } //統(tǒng)計 每樣菜品總價格 與被點次數(shù) price1[0][n-1] += price[0][n-1]; x [0][n-1] ++; } } if (n == 0) break ; //如果輸入為0,結(jié)束選菜; case 2: { menu_rexiao(); while (1) { scanf ( "%d" ,&n); if (n == 0) { //如果輸入為0,跳出循環(huán)(程序中表現(xiàn)為:跳出本菜單下的菜品選擇); break ; } price1[1][n-1]+=price[1][n-1]; x[1][n-1]++; } } if (n == 0) break ; //如果輸入為0,結(jié)束選菜; case 3: { menu_zhushi(); while (1) { scanf ( "%d" ,&n); if (n == 0) { //如果輸入為0,跳出循環(huán)(程序中表現(xiàn)為:跳出本菜單下的菜品選擇); break ; } price1[2][n-1] += price[2][n-1]; x[2][n-1]++; } } if (n == 0) break ; //如果輸入為0,結(jié)束選菜; case 4: { menu_tiandian(); while (1) { scanf ( "%d" ,&n); if (n == 0) { //如果輸入為0,跳出循環(huán)(程序中表現(xiàn)為:跳出本菜單下的菜品選擇); break ; } price1[3][n-1] += price[3][n-1]; x[3][n-1]++; } } if (n == 0) break ; //如果輸入為0,結(jié)束選菜; case 5: { menu_yinliao(); while (1) { scanf ( "%d" ,&n); if (n == 0) { //如果輸入為0,跳出循環(huán)(程序中表現(xiàn)為:跳出本菜單下的菜品選擇); break ; } price1[4][n-1] += price[4][n-1]; x[4][n-1]++; } } if (n == 0) break ; //如果輸入為0,結(jié)束選菜; } } //打印相關(guān)信息 printf ( "菜名\t\t\t單價(元)\t數(shù)量\t總價格(元)\n-----------------------------------\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" ,name[i][j],price[i][j],x[i][j],price1[i][j]); total += price1[i][j]; //計算總價格 } } } printf ( "總價格:\t\t\t\t\t%3d\n" ,total); printf ( "祝您用餐愉快,期待您的下次光臨!\n" ); return 0; } |
Xcode中運行結(jié)果如下圖:
到這里,這個項目的內(nèi)容就展示完畢了,新學習的朋友可以研究下,相信會幫得到你們。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/sinat_16590595/article/details/48245347