C语言程序设计超市管理系统

C语言程序设计超市管理系统
C语言程序设计超市管理系统

程序设计——超市管理系统

学院:

专业:

班级:

姓名:

学号:

指导老师:

超市管理系统课程设计

1)需求分析:

设计题目:超市管理系统

设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:

1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计:统计输出库存量低于100的货号及类别。统计输出有两种以上(含两种)商品库存量低于100的商品类别。

2)概要设计:

系统总体设计框架:

系统功能模块图:

3)详细设计:

主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;

2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;

3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;

4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;

5)计算模块:将所有商品的价格与库存量进行累加求和;

6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;

8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别

工作流程图:

4)主要源程序代码:

#include "" /*输入,输出头文件*/

#include "" /*申请空间头文件*/

#include "" /*对字符串加工头文件*/

#include "" /*清屏头文件*/

FILE *fp;

int n=0; /*定义文件指针类型*/

int i,j,a[4],m; /*定义整数类型*/

float aver[4],sum[4],g[4],h; /*定义浮点类型*/

char c[5]="elec"; /*定义字符数组类型*/

char d[5]="comm"; /*定义字符数组类型*/

char e[5]="food"; /*定义字符数组类型*/

char f[5]="offi"; /*定义字符数组类型*/

struct good /*定义结构体*/

{

int num; /*商品编号*/

char name[20]; /*商品名称*/

char kind[40]; /*商品类型*/

float price; /*商品价格*/

char unit[10]; /*商品单位*/

int quantity; /*商品数量*/

struct good *next; /*定义结构体指针类型*/

}*head,*p1,*p2;

struct good *createlist() /*创建链表函数*/

{

struct good *head1,*p1,*p2; /*定义结构体指针类型*/

if((fp=fopen("goods ","w"))==NULL) /*判断能否打开文件*/

{

printf("can not open the file");

exit(0); /*结束程序*/

}

head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/

p1=head1;

p2=head1;

printf("*********************************************\n");

printf("请输入信息:编号,名称,类型,价格,单位,数目\n");

printf(" (以输入“-1”表示结束输入)\n");

printf("*********************************************\n");

printf("____________________\n");

scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1->u nit,&p1->quantity); /*输入商品信息*/

printf("____________________\n");

p1->next=NULL;

fprintf(fp,"%d %s %s %f %s %d

",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/

while(1)

{

p1=(struct good *)malloc(sizeof(struct good)); /*申请新空

间*/

printf("*********************************************\n");

printf("请输入信息:编号,名称,类型,价格,单位,数目\n");

printf(" (以输入“-1”表示结束输入)\n");

printf("*********************************************\n");

printf("____________________\n");

scanf("%d",&p1->num);

if(p1->num==-1) /*申请空间结束条件*/

{

printf("____________________\n\n");

fprintf(fp,"%d",-1);

fclose(fp);

return head1; /*返回头指针*/

}

scanf("%s %s %f %s %d",p1->name,p1->kind,&p1->price,p1->unit,&p1->qua ntity); /*输入商品信息*/

printf("________________\n");

fprintf(fp,"%d %s %s %f %s %d

",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/

p1->next=NULL;

p2->next=p1;

p2=p1;

}

}

struct good *paixu(struct good*head2) /*链表排序函数*/

{

struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/

for(i=0;i<=3;i++) /*赋初值值*/

{

a[i]=0;

sum[i]=0;

aver[i]=0;

}

p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ p6->next=head2;

head2=p6;

while(p6->next!=NULL) /*判断循环结束条件*/

{

p7=p6->next;

r=p6;

while(p7->next!=NULL) /*判断循环结束条件*/

{

if((p7->next->price)>(r->next->price)) /*判断是否调换*/

r=p7;

p7=p7->next;

}

if(p6!=r) /*判断循环结束条件*/

{

s=r->next; /*指针调换*/

r->next=s->next;

s->next=p6->next;

p6->next=s;

}

p6=p6->next;

}

p6=head2;

head2=head2->next;

free(p6); /*释放第一个无效空间*/

return head2;

}

void jisuan()

{

p1=head;

do

{

if(strcmp(p1->kind,c)==0) /*判断是否为电器类型*/ {

sum[0]=sum[0]+(p1->price)*(p1->quantity); /*求电器总价*/

a[0]=a[0]+p1->quantity; /*求电器总件数*/

}

if(strcmp(p1->kind,d)==0) /*判断是否为日用品类型*/

{

sum[1]=sum[1]+(p1->price)*(p1->quantity); /*求日用品总价*/

a[1]=a[1]+p1->quantity; /*求日用品总件数*/

}

if(strcmp(p1->kind,e)==0) /*判断是否为办公用品类型*/ {

sum[2]=sum[2]+(p1->price)*(p1->quantity); /*求办公用品总价*/

a[2]=a[2]+p1->quantity; /*求办公用品总件数*/

}

if(strcmp(p1->kind,f)==0) /*判断是否为食品类型*/

{

sum[3]=sum[3]+(p1->price)*(p1->quantity); /*求食品总价*/

a[3]=a[3]+p1->quantity; /*求食品总件数*/

}

p1=p1->next;

}while (p1!=NULL); /*遍历链表结束条件*/

for(i=0;i<4;i++)

aver[i]=sum[i]/a[i]; /*求每类商品平均价*/

printf("****************************************************\n"); printf("商品类型 \t 平均价\t 总库存量\n");

printf("****************************************************\n"); printf("____________________________________________________\n"); printf("电器总价值:%\t平均价:%\t总库存

量:%d\n",sum[0],aver[0],a[0]);

printf("____________________________________________________\n"); printf("日用品总价值:%\t平均价:%\t总库存

量:%d\n",sum[1],aver[1],a[1]);

printf("____________________________________________________\n"); printf("食品总价值:%\t平均价:%\t总库存

量:%d\n",sum[2],aver[2],a[2]);

printf("____________________________________________________\n"); printf("办公用品总价值:%\t平均价:%\t总库存

量:%d\n",sum[3],aver[3],a[3]);

printf("____________________________________________________\n"); }

void shuchu() /*输出商品信息函数*/

{

do

{

struct good *p3,*p4,*p5; /*定义结构体指针类型*/

int n=0,p=0,q=0,r=0;

printf("所有商品信息:\n");

printf("编号,名称,类型,价格,单位,数目\n");

printf("**********************************\n");

if((fp=fopen("goods ","rb+"))==NULL) /*判断能否打开文件*/

{

printf("can not open the file");

exit(0); /*结束程序*/

}

head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/

p3=head;

fscanf(fp,"%d %s %s %f %s %d

",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity); /*从文件中写到链表*/

while(1)

{

p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/

fscanf(fp,"%d ",&p4->num);

if(p4->num!=-1) /*判断循环结束条件*/

{

fscanf(fp,"%s %s %f %s %d

",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*从文件中写

到链表*/

p4->next=NULL;

p3->next=p4;

p3=p4;

}

else

{

p3->next=NULL;

break;

}

}

fclose(fp); /*关闭文件*/

p3=head;

while(p3!=NULL)

{

printf(" %d %s %s % %s %d\n\n",p3->num,p3->name,p3->kind,

p3->price,p3->unit,p3->quantity);

printf("__________________________________\n");

p3=p3->next;

}

printf("**********************************\n");

printf("//////////////////////////////////\n");

while(n!=4)

{

p3=head;

printf("**********************************\n");

printf("1 添加商品信息\n");

printf("2 删除某商品信息\n");

printf("3 修改某商品信息\n");

printf("4 返回(当你完成了对某一商品的添加、删除或者修改后请按4返

回)\n");

printf("**********************************\n");

scanf("%d",&n);

if(n==1) /*添加商品信息*/

{

printf("请输入商品编号名称类型价格单位数目\n");

printf("**********************************\n");

p4=(struct good *)malloc(sizeof(struct good)); /*申请空间*/

scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4->u

nit,&p4->quantity); /*输入商品信息*/

p4->next=NULL;

while(p3->next!=NULL) /*判断循环结束条件*/

{

p3=p3->next;

}

p3->next=p4;

p3=head;

if((fp=fopen("goods ","w"))==NULL) /*判断能否打开文

件*/

{

printf("can not open the file");

exit(0); /*结束程序*/

}

while(p3!=NULL)

{

fprintf(fp,"%d %s %s %f %s %d

",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity) ; /*将商品信息写入文件*/

p3=p3->next;

}

fprintf(fp,"%d",-1);

fclose(fp); /*关闭文件*/

printf("**********************************\n");

printf("__________________________________\n");

printf("------------请按4返回-------------\n");

printf("__________________________________\n");

printf("**********************************\n");

}

if(n==2) /*删除商品*/

{

printf("**********************************\n");

printf("请输入需要删除的商品编号\n");

printf("**********************************\n");

scanf("%d",&p);

printf("**********\n");

printf("1 确认删除\n2 取消删除\n");

printf("**********\n");

scanf("%d",&r);

if(r==1)

{

if((head->num)==p)

{

head=head->next;

free(p3); /*释放空间*/

}

else

{

p4=head;

p3=p4->next;

while(p3!=NULL) /*判断循环结束条件*/

{

if((p3->num)==p)

{

p5=p3->next;

free(p3); /*释放空间*/

p4->next=p5;

break;

}

p3=p3->next;

p4=p4->next;

}

}

if((fp=fopen("goods ","w"))==NULL) /*判断能否打开文件*/ {

exit(0); /*结束程序*/

}

p3=head;

while(p3!=NULL) /*判断循环结束条件*/

{

fprintf(fp,"%d %s %s %f %s %d

",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/

p3=p3->next;

}

fprintf(fp,"%d",-1);

fclose(fp); /*关闭文件*/

}

if(r==2)

continue; /*继续循环*/

printf("**********************************\n");

printf("__________________________________\n");

printf("------------请按4返回-------------\n");

printf("__________________________________\n");

printf("**********************************\n");

}

if(n==3) /*修改某商品信息*/

{

printf("请输入需要修改的商品编号\n");

scanf("%d",&q);

while(p3!=NULL) /*判断循环结束条件*/

{

if((p3->num)==q) /*判断是否为所需要修改的商品*/

{

printf("请输入商品单价与库存量(如果单价不变请输入原来的单价)

\n");

scanf("%f %d",&p3->price,&p3->quantity); /*输入商品

价格与库存量*/

}

p3=p3->next;

}

if((fp=fopen("goods ","w"))==NULL) /*判断能否打开文

件*/

{

exit(0); /*结束程序*/

}

p3=head;

while(p3!=NULL) /*判断循环结束条件*/

{

fprintf(fp,"%d %s %s %f %s %d

",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/

p3=p3->next;

}

fprintf(fp,"%d",-1);

fclose(fp); /*关闭文件*/

printf("**********************************\n");

printf("__________________________________\n");

printf("------------请按4返回-------------\n");

printf("__________________________________\n");

printf("**********************************\n");

}

if(n==4) /*退出*/

break;

}

printf("**********\n");

printf("1 继续修改\n---------\n2 返回\n");

printf("**********\n");

scanf("%d",&p);

if(p==1)

continue; /*继续循环*/

if(p==2)

break; /*跳出循环*/

}while(n!=2);

fclose(fp); /*关闭文件*/

}

void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/

{

struct good *p3; /*定义结构体指针类型*/

p3=p;

while (p3!=NULL) /*判断遍历链表循环结束条件*/

{

if(strcmp(p3->kind,c)==0) /*判断商品类型是否为电器类型*/

{

printf("%d\t%s\t%s\t%\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出电器类商品信息*/

printf("________________________________________________\n");

}

p3=p3->next;

}

return;

}

void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/ {

struct good *p3; /*定义结构体指针类型*/

p3=p;

while (p3!=NULL) /*判断遍历链表循环结束条件*/

{

if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/

{

printf("%d\t%s\t%s\t%\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出日用品类商品信息*/ printf("________________________________________________\n");

}

p3=p3->next;

}

return;

}

void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/ {

struct good *p3; /*定义结构体指针类型*/

p3=p;

while (p3!=NULL) /*判断遍历链表循环结束条件*/

{

if(strcmp(p3->kind,e)==0) /*判断商品类型是否为办公用品类型*/

{

printf("%d\t%s\t%s\t%\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出办公用品类商品信息*/ printf("________________________________________________\n");

}

p3=p3->next;

return;

}

void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/ {

struct good *p3; /*定义结构体指针类型*/

p3=p;

while (p3!=NULL) /*判断遍历链表循环结束条件*/

{

if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/

{

printf("%d\t%s\t%s\t%\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price, p3->unit,p3->quantity); /*输出食品类商品信息*/

printf("________________________________________________\n");

}

p3=p3->next;

}

return;

}

void shunxudayin()

{

for(i=0;i<4;i++)

g[i]=aver[i]; /*将平均价赋给新数组*/

for(j=0;j<3;j++) /*将新数组用冒泡排序法排序*/

for(i=j+1;i<4;i++)

{

if(g[j]

{

h=g[j];

g[j]=g[i];

g[i]=h;

}

}

printf("\n****************************\n");

printf("商品平均价格排序表(从高到低)\n");

printf("****************************\n");

printf("________________________________________________\n");

printf("编号\t名称\t类别\t单价\t单位\t数量\n");

printf("________________________________________________\n");

for(j=0;j<4;j++)

for(i=0;i<4;i++)

{

if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/

switch(i)

{

case 0:

printf0(head); /*调用遍历链表并打印电器类商品函数*/

break;

case 1:

printf1(head); /*调用遍历链表并打印日用品类商品函数*/

break;

case 2:

printf2(head);/*调用遍历链表并打印办公用品类商品函数*/

break;

case 3:

printf3(head); /*调用遍历链表并打印食品类商品函数*/

break;

}

}

}

void tongji1()

{

p1=head;

printf("\n************************\n");

printf("库存量低于100的货名及类别\n");

printf("************************\n");

printf("________________________\n");

printf("商品名称\t商品类型\n");

printf("________________________\n");

while(p1!=NULL) /*判断遍历链表循环结束条件*/

{

if(p1->quantity<100) /*判断库存量是否小于100*/

{

printf("%s\t%s\n",p1->name,p1->kind); /*输出商品名称及类别*/ printf("________________________\n");

}

p1=p1->next;

}

}

void tongji2()

{

printf("\n**********************************************\n");

printf("商品库存量有2种以上(含2种)低于100的商品类别:\n");

printf("**********************************************\n");

printf("________\n");

if((a[0]<100)&&(a[0]>=2)) /*判断电器类库存量是否为2种以上(含2种)低于100*/

{

printf("电器\n");

printf("________\n");

}

if((a[1]<100)&&(a[1]>=2)) /*判断日用品类库存量是否为2种以上(含2种)低于100*/

{

printf("日用品\n");

printf("________\n");

}

if((a[2]<100)&&(a[2]>=2)) /*判断食品类库存量是否为2种以上(含2种)低于100*/

{

printf("食品\n");

printf("________\n");

}

if((a[3]<100)&&(a[3]>=2)) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/

{

printf("办公用品\n");

printf("________\n");

}

}

int main(int argc, char* argv[])

{

struct good *p1,*p2; /*定义结构体指针类型*/

while(1)

{

printf("***********************************************\n");

printf("1 ----------输出查看或者修改已存信息-----------\n");

printf("-----------------------------------------------\n");

printf("2 -----重新输入新信息(并且删除原有信息)------\n");

printf("-----------------------------------------------\n");

printf("3 统计商品信息(如果您还没有查看过信息请先按1)\n"); printf("-----------------------------------------------\n"); printf("4 -------------------退出---------------------\n");

printf("***********************************************\n"); scanf("%d",&m);

if(m==1)

shuchu(); /*调用输出信息函数*/

if(m==2)

{

system("cls");

head=createlist(); /*调用建立链表函数*/

}

if(m==3)

{

printf("统计结果如下\n");

head=paixu(head); /*调用链表排序函数*/

jisuan(); /*调用计算函数*/

shunxudayin(); /*调用顺序打印函数*/

tongji1(); /*调用统计1函数*/

tongji2(); /*调用统计2函数*/

}

if(m==4)

{

p1=head;

while(p1!=NULL) /*判断遍历链表结束条件*/

{

p2=p1->next;

free(p1); /*释放空间*/

p1=p2;

}

break;

}

}

return 0; /*结束程序*/

}

5)调试分析过程描述:

测试数据:01 milk drink box 5

02 apple fruit 3 kilo 2

测试输出结果:

存在问题的思考:源代码出错,漏了一些分号导致程序频频出错,在进行编写时注意小地方别出错!否则会影响大局!

6)总结:

学习体会与收获:

通过这个超市管理系统程序设计实验,我从理论知识跨越到实践上,感到收效良多,从崇拜计算机到学会控制计算机,在心理上不再觉得计算机是万能的,人的大脑才是万能的,算法才是万能的数学才是万能的,在这次实验中,实现一个完整的程序大大加深了我对C语言课程的兴趣!

对C语言课程设计的认识以及自己的建议:

C语言课程设计就是通过编译实现需要的功能的一种程序的设计,建议自己以后在这方面多下功夫,真正实现自己编译以个完整的C程序,实现自己的梦想和未来!

C语言超市收银管理系统实现详解

超市收银管理程序的设计与实现 1摘要和关键字 1.1摘要 该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。Abstract The system is mainly used in the supermarket goods management personnel of the information (including commodity number, name of goods, unit price) input, delete, modify, and query. In addition, when sales staff input article number and sales volume, the system should be calculated according to the actual amount receivable, and cashier calculation change. Finally, the system can inquire the sales situation. 1.2 关键字 登陆系统操作菜单建立信息库查询付款 Keywords Login system Operation menu Set up information database Inquire Pay 2 正文 2.1 引言 随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。

C语言程序设计习题答案(1-5章)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

C语言 超市收银系统

/* --------------------------------------- 时间:2015-7-1 16:44:21 吴俊龙 C语言专周设计 超市收银系统 --------------------------------------- */ # include # include #include int menu1(void);//主页面 int menu2(void);//商品管理页面 int menu3(void);//退出页面 int menu4(void);//添加商品信息 int menu5(void);//商品信息浏览 int menu6(void);//商品信息修改 int menu7(void);//商品信息查询 int menu8(void);//商品信息删除 int menu9(void);//结账页面 int sign(void);//欢迎页面 struct ima { int id; //商品编号 char name[20]; //商品的名称 char produce[30]; //商品的产地 int number; //商品的数量 int money; //商品的价格 }; int len = 0; struct ima thing[50]; struct ima * p; int menu1(void)//主页面 { int n; system("cls"); printf("\n\n\n"); printf("\t\t ----------------------------------------- \n"); printf("\t\t| 欢迎使用结账管理系统|\n"); printf("\t\t|-----------------------------------------|\n");

超市管理系统_C语言课程设计

大连科技学院 C语言课程设计题超市商品管理系统 学生姓名专业班级 指导教师职称 所在单位 教学部主任 完成日期 2014年12月13日

课程设计成绩考核表 综合评定: (优、良、中、及格、不及格) 指导教师签字: 2014年12月13 日

课程设计任务书 1.设计(研究)内容和要求 研究内容: 设计并编写一个完善的C语言程序,并要求达到以下几点: (1)系统功能要求:系统功能完善,具有简洁的操作流程。 (2)以软件工程理论为指导,按照进度计划,完成系统需求分析、系统的概要设计与系统的详细设计等。要求能够对系统进行全面测试和调试,及时更正错误,直至系统运行稳定可靠,要求报告中具有系统测试内容。 (3)完成课程设计报告的编辑工作,报告要求在3000字以上,包括综述、系统总体设计、系统实现、运行调试、结论等,参考文献数量至少2篇,论文书写格式按学校规定来写。 (4)工作量要饱满,具备两周课程设计的基本要求,代码行达到300行左右。 原始依据: 对学过的C语言程序设计课程进行巩固和加深印象。了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目的编写与设计,以提高用C语言解决实际问题的能力。 2.系统环境 硬件环境:CPU的主频在500MHZ以上,内存在128MB以上 软件环境:编程语言及工具:C语言;操作系统:Windows 操作系统 3.参考文献 [1] 李瑞. 徐克圣. 刘月凡. 戚海英. C程序设计基础[M]. 北京:清华大学出版社. 2009.7 [2] 布鲁志著.吴丹等译.面向对象的软件工程—构建复杂且多变的系统.清华大学出 版社.2002.10 [3] 霍顿(美).杨杰(译). 北京:清华大学出版社. 2008 [4] 薛圆圆.C语言开发手册. 北京:电子工业出版社. 2011.4 [5] 王娣. 安剑. 孙秀梅. 北京:人民邮电出版社.2010

C语言实用程序设计100例流程图

C语言实用程序100例 第一篇基础与提高 实例1利用库函数编写基本显示程序 实例2变量属性 实例3运算符与类型 实例4关于程序结构 实例5显示函数曲线图 实例6二分法选代的应用 实例7多变的立方体 实例8一维整型数组应用(1) 实例9一维整型数组应用(2) 实例10一维整型数组应用(3) 实例11一维整型数组应用(4) 实例12二维数组应用(1)——显示杨辉三角实例13二维数组应用(2)——魔方阵 实例14字符数组应用(1)——逻辑判断 实例15字符数组应用(2)——数据模拟 实例16二维数组应用——字符比较 实例17利用指针进行数据处理 实例18指针与字符串 实例19利用指针处理二维数组 实例20一级指针 实例21利用指针传递参数值 实例22结构体的应用 实例23链表的应用(1)

实例24链表的应用(2) 实例25链表的应用(3) 实例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动态绘制256条不同颜色的直线实例65红绿蓝三原色渐变 第三篇综合小程序 实例66两个矩阵相乘 实例67艺术钟 实例68家庭财务管理小程序 实例69用系统时间实现随机数 实例70闪动的多彩圆 实例71检查系统有无鼠标 实例72圆形光盘与矩形 实例73动态渐变图案 实例74往返两地间的小车 实例75飘扬的红旗

超市管理系统C语言

超市管理系统C语言 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级: 1301 学生姓名:王松 学号(8位): 07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/ void colour();品信息的录入:\n"); printf(" 2.商品信息的修改:\n"); printf(" 3.删除某个商品信息:\n"); printf(" 4.查找商品信息:\n"); printf(" 5.颜色选择:\n"); printf(" 0.退出程序\n"); printf(" ********************************************\n"); printf(" ********************************************\n");

printf(" 输入你的选择: "); scanf("%d",&chi); /*根据你的选择执行相应的函数*/ if(chi==1) input(); else if(chi==2) change(); else if(chi==3) dele(); else if(chi==4) search(); else if(chi==5) colour(); else if(chi==0) { printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n"); exit(0); } else { printf(" You Enter The Choice Is Not valid ! \n"); getch(); system("cls"); start(); } } void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\ 3\3\3\3\n"); printf("\t\3 欢迎使用 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 超市管理系统 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \4\4\4\4\4\4 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \5\5\5\5\5\5\5\5\5 \3\n"); printf("\t\3 \3\n");

C语言超市商品管理系统

题目:超市商品管理系统 院系:信息科技学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 日期: 桂林电子科技大学信息科技学院 目录 1 问题定义 (3) 2 系统设计 (3) 2.1 总体设计 (3) 实训报告

2.2 详细设计 (3) 2.2.1 数据结构设计 (3) 2.2.2 主控流程 (3) 2.2.3 信息输入模块 (4) 2.2.4 信息增加模块 (4) 2.2.5 信息修改模块 (4) 2.2.6 信息删除模块 (4) 2.2.7 信息查看模块 (4) 2.2.8 信息统计模块 (4) 函数功能描述 (4) 3 系统实现 (5) 编码 (5) 3.1.1 程序预处理 (5) 3.1.2 主函数main() (5) 3.1.3 主菜单界面 (6) 3.1.4 商品信息建立 (7) 3.1.5 商品信息查看 (9) 3.1.6 商品信息增加 (11) 3.1.7 商品信息删除 (12) 3.1.8 商品信息修改 (14) 3.1.9 商品数目统计 (16) 测试与调试 (22) 3.2.1 概述 (22) 3.2.2 程序测试 (22) 4 系统维护 (25) 5 归纳总结 (25) 开发经验 (25)

实训中遇到的问题及解决方法 (25) 设计中的不足之处 (25) 感想和心得体会 (25) 6 参考资料 (25) 超市商品管理系统 本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的单链表的各种基本操作。本程序中涉及结构体、单链表、文件保存等方面的知识。通过本程序的训练,使学生能对C语言的链表的操作有一个更深刻的了解,掌握利用单链表存储结构实现对超市信息管理系统的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。 1、问题定义 创建一个超市管理系统。该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。

C语言程序设计课程设计报告

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 调试过程及实验结果

超市管理系统-C语言

超市管理系统-C语言

————————————————————————————————作者:————————————————————————————————日期:

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级:1301 学生姓名:王松 学号(8位):07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日

1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/

void colour();//颜色选择 void huanying(); 2:商品信息录入 input() 3:商品信息的修改 Change() 4:商品信息的删除 Dele() 5:商品信息的查询 Seaerch() 6:系统颜色选择 Colour() 7:退出系统 3:详细设计过程 1:结构体变量的定义 struct MarketGoods /*存数商品信息的结构体*/ { char goods_id[30]; /*商品编号*/ char goods_name[30]; /*商品名称*/ double goods_price; /*商品价格*/ double goods_discount;/*商品折扣*/ int goods_amount;/*商品总数目*/ int goods_remain;/*商品剩余数目*/ }goods[COUNT]; int count=0; /*全局变量,用于保存实际上有多少个商品*/ 2:欢迎界面 void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n"); printf("\t\3 欢迎使用\3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n");

C语言程序设计超市管理系统

程序设计——超市管理系统 学院: 专业: 班级: 姓名: 学号: 指导老师: 超市管理系统课程设计 1)需求分析: 设计题目:超市管理系统 设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:

1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。 3.统计:统计输出库存量低于100的货号及类别。统计输出有两种以上(含两种)商品库存量低于100的商品类别。 2)概要设计: 系统总体设计框架: 系统功能模块图: 3)详细设计:

主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。 1)主模块:通过调用各分模块实现功能; 2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息; 3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中; 4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储; 5)计算模块:将所有商品的价格与库存量进行累加求和; 6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别; 8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别 工作流程图: 4)主要源程序代码: #include "" /*输入,输出头文件*/ #include "" /*申请空间头文件*/ #include "" /*对字符串加工头文件*/ #include "" /*清屏头文件*/ FILE *fp;

c语言程序设计流程图详解

c语言程序设计流程图详解 介绍常见的流程图符号及流程图的例子。 本章例1-1的算法的流程图如图1-2所示。本章例1-2的算法的流程图如图1-3所示。 在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T、”“F或”“Y、”“N”注“真”、“假”或“T、”“F或”“Y、”“N”

另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。 2.算法的结构化描述 早期的非结构化语言中都有goto语句,它允许程序从一个地方直接跳转到另一个地方去。 执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。而结构化程序设计,就是要把这团乱麻理清。 经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑 单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的程序设计,就是结构化程序设计。 相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。 (1)顺序结构 顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1-4所示,语句 的执行顺序为:A→B→C。 (2)选择(分支)结构 这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图1-5a)、b)所示。图1-5a)的执行序列为:当条件为真时执行A,否则执 行B;图1-5b)的执行序列为:当条件为真时执行A,否则什么也不做。 (3)循环结构 循环结构有两种基本形态:while型循环和do-while型循环。 a.while型循环 如图1-6所示。 其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。 b.do-while型循环 如图1-7所示。

C++超市管理系统的设计与实现

目录 一、需求分析 (3) 二、程序的主要功能 (2) 三、程序运行平台 (4) 四、系统总框架图 (4) 五、程序类的说明 (5) 六、模块分析 (8) 七、比较有特色的函数 (9) 八、运行结果 (10) 九、存在的不足与对策 (14) 十、程序源代码 (14)

一、需求分析 中小型超市采购的商品一般都成千上万件。对这些商品进行有效的管理必不可少。每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品的相关信息需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。 为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。 二、程序的主要功能 1、添加功能: 添加商品信息:有商品代码、商品名称、产地、商品单价、库存量等。 2、删除功能: 根据商品的名称,在添加的商品中进行删除。 3、显示功能: 能将已经添加或者进行修改的商品信息进行显示。 4、修改功能: 根据商品的民称,在添加的商品中进行修改,将这个商品的所有信息都进行修改。 5、查找功能: 根据商品名称或者编号进行查找,查找功能有两个查找方式,以备不时之需。6.文件保存 将添加,修改,删除后的商品信息进行保存。

C++语言超市管理系统设计

超市管理系统设计 一.超市管理系统调研计划说明书 a.前言 随着我国信息技术和经济的发展,计算机已经被应用在各个领域。计算机给人们的生活带来了便利的同时还需要开发相应的管理系统。目前,农民的生活水品有了很大的提高,在农村当中很多的杂货店往中小型超市发展的趋势日益明显,但是在实际中农村里面很多超市的管理还是依靠人工来管理,给日常的超市管理带来了很多麻烦。 为达到方便超市管理的目的,对农村的超市进行调研,获得更多的超市管理信息,以便给超市管理系统开发奠定基础。 本次调研主要围绕超市的经营方式,经营规模,超市管理者进行调研。 b.调研目的 1. 为超市管理系统的提供依据; 2. 为该管理系统的销售提供客观依据; c.调研内容 1.超市的经营方式(产品专营卖场,网店低本经营,产品创意搭配,产品定制销售,自行设计加工); 2.超市经营规模(超市占地面积,经营商品种类,超市区隔,商品的敏感度,超市形象,超市毛利,员工人数); 3.超市营业执照(超市法人,注册资本); 4.超市营业额(日营业额,月营业额,年营业额); 5.消费者调查(年龄,性别,收入); 6.超市管理员(年龄,性别,文化程度); 7.超市管理方式; d.调查对象及抽样 此次调研的对象主要是农村中的中型超市,一般都是受广大农村消费者所喜欢的超市。此次调研将会对超市的管理员,消费者以及超市的地面作全面的调查。 二.超市管理系统设计 1.问题定义

针对目前农村中杂货店向中小型超市发展趋势以及农村超市管理技术比较落后这一问题,开发一个适用于农村中小型超市的管理系统显得越来越有必要。开发超市管理系统是要达到方便管理员和消费者的目的,我们就得解决以下问题: a) 超市的商品信息管理; b) 超市的仓库管理; c) 超市员工管理; d) 商品的销售管理; e) 超市会员的管理; f) 日常数据的统计; 2.可行性研究 经过上面对超市管理系统的问题定义,从技术方面来看,超市的商品信息管理,仓库管理,员工管理,销售管理,会员管理以及日常的数据统计实现起来并不难,这些功能都是一些经常遇到的;经济方面由于自身属于没资本的人,投入的只能是简单的开发设备。 3.需求分析 1. 系统概述 背景:随着我国信息技术和经济的发展,计算机已经被广泛的应用到各个领域。计算机给人们的生活带来方便的同时也需要开发相应的管理系统。根据目前农村现状来看,很多杂货店向中小型超市发展的趋势越来越明显,但是现实农村中很多超市的管理都依靠原始的人力管理,没有与其相对应的管理系统,给日常的超市管理带来了很多不必要的麻烦。 2. 目的 通过实现超市管理系统,达到超市管理者能够方便地对超市中商品的管理,同时让消费者享受到购物的快捷。 3. 系统功能需求 a)超市的员工能够对商品的信息和超市会员信息实现添加,删除,更新,查询操作,能够对商品的信息按不同种类的查询; b)超市的管理员能够对超市仓库中各种商品信息的查询,能够及时地了解仓库中各种商品的库存信息; c)超市的管理员通过超市管理系统实现对超市员工的管理,能够对员工信息的查询,添加,删除,更新操作; d)管理员能够简单地查询超市的部门信息; e)超市管理系统中能够对超市中的员工分类,对不同类型的员工,赋予不同的权限对超市进行管理;

超市管理系统-C语言

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级:1301 学生姓名:王松 学号(8位):07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日

1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/

void colour();//颜色选择 void huanying(); 2:商品信息录入 input() 3:商品信息的修改 Change() 4:商品信息的删除 Dele() 5:商品信息的查询 Seaerch() 6:系统颜色选择 Colour() 7:退出系统 3:详细设计过程 1:结构体变量的定义 struct MarketGoods /*存数商品信息的结构体*/ { char goods_id[30]; /*商品编号*/ char goods_name[30]; /*商品名称*/ double goods_price; /*商品价格*/ double goods_discount;/*商品折扣*/ int goods_amount;/*商品总数目*/ int goods_remain;/*商品剩余数目*/ }goods[COUNT]; int count=0; /*全局变量,用于保存实际上有多少个商品*/ 2:欢迎界面 void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n"); printf("\t\3 欢迎使用\3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n");

(店铺管理)超市商品信息系统设计报告及程序C语言.

(店铺管理)超市商品信息系统设计报告及程序C语 言

苏州科技学院 二○一三~二○一四学年第一学期 电子与信息工程系 课程设计报告书 课程名称:程序设计基础实践 班级: 学号: 姓名: 指导教师: 二○一三年十二月

1.题目 《超市商品信息管理系统》的设计与实现 2.功能 (1)每一条记录包括一个商品的ID、名称、价格、保质日期。 (2)信息录入功能:可以完成信息记录的追加与插入。 (3)信息排序功能:按商品ID、商品价格进行排序。 (4)信息查询功能:完成按商品ID、商品名称查找商品记录,并显示。 (5)读取功能:将保存在文件中的商品记录读取出来。 (6)修改信息功能:按商品的ID进行读取未修改前的数据,输入新信息,保存。 (7)删除功能:按商品ID删除商品信息记录,并保存。 (8)退出:退出主菜单,退出程序。 3. 系统流程图

4.设计内容 整个系统除了主函数外,另外还有13个函数,实现八大功能:录入功能(追加、插入)、显示功能、查询功能、排序功能、删除功能、保存功能、读取功能。 各个函数的详细设计说明分别如下: 4.1主函数main() 利用无限次循环while (select!='0')和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 4.2菜单选择函数void DisMainMenu(); 这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的七大功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现! 4.3信息录入函数int InformationInput(GOODS goo[],int cn) 这是一个含参函数,用来执行商品信息的追加、插入。其中GOODS goo[]是结构体数组,cn是本次录入商品记录的总数。 信息录入函数的流程图如下: 信息录入函数的程序如下: int InformationInput(GOODS goo[],int cn) { int number,i,m,n,a1,j,a2=0; char a3; printf("\n请输入本次录入的商品品种的总数: ");

C语言超市管理系统源程序

C语言超市管理系统源程序 超市管理系统源程序代码,要可以执行的。最好是文件,链表中的一种。好了一定重金酬谢~ 最佳答案有一个小型超市,出售N( NX 10)种商品,设计并实现一个系统,完成下列功 厶匕 能: 1.保存及输出。超市中的各种商品信息保存在指定文件中,可以把它们输出显示。 2.计算并排序。计算每类商品的总价值(sum单精度)及平均价(aver,单精度,输出 一位小数),将每类商品按平均价从大到小的顺序排序打印出来。 3.统计。统计输出库存量低于100 的货号及类别。统计输出有两种以上(含两种)商品库存量低于100 的商品类别。 1.2 总体结构本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。 1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修 改商品信息; 3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;

4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里 存储; FILE*fp; intn=0;/* 定义文件指针类型 */ floataver[4],sum[4],g[4],h;/* charc[5]="elec";/* 定义字符数组类型 */ 5) 计算模块:将所有商品的价格与库存量进行累加求和; 6) 打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来; 7) 统计模块 1:统计库存量低于 100 的货名及类别; 8) 统计模块 2:统计商品库存量有 2 种以上(含 2 种)低于 100 的商品类别。 附录(程序清单) #include"stdio.h"/* 输入,输出头文件 */ #include"stdlib.h"/* 申请空间头文件 */ #include"string.h"/* 对字符串加工头文件 */ #include"conio.h"/* 清屏头文件 */ inti,j,a[4],m;/* 定义整数类型 */ 定义浮点类型 */

C语言超市管理系统源程序

C 语言超市管理系统源程序 超市管理系统源程序代码,要可以执行的。最好是文件, 链表中的一种。好了一定重金酬谢 最佳答案 有一个小型超市,出售 N (N> = 10)种商品,设计并实现一个系统,完 成下列功 能: 1. 保存及输出。超市中的各种商品信息保存在指定文件中,可以把它们输出显示。 2. 计算并排序。计算每类商品的总价值( sum ,单精度)及平均价(aver ,单精度,输出 一位小数),将每类商品按平均价从大到小的顺序排序打印出来。 3. 统计。统计输出库存量低于 100 的货号及类别。统计输出有两种以上(含两种)商品库 存量低于 100 的商品类别。 1.2 总体结构 本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模 块、统计模块 1、统计模块 2、打印模块。 1 ) 主模块:通过调用各分模块实现功能; 2) 信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修 改商品信息; 3) 新建商品信息模块: 建立一个新结构体, 为链表存信息用,并且将信息保存在指定的文 件中; 4) 排序模块: 把文件中顺序零乱的商品信息按单价的大小从高到低进行排序, 放到链表里 存储; 5) 计算模块:将所有商品的价格与库存量进行累加求和; 6) 打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来; 7) 统计模块 1 :统计库存量低于 100 的货名及类别; 8) 统计模块 2:统计商品库存量有 2 种以上(含 2种)低于 100的商品类别。 附 录(程序清单) #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" FILE *fp; int n=0; /* 定义文件指针类型 */ int i,j,a[4],m; /* 定义整数类型 */ float aver[4],sum[4],g[4],h; /* 定义浮点类型 */ /*输入,输出头文件 */ /* 申请空间头文件 */ /* 对字符串加工头文件 */ /* 清屏头文件 */

c语言课程设计-小型超市管理系统

摘要 该系统主要是介绍超市进销存管理信息系统的环境、功能作用、所用到的语言、设计的方案等各方面的内容。主要是让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。本系统运用计算机管理信息技术,对超市的进销存过程进行详细的分析,实现了对超市的进货、出售和库存的科学管理。 本系统主要包括以下几大模块:输入单据:出库、入库、物品清单;查询:数量查询、价格查询、生产地查询。 关键词 : 销售;管理信息系统;C语言

Abstract This text mainly introduces the supermarket and enters to sell such contents of various fields as the environment which stores the management information system , scheme on the function , language , design used ,etc.. Let user find out about system this , enable them fine application this system mainly, make this system give play to due function . This system uses the information technology of computer management,sell the course of storing to carry on detailed analysis to the entering of the supermarket, have realized the purchase , sale and scientific management held in store to the supermarket. This system is major and includes following several big modules : The input receipts : The warehouse is gone out to be put in storage that the product end product detailed list is inquired about : The report form being put in storage is gone out the report form product end product detailed list report form in warehouse to sell to move back the money list report form to advance. keywords : Sell ; management information system ;C language

超市管理系统C语言

超市管理系统C语言 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级: 1301 学生姓名:王松 学号(8位): 07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日

1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/

void colour();品信息的录入:\n"); printf(" 2.商品信息的修改:\n"); printf(" 3.删除某个商品信息:\n"); printf(" 4.查找商品信息:\n"); printf(" 5.颜色选择:\n"); printf(" 0.退出程序\n"); printf(" ********************************************\n"); printf(" ********************************************\n"); printf(" 输入你的选择: "); scanf("%d",&chi); /*根据你的选择执行相应的函数*/ if(chi==1) input(); else if(chi==2) change(); else if(chi==3) dele(); else if(chi==4) search(); else if(chi==5) colour(); else if(chi==0) { printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n"); exit(0); } else { printf(" You Enter The Choice Is Not valid ! \n"); getch(); system("cls"); start(); } } void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\ 3\3\3\3\n"); printf("\t\3 欢迎使用 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 超市管理系统 \3\n");

相关文档
最新文档