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 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | #include<stdio.h> #include<conio.h> #include<string.h> struct menu { int serial_number; char dishes_name[50]; int money; }dishes[50]={ {1, "麻婆豆腐" ,20}, {2, "鱼香鸡丝" ,25}, {3, "北京烤鸭" ,67}, {4, "乱炖" ,54}, {5, "海带丝" ,12}, {6, "土豆丝" ,12}, {7, "可乐鸡翅" ,44}, {8, "分米鸡" ,77}, {9, "牛肉面" ,24}, {10, "葱油饼" ,5}, {11, "米饭" ,3} }; int outside( void ) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 欢迎来到餐厅点餐系统 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); } int welcome( int PEOPLENUMBER, int DESK) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 第%d号的%d位客人,欢迎光临 |\n" ,PEOPLENUMBER,DESK); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); } int menu( struct menu* b) { printf ( "------编号------名称-----价格---\n" ); printf ( "| %d\t %s\t %d\t |\t\n" ,(b)->serial_number,(b)->dishes_name,(b)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+1)->serial_number,(b+1)->dishes_name,(b+1)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+2)->serial_number,(b+2)->dishes_name,(b+2)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+3)->serial_number,(b+3)->dishes_name,(b+3)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+4)->serial_number,(b+4)->dishes_name,(b+4)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+5)->serial_number,(b+5)->dishes_name,(b+5)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+6)->serial_number,(b+6)->dishes_name,(b+6)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+7)->serial_number,(b+7)->dishes_name,(b+7)->money); printf ( "| %d\t %s\t %d\t |\t\n" ,(b+8)->serial_number,(b+8)->dishes_name,(b+8)->money); printf ( "| %d\t%s\t %d\t |\t\n" ,(b+9)->serial_number,(b+9)->dishes_name,(b+9)->money); printf ( "| %d\t%s\t %d\t |\t\n" ,(b+10)->serial_number,(b+10)->dishes_name,(b+10)->money); printf ( "--------------------------------\n" ); } int waiting( void ) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 已收到您的菜单,请等待上餐 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); } int bill( int NUM[50], struct menu* b, int PAYMONEY) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 请查收您的账单 |\n" ); printf ( "| 如有异议请联系服务员 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); int i; for (i=0;;i++) { if (NUM[i]==0) { break ; } printf ( " %d\t %s\t %d\t\n" ,NUM[i],(b+NUM[i]-1)->dishes_name,(b+NUM[i]-1)->money); } printf ( "总共为%d元\n" ,PAYMONEY); } int goodbye( void ) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 谢谢您的回顾 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); } int backstage_welcome( void ) { printf ( "--------------------------------\n" ); printf ( "| |\n" ); printf ( "| 欢迎进入后台管理系统 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "| 修改价格请输入1 |\n" ); printf ( "| |\n" ); printf ( "| 修改菜品请输入2 |\n" ); printf ( "| |\n" ); printf ( "| 退出管理员界面请输入3 |\n" ); printf ( "| |\n" ); printf ( "| |\n" ); printf ( "--------------------------------\n" ); } int main() { start: outside(); int desknumber,human; int n,i,num[50],paymoney=0; int keyword; int change; struct menu* pmenu=&dishes; printf ( "请输入餐桌号(输入1009进入管理界面)" ); scanf ( "%d" ,&desknumber); if (desknumber==1009) { goto start_backstage; } printf ( "请输入就餐人数" ); scanf ( "%d" ,&human); system ( "cls" ); welcome(human,desknumber); printf ( "输入任意阿拉伯数字点击回车进入下一步" ); scanf ( "%d" ); system ( "cls" ); menu(pmenu); pmenu=&dishes; printf ( "请输入想吃的菜的编号,可一次输入多个编号,每个编号后请输入“,”,最后以0结束\n" ); for (i=0;;i++) { scanf ( "%d," ,&num[i]); if (num[i]==0) { break ; } else { paymoney+=((pmenu+num[i]-1)->money); } } system ( "cls" ); waiting(); start_to_bill: printf ( "查看账单请输入1\n" ); scanf ( "%d" ,&n); system ( "cls" ); start_to_pay: if (n==1) { bill(num,pmenu,paymoney); } else { printf ( "输入有误,请重新输入\n" ); goto start_to_bill; } printf ( "已经帮您联系服务员,服务员将很快到达,请您稍等\n" ); printf ( "请服务员确认后输入密码(1111)\n" ); scanf ( "%d" ,&keyword); system ( "cls" ); if (keyword==1111) { goodbye(); printf ( "请输入任意一个阿拉伯数字,重置点餐系统\n" ); scanf ( "%d" ); system ( "cls" ); goto start; } else { printf ( "输入错误,请重新输入\n" ); goto start_to_pay; } start_backstage: printf ( "请输入管理员密码(1111)" ); scanf ( "%d" ,&keyword); if (keyword!=1111) { printf ( "密码错误,随意输入一个阿拉伯数字返回" ); scanf ( "%d" ); system ( "cls" ); goto start; } system ( "cls" ); start_manage: backstage_welcome(); scanf ( "%d" ,&change); if (change==1) { int bianhao,changemoney; printf ( "请输入菜品编号" ); scanf ( "%d" ,&bianhao); printf ( "\n请输入修改的价格\n" ); scanf ( "%d" ,&changemoney); (pmenu+bianhao-1)->money=changemoney; printf ( "修改成功,输入任意阿拉伯数字返回管理员界面\n" ); scanf ( "%d" ); system ( "cls" ); goto start_manage; } else if (change==3) { system ( "cls" ); goto start; } else if (change==2) { int bianhao; char dish_name[50]; char *pname=&(pmenu+bianhao-1)->dishes_name; printf ( "请输入菜品编号" ); scanf ( "%d" ,&bianhao); getchar (); printf ( "\n请输入修改的名称\n" ); gets (dish_name); strcpy (dishes[bianhao-1].dishes_name,dish_name); //strcpy(pname,dish_name); printf ( "修改成功,输入任意阿拉伯数字返回管理员界面\n" ); scanf ( "%d" ); system ( "cls" ); goto start_manage; } else { printf ( "请输入有效的数" ); system ( "cls" ); goto start_manage; } |