C语言程序设计商品信息管理系统

2024/1/13 来源:本站原创 浏览次数:

1、问题定义创建一个商品信息管理系统。假设系统中每件商品记录只包括编码、价格、商品名称等信息。程序的运行效果如下图所示,选择任意菜单后,实现相应功能。编辑添加图片注释,不超过字(可选)在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。2.系统设计2.1总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。编辑切换为居中添加图片注释,不超过字(可选)本商品管理系统要求采用数组实现,如图2.1所示,它由如下五大功能模块组成:1.录入商品基本信息模块。完成将数据存入数组的工作。定义一个int型整型变量,该数组把首地址给menu-item指针变量,并调用page-title()函数输出“录入商品基本信息”这句话。商品信息记录由商品的编码、名字、价格构成。但录入商品基本信息时运用了for循环语句。录入商品的数量不能为空,否则跳出for循环。录入商品信息时,系统将商品信息存储在数组中,即voidproduct-new()启到录入商品信息的作用。完成录入信息后,调用return-confirm()函数,提示是否继续,否则按任意键返回主页面。2.修改商品基本信息模块。运用了条件判断语句if语句,在此商品信息管理系统中,完成了对商品信息记录的维护。将修改过的信息重新存入到源数据中。其中还调用了search-num()函数与之键入的商品信息作比较,即键入商品信息不能为空。3.删除商品基本信息模块。定义一个int整型变量,再调用page-title函数输出“注销商品基本信息”这句话,再运用if选择结构语句,判断条件是输入的商品不能为空,条件成立即执行程序,将此商品信息从源数据中删除。其中调用了search-num()函数与之键入的商品信息作比较,判断键入的商品信息不能为空,成立既可以删除。4.浏览商品基本信息模块。该模块运用了for循环结构语句,内嵌套if选择结构语句,调用search-num()函数与之键入商品信息作比较,即输入信息不能为空,否则跳出循环,成立即可浏览商品,最后并调用return-confirm()函数提示是否继续此模块,“否”按任意键返回主界面。2.2详细设计2.2.1数据结构设计structproduct//定义结构体数组{intnum;//成员表列floatprice;charname[21];}products[32];//变量名表列定义了一个结构体数组product,共有32个元素,product~product。每个数组元素都具有structproduct类型。该数组各元素在内存中连续存放,占用一段连续的储存单元。2.2.2主控流程主函数:voidmain(){system("color0A");menu:page_title("操作选单");printf("请用数字键选择操作\n\n");printf("1录入商品基本信息\n2修改商品基本信息\n");printf("3注销商品基本信息\n4浏览商品");printf("0退出\n");switch(getch()){case1:product_new();break;case2:product_edit();break;case3:product_del();break;case4:browser();break;case0:exit(0);}gotomenu;//跳转到指定的位置,即主页面}主函数运用了函数为空类型(void):利用选择结构(switch)实现在主函数中的调用各个子函数,利用goto函数实现返回主菜单的循环。menu只是一个标号。switch(getch())也可以定义为:scanf(“%d”,c);switch(c);调用system子函数,其中“color0A”即可改变背景的颜色和字体的颜色。此外,主函数也调用了page-title()函数输出“操作选单”这句话。编辑切换为居中添加图片注释,不超过字(可选)2.2.3录入商品基本信息模块子函数:(1).录入商品信息函数Voidproduct-new();{intn;page_title("录入商品基本信息");printf("编号-名字-价格\n");for(n=0;n32;n++)if(products[n].num==0)break;printf("编号:");scanf("%d",products[n].num);printf("名字:");scanf("%s",products[n].name);printf("价格:");scanf("%f",products[n].price);return_confirm();}定义一个整型变量n,n既是商品信息总数也是循环变量,确定新的库存量定义为n32,输入的商品信息,用for循环语句直到输入商品的库存量大于等于32,结束循环。编辑添加图片注释,不超过字(可选)(2).删除商品信息函数voidproduct_del(){intn;page_title("注销商品基本信息");if((n=search_num())!=0)products[n].num=0;printf("\n!该商品已注销.\n");return_confirm();}定义一个整型变量n,调用page-title输出“注销商品基本信息”这句话,运用if选择结构语句,判断条件是输入商品信息不能为空,即调用search-num()函数与之比较,条件成立即可注销该商品。编辑添加图片注释,不超过字(可选)(3).编辑商品信息函数voidproduct_edit(){intn;page_title("编辑商品基本信息");if((n=search_num())!=0){printf("\n请重新输入新信息:\n编号:");scanf("%d",products[n].num);printf("名字:");scanf("%s",products[n].name);printf("价格:");scanf("%f",products[n].price);}return_confirm();}定义一个整型变量n,调用page-title输出“编辑商品基本信息”这句话,运用if选择结构语句,判断条件是输入商品信息不能为空,即调用search-num()函数与之比较,条件成立即可重新编辑该商品信息。最后调用return-confirm()函数,提示是否继续此模块,“否”按任意键返回主界面。编辑添加图片注释,不超过字(可选)(4).浏览商品信息函数voidbrowser(){intn,i;system("CLS");//清屏printf("商品列表:\n");for(i=0;i32;i++){if((n=search_num())!=0);break;}return_confirm();}定义两个整型变量n,i;其中i是商品信息录入量。运用system函数起到清屏的作用。再运用格式化输出函数printf,原样输出“商品表列”这句话,再运用for循环控制结构查询商品信息,商品信息库存量最大不能超过32,内嵌套一个if选择结构语句,调用search-num()这个函数与输入信息作比较,两者是否相等,不相等说明输入信息有误查找不到此类商品。(5).其他子函数功能描述Voidpage-title(char*menu-item)定义一个叫page-title的函数,其形参定义为一个指针变量menu-item。其中void是函数类型,page-titile是函数名,括号里面char参数类型,menu-item是参数名。Printf是原样输出括号里面的内容,其中“”“”是普通字符原样输出,“%s”是格式控制,“menu-item”是指针变量。这是一个显示页眉的函数,同时通过参数menu-item指针变量,输出指针所指向的内容,即可以显示当前的状态。这个函数的作用是在下一页执行指定的操作。Voidreturn-confirm()定义一个叫return-confirm的函数,其作用是提示是否继续执行当前任务,不继续可以按任意键返回到主页面。System函数其存放在#include“Windows.h”函数库当中。Intsearch-num()定义一个叫search-num的函数,其功能是查找商品。其通过商品的编号进行查找。首先定义两个整型变量n、i,运用for循环语句,确定库存量定义为n32,内嵌套一个if选择结构语句,判断输入的商品信息与库存量商品信息是否一致以及输入商品不能为空,条件成立即可输出商品的编号、名称、价格,若条件不成立即会输出一句话“输入错误或编号不存在”。3.系统编码设计3.1编码3.1.1程序预处理注:包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。#include"stdio.h"/*标准输入输出函数库*/#include"stdlib.h"/*标准函数库*/#include"string.h"/*字符串函数库*/#include"conio.h"/*屏幕操作函数库*/#include"windows.h"//存放清屏、改变字体颜色等函数//structproduct//定义结构体数组3.2测试与调试一般情况下,为解决一个问题所编写的程序代码较长,可能包括几百条甚至成千上万条语句。在检查并排除所有语法错误后,还会有不易发现的逻辑错误,因此要对程序进行认真仔细的测试与调试。测试是通过运行程序发现错误的过程,常见的错误有数据溢出、数组越界、进入死循环、语句顺序颠倒、多加“;”或少加“{}”等等。调试则是确定测试中找到的错误性质并改正错误的过程。测试与调试通常交替进行,即测试——调试——再测试——再调试。3.2.1主菜单运行如下:编辑添加图片注释,不超过字(可选)输入0~4其中任何一个数字键选择指定的操作,如按“1”,即可进入到“录入商品基本信息”界面。编辑添加图片注释,不超过字(可选)输入商品基本信息,编号、名字、价格。如下所示:编辑添加图片注释,不超过字(可选)输入完商品基本信息后可按任意键返回。其录入商品信息存在成员表列。按“2”即可进入“修改商品基本信息”界面。输入要修改的商品编号即可修改商品。编辑添加图片注释,不超过字(可选)重新输入修改商品的信息编辑添加图片注释,不超过字(可选)修改完成后可以按任意键返回。返回主界面,按“3”可以进入“注销商品信息”界面中。输入你要注销的商品编号,如图所示:编辑添加图片注释,不超过字(可选)输入编码正确即该商品被注销。编辑添加图片注释,不超过字(可选)如果输入编码不正确,就会显示如下:编辑添加图片注释,不超过字(可选)回到主界面后,按“4”即可进入到“浏览商品信息界面”中。显示如下:编辑添加图片注释,不超过字(可选)3.3系统维护经测试与调试确认软件无错时,开发就告一段落,这时可以交付软件供用户使用,但是在软件的使用过程中还会面临更加漫长的工作,即软件维护。一般维护的工作有:更改使用中发现的错误;为适应实际环境而对程序进行修改;为满足新的需求而对程序作必要的改进等等。编辑资料包括需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

转载请注明:
http://www.wqopd.com/ynyys/12536.html
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介
    医院地址: 健康热线:
    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: