这该当是比力简朴的c言语法式了,由于黉舍c言语结课结的早,我其时才学到构造体指针,以是我就把我其时能使用的常识点全用在这个法式上了。虽然说这个法式对其时的我来讲是天花板,可是当我持续进修,我逐步发明这个法式能晋级的点其实是太多了。但我也不断没去完美。以是就硬着头皮把他收回来了。
界说的一个构造体数组,包罗了三个成员,别离是菜品编号(serial_number),菜品称号(dishes_name[50]),和餐品价钱(money)。界说一个构造体数组dishes[50],并给他赋值。然后再界说多个函数,利用多个printf别离输出交互后的页面。好比:开端的界面,定名为outside,欢送界面,定名为welcome,菜单函数,定名为menu,等候函数,定名为waiting,账单函数,德甲联赛平台定名为bill,送客函数,定名为goodbye,背景函数,定名为backstage_welcome。这些是主函数需求的部门。
法式中屡次设置可供goto利用的节点,用于利用后的返回,使法式愈加完好。并公道利用清屏函数system(cls);,使法式连结简介的页面。
在菜单函数中,输入的值为构造体地点,便利表格中数值援用。\t的感化是对齐,让界面愈加整齐。\n是回车。struct menu* b中的b暗示构造体struct menu的地点,b指向构造体的首地点,即构造体数组dishes[1],b+1指向构造体数组dishes[2],以此类推。-暗示援用该地点下某一成员的值。用%d,%s输出构造体数组中对应的值。
在自界说账单函数中,用于输出菜品编号,称号,并计较总金额。NUM[50]中寄存用户输入的菜品编号,struct menu* b用于输出菜单时对应菜品称号的挪用,PAYMONEY用于输入主函数中曾经计较好的总金额。然后再界说一个整型变量i,用于for轮回计数。将i赋为0,施行前面的轮回构造,if是判定完毕轮回的枢纽,轮回到输入的数组int NUM[50]中的0后break完毕本次轮回,假如不是0,则连续输出菜单。轮回完毕后,输出总金额。
数组赋值成绩应利用strcmp函数,并且不克不及挪用构造体指针,由于构造体内的数组名就是他的首地点,再用地点会报错。
这个法式能晋级的点仍是有许多的,好比:能够写一个链表,主动录入菜品的称号和价钱;还能够界说一个文件指针,用fopen和fclose,将菜单和流水保留在txt文件中,便利后续查阅。
我要加盟(留言后专人第一时间快速对接)
已有 1826 企业通过我们找到了合作项目