资源描述:
《语c言课程设计结账系统大学论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、软件学院课程设计报告设计名称:C语言课程设计选题名称:结账系统姓名:王帅学号:1515925717专业班级:云计算3班系(院):软件学院设计时间:2015.12.26~2015.12.29设计地点:实验室15#508一、系统设计该程序设计主要利用了C语言的基本知识,程序的几乎全部工作都是由各个函数分别完成的。该小型结账系统主要实现了对管理员和客户的功能。以下就是程序实现的主要功能:管理员的功能:1.录入商品信息。2.打印商品信息。3.插入商品信息。4.删除商品信息。5.修改商品信息。6.读出商品信息。
2、7.退出系统并保存和销毁。客户的功能:1.查询商品信息。2.读出商品信息。3.求商品清单。4.查看商品的编号。5.退出系统并保存和销毁.程序模块图如下:结账系统打印商品信息录入商品信息退出保存和销毁插入商品信息删除商品信息修改商品信息读出商品信息退出保存和销毁求取商品清单读出商品信息查询商品信息查看商品编号流程图:管理员:开始始始输入n值录入商输入品信息i=2打印是插入3是4删除是修改5是6读出是0结束开始客户:查询查看编号431菜单读出i=是商品清单是是0结束录入流程图:查询流程图:i=1无此商品输
3、出信息输入编号开始输入n的值i++是否找到录入信息是是否i#include2.利用宏定义申请空间的字符长度#defineNsizeof(structgood)3.定义结构体变量structgood{intnum;charname
4、[20];floatprice;intquantity;structgood*next;};4.创建一个头结点structgood*tou()//创建头结点{structgood*head;head=(structgood*)malloc(N);if(head==NULL){printf("创建失败!");exit(0);}head->next=NULL;returnhead;}5.创建一个商品的链表,链表的长度自行定义,创建完成后返回头结点。structgood*creat(structgood
5、*head)//创建链表{inti=1,n;structgood*q,*p;head->next=NULL;p=head;printf("你想录入几个商品的信息");scanf("%d",&n);while(i<=n){q=(structgood*)malloc(N);printf("输入%d商品的编号",i);scanf("%d",&q->num);printf("输入%d商品的名称",i);scanf("%s",q->name);printf("输入%d商品的价格",i);scan
6、f("%f",&q->price);printf("输入%d商品的数量",i);scanf("%d",&q->quantity);p->next=q;p=q;i++;}p->next=NULL;returnhead;}1.插入一个结点。输入你想插入在那个商品的编号,开始从头到尾寻找这个编号,找到了,插入进取,没有找到输出无此商品。intinsert(structgood*head)//插入{structgood*p,*q,*t,*w;intnum,i,j,m=1;printf("你想插入那个商品的
7、后面");scanf("%d",&num);p=head->next;while(p!=NULL){if(p->num==num){t=(structgood*)malloc(N);if(t==NULL){printf("创建失败!!!");exit(0);}t->next=NULL;w=t;while(i){q=(structgood*)malloc(N);printf("插入%d商品的编号",m);scanf("%d",&q->num);printf("插入%d商品的名称",m);
8、scanf("%s",q->name);printf("插入%d商品的价格",m);scanf("%f",&q->price);printf("插入%d商品的数量",m);scanf("%d",&q->quantity);w->next=q;w=q;m++;printf("是否继续插入?继续请按<1>,停止请按<0>");scanf("%d",&j);i=j;}w->next=p->next;p->next=t->next;printf("插