C语言餐饮结账管理系统设计


    



    C语言程序设计
    课程设计报告
    设计题目:餐饮结账理系统设计














    1 设计务
    11 设计题目描述
    功:餐饮结账信息包括:编号时间台面号顾客数量接服务生实收金额
    试设计餐饮结账理系统提供功:
    1结账信息录入修改删功
    2查询浏览功:台面号查询接服务生查询
    3 实收金额排序
    4统计总收入顾客总数等功

    12 设计求
    (1)仔细审题明确题目求
    (2)结构化程序设计思想程序模块化相独立功写成函数
    (3)求编程调试通演示程序编写规范添加适注释
    (4)课程设计报告容格式求撰写课程设计报告印
    2 设计方案说明
    21 数存储结构
    餐饮结账信息包括:编号时间台面号顾客数量接服务生实收金额
    需结构体结账信息止结构体数组里定义结构体struct bill定义数组bill[M]
    struct bill
    {
    int num 编号
    int time[4] 时间
    int table 台面号
    int count 顾客数量
    char name[20] 服务生姓名
    int money 实收金额
    }bill[M]

    22函数间调关系说明
    main
    menu
    Input

    modify
    deleter
    search
    search2
    sort
    income
    number
    modify_a
    save
    Display_all
    readFromFile
    display


    23函数说明
    1)函数 void menu()
    void menu() 菜单函数
    函数菜单处进入模块
    变量 c :c选择进入功
    C1?



    C2?
    执行 否
    Input
    执行 C…………
    Modify


    2)函数void input()
    void input() 信息录入录入信息存入文件bill中
    函数键盘输入信息录入文件bill中
    scanf输入结构体中量
    开文件bill成功
    选择输入信息数N
    输入第i信息
    直i>N
    保存关闭文件


    3)函数 void readFromFile()
    void readFromFile() 文件中读取信息存入数组bill[30]
    函数文件bill中信息读出存入bill[]
    开文件
    读第i文件
    直i>N
    关闭文件





    4)函数 void save()
    void save() *保存函数*
    函数修改删保存数
    开文件
    写入第i文件
    直i>N
    关闭文件






    5)函数 void display_all()
    void display_all() 信息全部显示
    通函数显示输入信息
    readFromFile()读取文件中信息
    printf显示第i信息
    直i




    6)函数 void display(int i)
    void display(int i) 单信息显示 i修改信息号modify函数中读入
    函数修改等功显示第i信息核
    printf显示第i信息数


    7)函数 int modify_a(int i)
    int modify_a(int i) 修改函数时调函数
    函数修改中信息返回数值确定否修改
    变量c确定修改项目
    键盘输入C值
    c>7||c<1

    错误 w12
    重试 c1

    输入新信息 c…………
    显示修改第i信息
    输入w1值
    返回值w1




    8) 函数 void modify()
    void modify() 修改信息函数
    函数修改中信息保存
    文件bill中读入数
    w01
    k1
    输入n值
    循环判断bill[i]numn0?

    ki k1
    输出记录
    w1modify_a(k)
    w11?

    保存 输入w0值 结束



    9)函数 void deleter()
    void deleter() 删记录
    函数删记录中条信息
    文件bill中读入信息
    w11
    k1
    输入n
    循环判断nbill[i]num0?

    ki k1
    记录
    display(i)
    输入w0 w01?

    bill[i]bill[i+1] save() 结束
    输入w1值










    10)函数 void search1()
    void search1() 台面号查询
    函数台面号查询信息输出信息
    文件bill中读入信息
    w01
    输入number
    循环判断numberbill[i]table?

    ji j1
    display(j) 号
    输入w0值










    11)函数 void search2()
    void search2() 接服务生查询
    函数接服务生姓名查询信息显示
    文件bill中读入信息
    w01
    输入a[20]
    循环判断strcmp(bill[i]namea)0?

    ji j1
    display(j) 姓名
    输入w0值

    12)函数 void sort()
    void sort() 金额排序
    函数金额信息进行排序输出
    关键变量struct bill t 中间变量交换bill[i]bill[i+1]值
    文件bill中读取文件
    bill[i]money>bill[i+1]money)

    tbill[i]bill[i]bill[i+1]bill[i+1]t 变
    i0 ij0 jdisplay(i)
    i0 iw02
    输入w0值判断否返回



    13)函数 void income()
    void income() 总收入统计
    函数统计总收入输出
    关键变量sum统计总收入
    文件bill中读取文件
    sumsum+bill[i]money
    i0i输出sum
    w02
    输入w0值判断否返回


    14)函数 void number()
    void number() 顾客总数统计
    函数统计顾客总数
    关键变量number统计顾客总数
    文件bill中读取文件
    numbernumber+bill[i]count
    i0i输出number
    w02
    输入w0值判断否返回


    3设计题目源代码清单

    #include
    #include
    #include
    #define M 30
    struct bill
    {
    int num 编号
    int time[4] 时间
    int table 台面号
    int count 顾客数量
    char name[20] 服务生姓名
    int money 实收金额
    }bill[M]
    int N
    *菜单*
    void menu()
    {
    char c
    void input()
    void modify()
    void deleter()
    void search1()
    void search2()
    void sort()
    void income()
    void number()
    do
    {
    printf(\n\n\n)
    printf( <<<<餐饮结账理系统>>>> \n)
    printf(\n)
    printf(\n\n)
    printf(1录入 2修改 3删 \n\n)
    printf(4台面号查询 5接服务生查询\n\n)
    printf(6金额排序 7总收入 8顾客总数 \n\n)
    printf( 0退出 \n\n)
    printf(\n)
    printf(\n\n)
    printf(请选择服务(08))
    cgetchar()
    switch(c)
    {
    case '1' {input()getchar()break}
    case '2' {modify()getchar()break}
    case '3' {deleter()getchar()break}
    case '4' {search1()getchar()break}
    case '5' {search2()getchar()break}
    case '6' {sort()getchar()break}
    case '7' {income()getchar()break}
    case '8' {number()getchar()break}
    case '0'
    {
    printf(\n谢谢见)
    exit(0)
    printf(\n)
    }
    default
    {
    printf(\n输入误重试)
    cgetchar()
    }
    }
    }while(1)

    }
    *信息录入录入信息存入文件bill中*
    void input()
    {
    FILE *fp
    int i
    if((fpfopen(billw))NULL)
    {
    printf(cannot open the file\n)
    return
    }
    printf(输入信息数(0d)M1)
    scanf(d&N)
    printf(请输入数\n)

    for(i0i {
    printf(输入账单 d 信息\ni+1)
    printf(编号)
    scanf(d&bill[i]num)
    printf(时间(月日 时分))
    scanf(dddd&bill[i]time[0]&bill[i]time[1]&bill[i]
    time[2]&bill[i]time[3])
    printf(台面号)
    scanf(d&bill[i]table)
    printf(顾客数量)
    scanf(d&bill[i]count)
    printf(接服务生)
    scanf(sbill[i]name)
    printf(实收金额)
    scanf(d&bill[i]money)
    }
    for(i0i {
    if(fwrite(&bill[i]sizeof(struct bill)1fp)1)
    {
    printf(file write error\n)
    return
    }
    }
    fclose(fp)
    }
    *文件中读取信息存入数组sbill[N]*
    void readFromFile()
    {
    int i
    FILE *fp
    if((fpfopen(billrb))NULL)
    {
    printf(cannot open the file\n)
    return
    }
    for(i0i fread(&bill[i]sizeof(struct bill)1fp)
    fclose(fp)
    }
    *保存函数*
    void save()
    {
    FILE *fp
    int i
    if((fpfopen(billw))NULL)
    {
    printf(cannot open the file\n)
    return
    }
    for(i0i {
    if(bill[i]num'\0')
    if(fwrite(&bill[i]sizeof(struct bill)1fp)1)
    {
    printf(file write error\n)
    return
    }
    }
    fclose(fp)
    }
    *信息全部显示*
    void display_all()
    {
    int i
    readFromFile()
    printf(全部信息:\n)
    for(i0i {
    printf(编号d 时间dd dd 台面号d 顾客数量d 接服务生s 实施金额dbill[i]numbill[i]time[0]bill[i]time[1] bill[i]time[2]bill[i]time[3]bill[i]tablebill[i]countbill[i]namebill[i]money)
    printf(\n)
    }
    }
    *单信息显示*
    void display(int i)
    {
    printf(编号d 时间dddd 台面号d 顾客数量d 接服务生s 实施金额dbill[i]numbill[i]time[0]bill[i]time[1]bill[i]time[2]bill[i]time[3]bill[i]tablebill[i]countbill[i]namebill[i]money)
    }
    * 修改函数调函数*
    int modify_a(int i)
    {
    int cw1
    printf(\n修改选项>\n\n 1)编号 2)时间 3)台面号 4)顾客数量 5)接服务生 6)实收金额 7)取消返回)
    printf(请选择 [ ])
    scanf(d&c)
    if(c>7||c<1)
    {
    printf(\n选择错误请重试)
    getchar()
    }
    do
    {
    switch(c)
    { case 1 printf(编号) scanf(d&bill[i]num) break
    case 2printf(时间) scanf(dddd&bill[i]time[0]&bill
    [i]time[1]&bill[i]time[2]&bill[i]time[3])break
    case 3 printf(台面号) scanf(d&bill[i]table) break
    case 4 printf(顾客数量) scanf(d&bill[i]count) break
    case 5 printf(接服务生) scanf(sbill[i]name) break
    case 6 printf(实收金额) scanf(d&bill[i]money) break
    case 7 menu()
    }
    printf(\n现\n)
    display(i)
    printf(\n确定\n 1) 2)重新修改 3)返回保存 [ )
    scanf(d&w1)
    }while(w12)
    return(w1)
    }
    *修改信息*
    void modify()
    {
    int inkw01w1
    readFromFile()
    do
    {
    k1
    display_all()
    do
    {
    printf(\n输入修改编号数\n编号)
    scanf(d&n)
    for(i0i if(bill[i]numn0)
    {
    ki
    }
    if(k1)
    printf(\n\n没记录请重新输入)
    }while(k1)
    w1modify_a(k)
    if(w11)
    {
    printf(\n 修改成功 \n否继续 1) 2)保存返回 [)
    save()
    scanf(d&w0)
    }
    }while(w01)
    }
    *删记录*
    void deleter()
    {
    int iknw0w1
    readFromFile()
    do
    {
    k1
    display_all()
    do
    {
    printf(\n输入删编号:\n)
    scanf(d&n)
    for(i0i if(nbill[i]num0)
    {
    ki
    }
    if(k1)
    printf(\n记录请重新输入\n)
    }while(k1)
    display(i)
    printf(\n确定删? 1) 2)返回\n [)
    scanf(d&w0)
    if(w01)
    {
    for(iki {
    bill[i]bill[i+1]
    save()
    }
    }
    else break
    display_all()
    printf(\n删成功否继续? 1) 2)返回 [ )
    scanf(d&w1)
    }while(w11)
    }
    *台面号查询*
    void search1()
    {
    int ijw0
    int number
    readFromFile()
    do
    {
    j1
    printf(\n请输入台面号查询)
    scanf(d&number)
    for(i0i {
    if(numberbill[i]table)
    {
    ji
    display(j)
    printf(\n)
    }
    }
    if(j1)
    printf(号)
    printf(\n继续 1) 2)返回 [)
    scanf(d&w0)
    }while(w01)
    }
    *接服务生查询*
    void search2()
    {
    char a[20]
    int ijw0
    do
    {
    j1
    printf(\n请输入接服务生姓名查询)
    scanf(sa)
    for(i0i {
    if(strcmp(bill[i]namea)0)
    {
    ji
    display(j)
    printf(\n)
    }
    }
    if(j1)
    printf(姓名)
    printf(\n继续 1) 2)返回 [ )
    scanf(d&w0)
    }while(w01)
    }
    *金额排序*
    void sort()
    {
    int ijw0
    struct bill t
    readFromFile()
    printf(\n\n)
    for(j0j for(i0i if(bill[i]money {
    tbill[i]
    bill[i]bill[i+1] *调换bill[i]bill[i+1]值*
    bill[i+1]t
    }
    printf(\n)
    for(i0i {
    display(i)
    printf(\n)
    }
    do
    {
    printf(\n返回 1) 2)否)
    scanf(d&w0)
    }while(w02)
    }
    *总收入统计*
    void income()
    {
    int isum0w0
    readFromFile()
    for(i0i sumsum+bill[i]money
    printf(\n\n)
    printf(总收入dsum)
    do
    {
    printf(\n返回 1) 2)否)
    scanf(5d&w0)
    }while(w02)
    }
    *顾客总数统计*
    void number()
    {
    int inumber0w0
    readFromFile()
    for(i0i numbernumber+bill[i]count
    printf(\n\n)
    printf(顾客总数dnumber)
    do
    {
    printf(\n返回 1) 2)否)
    scanf(5d&w0)
    }while(w02)
    }
    *函数*
    void main()
    {
    menu()
    }
    4 程序测试
    41 测试数说明
    测试数包括:编号时间台面号顾客数量接服务生实收金额

    编号
    时间
    (int 数组)
    台面号
    Int
    顾客数量
    Int
    接服务生
    char数组
    实收金额
    Int
    1
    72 1212
    5
    2
    li
    32
    2
    72 1222
    3
    6
    wang
    128
    3
    72 1232
    2
    8
    zhao
    186
    4
    72 1242
    4
    3
    zhang
    95
    5
    72 1252
    1
    5
    li
    105

    42 输出结果说明
    1)菜单界面进入系统首先显示菜单通选择数字运餐饮结账系统项功

    图1 菜单
    2)录入界面选择1根提示输入需输入信息数次录入条信息

    图2 录入
    3)修改界面选择2次输入修改编号1 项目6更改35保存返回

    图3 修改信息
    4)台面号查询信息选择4次查询台面号36返回

    图4 台面号查询
    5)服务生姓名查询选择5查询服务生li返回

    图5 服务生查询
    6)金额排序选择6金额排序显示返回

    图6 金额排序
    7)求总收入选择7求出总收入返回

    图7 总收入
    8)求顾客总数选择8求出顾客总数返回

    图8 顾客总数
    9)删信息选择3输入删编号3删显示返回

    图9 删信息
    10)退出程序选择0退出餐饮结账理系统

    图10 退出

    5 课程设计总结

    通期周课程设计C语言门课程更深步解计算机程序设计重理技术基础学中占着十分重位
    1. 次课程设计运C语言知识编写参饮结账理系统中遇少问题时编写普通常见程序时感觉心应手非常简单次程序求第感觉法手通老师指导终思路编写中碰修改函数时知道通直接输入代原数知道修改更加完美通网查找资料解决问题数互影响修改改必须重新输入遍问题删开始时绞脑计想该删试许办法法完成功完成排序时互换bill[i]bill[i+1]影响想代前想法剩细节问题例项功完成返回菜单退出时返回(解决方法菜单函数中加入while(1)退出数字9变0)功完成会直接返回控制(函数do……while……w0控制退出否)剩余符号&
    d等定注意细节
    2.通完成课题进步熟悉C语言基知识掌握真正较复杂程序基算法思想掌握C语言文件操作(包括磁盘读入磁盘写入容)进步熟悉结构体法数组建立运函数调等时知道学门课程仅学书知识够较强实践力学知识实践实践编写程序更理解掌握书东西

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    C语言课程设计通讯录管理系统

     课程设计报告书 课程名称: C语言课程设计 班 级: 学 号: ...

    5年前   
    2399    0

    C语言课程设计学生通讯录管理系统设计

    C语言课程设计学生通讯录管理系统设计一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类...

    4年前   
    721    0

    C语言课程设计学生考勤系统

    设计任务:C语言课程设计任务书题目:学生考勤系统设计功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够...

    2年前   
    523    0

    C语言课程设计学校运动会管理系统

    C语言课程设计 学 校 运 动 会 管理系统代码有误运行不了 专业:网络工程 班级: 报告人: ...

    1年前   
    232    0

    C++语言程序设计稿件管理数据系统

    XX大学 本科生课程设计(实践)任务书、设计报告 (C++语言程序设计) 题 目 稿件管理数据系统 学生姓名 指导教师 学 院 专业班级 学生学号 计...

    5年前   
    1635    0

    餐饮管理系统的设计与实现

     题 目 餐饮管理系统的设计与实现 学生姓名 焦诚 学号 1121024048 所在学院 ...

    2年前   
    696    0

    餐饮管理系统的设计与实现

    摘 要1.背景目的:随着我国经济发展和人民生活水平显著提高,全社会对餐饮业的需求量也越来越大;伴随着消费的持续增长,餐饮行业已经成为现代社会中发展最快的行业之一。要想在激烈的市场竞争中生存,...

    3年前   
    972    0

    餐饮管理系统的设计与开发

    毕业设计〔论文〕题 目 餐饮管理系统的设计与开发 姓 名 杨哲 学 号 31202145 ...

    2年前   
    384    0

    餐饮管理系统设计说明书

    餐饮管理系统之 ——系统设计说明书 一. 总体设计 1.处理流程 (略) 图 总体处理流程图 2.总体结构和模块外部设计 模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把...

    5年前   
    1046    0

    餐饮管理系统详细设计

    餐饮管理系统 1.1开发背景 近几年来,计算机网络、分布技术日趋成熟,随着科技的发展,餐饮业的竞争也越来越激烈。想在这样竞争激烈的环境下生存,就必须运用科学的管理思想与先进的管理方法,使点餐...

    5年前   
    1108    0

    笔记本电脑销售管理系统C语言课程设计实验

    笔记本电脑销售管理系统要求:实验6 笔记本电脑销售管理系统笔记本电脑销售信息包括:产品名称、品牌、产品型号、销售数量、进价、库存数量、售价、总金额(销售数量*售价)。系统的主要功能包括:1.创...

    2年前   
    440    0

    c++超市管理系统课程设计报告

    c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在...

    2年前   
    550    0

    国开电大《C语言程序设计》答案

    形考1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。选择一项:A. main 正确恭喜你,答对啦!!B. MAIN C. name D. function .题目2正确...

    1年前   
    409    1

    C语言程序设计习题试题集

    《C语言程序设计》精品课件试题目录(按住CTRL键点击超链)单项选择题………………………第002页阅读程序题………………………第018页程序填空题………………………第039页编写程序题…………...

    1年前   
    5463    0

    C++语言课程设计一迷你高尔夫

    C++语言课程设计一迷你高尔夫一、实验内容 玩家通过按下键盘上的上下左右方向键控制球的移动,使其最终到达出口则游戏通关。 要求如下:1、 游戏分成3关,第一关、第二关、第三关界面图如下:第一关...

    3年前   
    608    0

    c语言课程设计总结5篇

    c语言课程设计总结5篇c语言课程设计总结(一):  c语言课程设计总结心得  经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是...

    3年前   
    1294    0

    C语言程序设计说课教案

    《C语言程序设计》说课教案从以下方面说明:一、 课程性质、地位二、 教学对象分析及要求三、 课程体系四、 课程的重点、难点及突破五、 教学方法与教学手段六、 学生考核七、 教学计划一、 课程性...

    1年前   
    342    0

    2021年c语言课程设计小结

     2021年c语言课程设计小结撰写人:___________日 期:___________2021年c语言课程设计小结关键词:图书管理系统关系模型功能模块随着社会的进步与发展,资源高效利用提...

    3年前   
    601    0

    C语言程序设计实验报告

    C语言程序设计实验报告  实验名称 计算出1000以内10个最大素数之和   实验目的   1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语...

    10年前   
    957    0

    C语言程序设计形考任务

    假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。选择一项: a. struct ...

    4年前   
    1484    0

    文档贡献者

    郭***林

    贡献于2022-03-27

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档