C语言 图书销售管理系统

C语言   图书销售管理系统
C语言   图书销售管理系统

目录

图书销售管理系统设计 (2)

一、设计要求 (2)

二、总体设计思路 (2)

1. 主要功能:系统主要包括八个功能模块。 (2)

2. 总体思路框图 (2)

三、主要参数和函数 (3)

1. 全局变量 (3)

2. 主要函数 (3)

四、程序调试及整体实现 (10)

1. 主菜单运行界面 (10)

2. 图书信息录入界面 (10)

3. 图书信息浏览界面 (11)

4. 图书查询界面 (11)

5. 图书信息修改界面 (12)

6. 图书信息删除界面 (12)

7. 图书信息排序主界面 (13)

8. 购书清单界面 (14)

五、体会总结 (14)

附件 (15)

图书销售管理系统设计

一、设计要求

1.图书信息包括:序号、书名、作者、出版单位、价格。

2.系统以菜单方式工作。

3.图书信息录入功能(图书信息用文件保存)--输入。

4.图书信息的删除与修改功能。

5.图书信息浏览功能--输出。

6.查询功能--算法:(按书名/作者查询)。

7.排序功能--算法:(按书名排序/按价格排序)。

8.图书购买功能:统计选购图书的总价,给出清单,屏幕输出参考以下的实际

购书单。

二、总体设计思路

1.主要功能:系统主要包括八个功能模块。

1)图书信息的录入:将所要录入的图书信息包括序号、书名、作者、出版社、

价格等录入一个文本文件中。每录入一本书,系统提示是否继续,若不继

续,则返回主界面。

2)图书信息的查询:将所有图书信息包括序号、书名、出版社、作者、价格

等显示在屏幕上,最后返回主界面。

3)图书信息的查询:通过输入图书名称或作者完成图书信息的查找,并在屏

幕上显示,返回主界面。

4)图书信息的修改:通过输入序号,判断此图书是否存在,若不存在则提示

用户重新输入图书序号,若存在则要求输入要修改图书的序号,对该图书

重新录入信息。录入后,提示是否继续,如不继续,则返回主界面。

5)图书信息的删除:通过输入序号,判断此图书是否存在,若存在,则提

示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号,

删除完毕后,返回主界面。

6)图书信息的排序:通过输入书名或价格,提示用户输入想要使用的排序方

式,排序后的信息显示在屏幕上,返回主界面。

7)图书的购买:通过输入要购买的图书序号,计算出总本书和总价格并连同

其他购买信息一并显示在屏幕上。

8)退出系统:返回主页面。

2.总体思路框图

图1. 总体思路框图

三、主要参数和函数

1.全局变量

1)定义一个存放图书信息的结构体struct book,并定义此类型的变量

struct book list[N],用来表示图书数组。

struct book /*定义结构体类型*/

{

int num; /*序号为整型*/

char name[40]; /*书名为字符串*/

char author[20]; /*作者为字符串*/

char publish[50]; /*出版社为字符串*/

float price; /*价格为浮点型*/

};

struct book list[N]; /*定义struct book类型的变量list N个*/

2)int Count=0,定义全局变量,用来表示图书的个数,初始值为0。

2.主要函数

1)主函数main(),控制整个系统的执行流程,使系统菜单可以循环执行。根

据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定

义函数。通过将switch语句与break语句联合使用来实现多分支选择结

构程序的设计。case1至case7分别实现不同的功能,并能返回主界面;

case0直接返回主界面。

程序代码:

void main()

{

int choice1;

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

printf(" * 欢迎进入图书销售管理系统*\n");

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

do

{

printf("##################################################"); /*显示菜单*/ printf("功能选项: \n");

printf(" 1 : 图书信息录入\n");

printf(" 2 : 图书信息浏览\n");

printf(" 3 : 图书信息查询\n");

printf(" 4 : 图书信息修改\n");

printf(" 5 : 图书信息删除\n");

printf(" 6 : 图书信息排序\n");

printf(" 7 : 图书的购买\n");

printf(" 0 : 退出系统\n");

printf("###############################################################");

printf("\t请选择操作:");

scanf("%d", &choice1);

switch (choice1) /*菜单选择*/

{

case 1 : input();break;

case 2 : show_bookinformation(list); break ;

case 3 : check_bookinformation (list); break ;

case 4 : modify_bookinformation (list); break ;

case 5 :delete_bookinformation(list);break ;

case 6 :reorder_bookinformation(list);break;

case 7 :buytotal(list);break;

case 0 :break ; }

}while (choice1!=0);

printf("谢谢! 欢迎下次使用使用!\n");}

2)打开数据文件函数open(),把文件的信息打开到一个结构体数组中。定

义指向文件的指针读取数据,若指针指向NULL,则显示“无法操作,无文件信息!!!”,要调用fopen、fclose和fread函数。

程序代码:

void open()

{ int i;

FILE *fp;

if((fp=fopen("book.txt","rb+"))==NULL)

{ printf("无法操作,无文件信息!!!\n");

exit(0);}

for(i=0;i

{ if(fread(&list[i],sizeof(struct book),1,fp)==0)

{ printf("数据输出失败!!!\n");

exit(0);} }fclose(fp);}

3)信息录入文件函数read(),函数类型为void。定义指向文件的指针读取

数据,把输入的图书信息保存到文件中,若指针指向NULL,则输出无法操作。利用for循环保存信息到指定文件。

程序代码:

void read()

{ int i;

FILE *fp;

if((fp=fopen("book.txt","wr+"))==NULL)

{ printf("\n不能打开文件!!!\n");

exit(0); }

for(i=0;i

if(fwrite(&list[i],sizeof(struct book),1,fp)!=1)

printf("文件写入错误!!!\n");

fclose(fp);}

4)信息录入系统函数input(),提供录入图书信息功能。在for循环下,一

次提示用户输入图书序号、书名、作者、出版社以及价格。每循环一次,提示用户是否继续,当选“1”时继续输入图书信息,选“2”时返回主界面;每循环一次Count自增1。

程序代码:

void input()

{ int i,k,j,t;

for(j=0;list[j].num!=0;j++)

t=j+1;

for(i=t;i

{ printf("\t请输入您的图书序号:");

scanf("\t%d",&list[i].num);

printf("\t请输入书名:");

scanf("\t%s",list[i].name);

printf("\t请输入作者:");

scanf("\t%s",list[i].author);

printf("\t请输入出版社:");

scanf("\t%s",list[i].publish);

printf("\t请输入价格:");

scanf("\t%f",&list[i].price);

fflush(stdin);

printf("\t\n是否继续录入?(1.是2.否)");

scanf("%d",&k);

if(k==2) break;

} Count=i+1;

read();}

5)删除图书信息函数delete_bookinformation (struct book list[]),提

供对图书信息的删除功能。此函数运行时利用open函数打开数据文件,读取信息;利用for循环,当输入序号与循环中的某一对应数据相同时,将后一个赋值给前一个从而把要删除的图书信息删除掉。如果i=0,则直接输出“图书销售系统没有你要输出的图书信息!!!”。删除后会显示“删除成功”,同时Count自减1;最后还要执行read函数,重新记录图书信息。

程序代码:

void delete_bookinformation (struct book list[])

{ int j,k,d,i=0;

open();

printf("请输入要删除的图书的序号:\n");

scanf("%d",&d);

for(j=0;list[j].num!=0;j++)

{ if(list[j].num==d)

{ for(k=j;list[k].num!=0;k++)

list[k]=list[k+1];

i++;}}

if(i==0)

printf("图书销售系统没有你输入的图书序号,请重新选择输入!!!\n");

else

Count=Count-1;

read();

printf("删除成功\n");}

6)修改图书信息函数modify_bookinformation (struct book list[]),提

供对图书信息的修改功能。首先提示用户输入要修改的图书序号,利用for 循环找到要修改的list[],系统提示用户依次输入修改后的图书序号、图书名、作者、出版社、价格。如果输入的序号a为0,则提示“未发现您要找的书!”。

程序代码:

void modify_bookinformation (struct book list[])

{

int j,k=0,number;

open();

printf("\t请输入您要修改的图书的序号:");

scanf("%d",&number);

for (j=0;list[j].num!=0;j++)

if (list[j].num==number)

{

printf("\n\t请输入您修改后的图书信息:\n\n");

printf("\t请输入您要修改的图书的序号:");

scanf("%d",&list[j].num);

printf("\t请输入您修改后的书名:");

scanf("%s",list[j].name);

printf("\t请输入您修改后的作者名:");

scanf("%s",list[j].author);

printf("\t请输入您修改后的出版社:");

scanf("%s",list[j].publish);

printf("\t请输入您修改后的书的价格:");

scanf("%f",&list[j].price);

read();

printf("\n修改成功!");

k++;} if (k==0)

printf("\n\n\t找不到需要修改的图书!!");}

7)图书信息输出函数show_bookinformation(struct book list[]),提供

图书信息输出功能,浏览图书信息。通过printf()语句将所有的图书信息

包括包括编号、书名、出版社、作者、价格等信息显示在屏幕上。运用for语句

加printf()实现图书信息的循环输出显示。

程序代码:

void show_bookinformation(struct book list[])

{

int i;

open();

printf("\n********************图书信息显示************************\n");

printf("图书序号\t图书名\t作者名\t出版社\t图书价格\n");

for(i=0;list[i].num!=0;i++)

{

printf(" %d\t\t%s\t%s\t%s\t%6.2f\n",list[i].num,list[i].name, list[i].author,list[i].publish,list[i].price);

}

}

8)图书信息查询函数check_bookinformation (struct book list[]),提

供用户根据图书书名或作者查询图书信息功能。通过printf()语句将所有

的图书信息包括包括编号、书名、出版社、作者、价格等信息显示在屏幕上。运

用for语句加printf()实现图书信息的循环输出显示。

通过将switch语句与break语句联合使用来实现多分支选择结构。若选

“1”实现按书名查询;若选“2”实现按作者查询。两者代码类似,都利

用字符串操作,最后依次显示查询后的结果。

程序代码:

void check_bookinformation (struct book list[]) /*查询图书信息*/

{int j,i,t,k=0;

char c[20],d[20];

printf("请输入查询方式:\n 1.按书名查询2按作者查询:\n");

scanf("%d",&t);

if(t==1)

{ open();

printf("请输入要查询的书名号:\n");

scanf("%s",c);

printf("\n *******你想要查询的图书信息(按作者名)********* \n");

for(j=0;list[j].num!=0;j++)

if(strcmp(c,list[j].name)==0)

{ printf("图书序号\t图书名\t作者名\t出版社\t图书价格\n");

printf(" %d\t\t%s\t%s\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);

k++;}

if(k==0)

printf("\n不存在你要查询的图书信息!!!\n"); }

if(t==2)

{ open();

printf("请输入要查询的作者名:\n");

scanf("%s",d);

for(i=0;list[i].num!=0;i++)

if(strcmp(d,list[i].author)==0)

{ printf("图书序号\t图书名\t作者名\t出版社\t图书价格\n");

printf(" %d\t\t%s\t%s\t%s\t%6.2f\n",list[i].num,list[i].name, list[i].author,list[i].publish,list[i].price);

k++;}

if(k==0)

printf("\n不存在你要查询的图书信息!!!\n");}}

9)图书信息排序函数reorder_bookinformation(struct book list[]),提

供对图书信息按书名和价格排序功能。排序共有两种可选择的方式,按书名排序和按价格排序。利用switch和break实现功能的选择。

按书名排序:利用选择排序法和strcmp、strcpy函数在for循环下依次重新循环赋值,按字母的先后顺序依次排序。如果定义的指针fp指向NULL 则显示“can’t open the file!”,再利用for循环向屏幕输出排序后的全部图书信息,最后要返回主界面。

按价格排序:价格按大小排序。利用冒泡排序法,在for循环下依次重新循环赋值,再利用for循环向屏幕输出排序后的全部图书信息,最后返回主界面。

程序代码:

void reorder_bookinformation(struct book list[])

{int i,j,a,k;

struct book t;

FILE *fp;

char temp[40];

open();

printf("\n请选择排序方式\n1---书名(按字母顺序)\n2---价格(按从高到低)\n");

scanf("%d",&a);

switch(a)

{case 1:

for(i=0;i

{k=i;

for(j=i+1;j

if(strcmp(list[k].name,list[j].name)>0) k=j;

if(k!=i)

{ strcpy(temp,list[i].name);

strcpy(list[i].name,list[k].name);

strcpy(list[k].name,temp); } }

if((fp=fopen("book.txt","w"))==NULL)

{ printf("can't open the file!\n");

exit(0);}

printf("新序列为:\n");

for(j=0;j

{ printf("图书序号\t图书名\t作者名\t出版社\t图书价格\n");

printf(" %d\t\t%s\t%s\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);}

read();

break;

case 2:

for(k=0;list[k].num!=0;k++)

for(j=0;list[j].num!=0;j++)

if(list[j].price

{t=list[j];list[j]=list[j+1];list[j+1]=t;}

for(j=0;list[j].num!=0;j++)

{ printf("图书序号\t图书名\t作者名\t出版社\t图书价格\n");

printf(" %d\t\t%s\t%s\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);

k++;}

read();

break;}

10)图书购买清单函数buytotal(struct book list[]),提供统计选购图书的总

价,给出清单的功能。用户输入所购图书的序号,输入“0”时结束,系统利用for循环,当输入序号与系统内所存序号相同时,价格相加赋新值,书本数同时计数。最后打印出想要的清单。

程序代码:

void buytotal(struct book list[])

{ int k,m,n,q,r,t=0;

float sum=0;

char e[50],f[50],l[50],o[50],p[50];

printf("\n

***************************************************\n");

printf("\n 人民邮电出版社样书清单\n");

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

printf(" 请输入所购各图书的序号(输入0 结束):\n");

scanf("%d",&q);

do

{ for(r=0;r

{ if(q==list[r].num)

{ sum=sum+list[r].price;

t++; }

}

scanf("%d",&q);

} while(q!=0);

printf(" 合计发书:%d\n",r);

printf(" 收书单位:");

scanf("%s",e);

printf(" 发书依据:");

scanf("%s",f);

printf(" 价格:%.2f\n",sum);

printf(" 邮政编码:");

scanf("%d",&k);

printf(" 收货地址:");

scanf("%s",l);

printf(" 联系电话:");

scanf("%d",&m);

printf(" 制单日期:");

scanf("%d",&n);

printf(" 货运公司:");

scanf("%s",o);

printf(" 验书人:");

scanf("%s",p);}

四、程序调试及整体实现

1.主菜单运行界面

连接,检错完毕后,运行程序,开始进入主菜单。结果显示如下:

图5. 主菜单界面

2.图书信息录入界面

在主菜单上选择“1”,根据提示录入图书信息。屏幕显示如下:

图6. 图书信息录入界面

3.图书信息浏览界面

在主菜单上选择“2”,显示以下全部图书信息并回到主界面。

图7. 图书信息浏览界面

4.图书查询界面

在主菜单上选择“3”,然后根据提示选择查询方式。

选择“1”时,若图书名存在,则显示以下全部图书信息并回到主界面。

图8. 按书名图书查询界面

选择“2”时,若图书作者存在,则显示以下全部图书信息并回到主界面。

图9. 按作者图书查询界面

5.图书信息修改界面

在主界面上选择“4”,若图书序号存在,根据提示输入修改信息,显示以下结果:

图10. 图书信息修改界面

在主菜单上选择“2”,显示修改后的信息。

6.图书信息删除界面

在主菜单上选择“5”,然后根据提示选择删除的图书序号。若图书序号存在,则删除选择结果如下:

图11. 图书信息删除界面在主菜单上选择“2”,显示删除后的信息。

下图为删除后的信息:

图12. 删除后结果

7.图书信息排序主界面

在主菜单上选择“6”,然后根据提示选择排序方式。选择“1”时,按书名排序(根据英文字母排序)。

显示结果为:

图13. 按书名排序结果选择“2”,按价格排序(价格由高到低)。

排序结果如下:

图14. 按价格排序结果

8.购书清单界面

在主菜单上选择“7”进入购书界面,选择想购书的序号最后输入“0”回车,即可显示购书数量和总价,根据提示输入相关信息完成清单。

购书清单如下:

图15. 购书清单示例

五、体会总结

通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,所以后在学习过程中,我会更加注视实践操作。

在课程设计过程中,收获知识,提高能力的同时,我也懂得怎么样去制定、

实现计划,课程设计是培养学生综合运用所学知识发现提出分析和解决实际问题锻炼实践能力的重要环节是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

附件

/*定义结构体*/

#include "stdafx.h"

#include "string.h"

#include "stdlib.h"

#define N 100 /*定义图书总容量为100*/

int Count=0; /*定义全局变量,用来表示图书的个数*/

struct book /*定义结构体类型*/

{

int num; /*序号为整型*/

char name[40]; /*书名为字符串*/

char author[20]; /*作者为字符串*/

char publish[50]; /*出版社为字符串*/

float price; /*价格为浮点型*/

};

struct book list[N]; /*定义struct book类型的变量list N个*/

void show_bookinformation(struct book list[]); /*声明图书信息浏览函数*/

void check_bookinformation (struct book list[]); /*声明图书信息查询函数*/

void modify_bookinformation (struct book list[]); /*声明图书信息修改函数*/

void delete_bookinformation (struct book list[]); /*声明图书信息删除函数*/

void reorder_bookinformation(struct book list[]); /*声明图书信息排序函数*/

void buytotal(struct book list[]); /*声明图书购买信息函数*/

void read(); /*声明数据读入函数*/

void input(); /*声明图书信息录入函数*/

void open(); /*声明数据信息打开函数*/

/*主函数*/

void main()

{

int choice1;

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

printf(" * 欢迎进入图书销售管理系统*\n");

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

do

{

printf("####################################################################### #########"); /*显示菜单*/

printf(" 功能选项: \n");

printf(" 1 : 图书信息录入\n");

printf(" 2 : 图书信息浏览\n");

printf(" 3 : 图书信息查询\n");

printf(" 4 : 图书信息修改\n");

printf(" 5 : 图书信息删除\n");

printf(" 6 : 图书信息排序\n");

printf(" 7 : 图书的购买\n");

printf(" 0 : 退出系统\n");

printf("####################################################################### #########");

printf("\t请选择操作:");

scanf("%d", &choice1);

switch (choice1) /*菜单选择*/

{

case 1 :

input();

break;

case 2 :

show_bookinformation(list);

break ;

case 3 :

check_bookinformation (list);

break ;

case 4 :

modify_bookinformation (list);

break ;

case 5 :

delete_bookinformation(list);

break ;

case 6 :

reorder_bookinformation(list);

break;

case 7 :

buytotal(list);

break;

case 0 :

break ;}

}while (choice1!=0);

printf("谢谢! 欢迎下次使用使用!\n");} /*打开文件函数*/

void open()

{ int i;

FILE *fp;

if((fp=fopen("book.txt","rb"))==NULL)

{ printf("无法操作,无文件信息!!!\n");

exit(0);}

for(i=0;i

{ if(fread(&list[i],sizeof(struct book),1,fp)==0) { printf("数据输出失败!!!\n");

exit(0);}}

fclose(fp);}

/*录入文件函数*/

void read()

{ int i;

FILE *fp;

if((fp=fopen("book.txt","wr"))==NULL)

{ printf("\n不能打开文件!!!\n");

exit(0); }

for(i=0;i

if(fwrite(&list[i],sizeof(struct book),1,fp)!=1) printf("文件写入错误!!!\n");

fclose(fp); }

/*录入函数*/

void input()

{ int i,k,j,t;

for(j=0;list[j].num!=0;j++)

t=j+1;

for(i=0;i

{ printf("\t请输入您的图书序号:");

scanf("\t%d",&list[i].num);

printf("\t请输入书名:");

scanf("\t%s",list[i].name);

printf("\t请输入作者:");

printf("\t请输入出版社:");

scanf("\t%s",list[i].publish);

printf("\t请输入价格:");

scanf("\t%f",&list[i].price);

fflush(stdin);

printf("\t\n是否继续录入?(1.是2.否)");

scanf("%d",&k);

if(k==2) break;

} Count=i+1;

read();}

/*删除函数*/

void delete_bookinformation (struct book list[])

{ int j,k,d,i=0;

open();

printf("请输入要删除的图书的序号:\n");

scanf("%d",&d);

for(j=0;list[j].num!=0;j++)

{ if(list[j].num==d)

{ for(k=j;list[k].num!=0;k++)

list[k]=list[k+1];

i++; } }

if(i==0)

printf("图书销售系统没有你输入的图书序号,请重新选择输入!!!\n"); else

Count=Count-1;

read();

printf("删除成功\n");}

/*修改函数*/

void modify_bookinformation (struct book list[])

{ int j,k=0,number;

open();

printf("\t请输入您要修改的图书的序号:");

scanf("%d",&number);

for (j=0;list[j].num!=0;j++)

if (list[j].num==number)

{ printf("\n\t请输入您修改后的图书信息!\n\n");

printf("\t请输入您要修改的图书的序号:");

scanf("%d",&list[j].num);

printf("\t请输入您修改后的书名:");

scanf("%s",list[j].name);

printf("\t请输入您修改后的作者名:");

scanf("%s",list[j].author);

printf("\t请输入您修改后的出版社:");

printf("\t请输入您修改后的书的价格:");

scanf("%f",&list[j].price);

read();

printf("\n修改成功!\n");

k++;}

if (k==0)

printf("\n\n\t找不到需要修改的图书!!");}

/*输出函数*/

void show_bookinformation(struct book list[])

{int i;

open();

printf("\n******************************图书信息显示*******************************\n");

printf("图书序号\t图书名\t\t作者名\t\t出版社\t\t图书价格\n");

for(i=0;list[i].num!=0;i++)

{ printf(" %d\t\t%s\t%s\t\t%s\t%6.2f\n",list[i].num,list[i].name, list[i].author,list[i].publish,list[i].price); }}

/*查询函数*/

void check_bookinformation (struct book list[]) /*查询图书信息*/

{int j,i,t,k=0;

char c[20],d[20];

printf("请输入查询方式:\n 1.按书名查询2按作者查询:\n");

scanf("%d",&t);

if(t==1)

{ open();

printf("请输入要查询的书名号:\n");

scanf("%s",c);

printf("\n **********************你想要查询的图书信息(按作者名)********************** \n");

printf("图书序号\t图书名\t\t作者名\t\t出版社\t\t图书价格\n");

for(j=0;list[j].num!=0;j++)

if(strcmp(c,list[j].name)==0)

{ printf(" %d\t\t%s\t%s\t\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);

k++;}

if(k==0)

printf("\n不存在你要查询的图书信息!!!\n"); }

if(t==2)

{ open();

printf("请输入要查询的作者名:\n");

scanf("%s",d);

printf("图书序号\t图书名\t\t作者名\t\t出版社\t\t图书价格\n");

for(i=0;list[i].num!=0;i++)

if(strcmp(d,list[i].author)==0)

{ printf(" %d\t\t%s\t%s\t\t%s\t%6.2f\n",list[i].num,list[i].name, list[i].author,list[i].publish,list[i].price);

k++;}

if(k==0)

printf("\n不存在你要查询的图书信息!!!\n");}}

/*排序函数*/

void reorder_bookinformation(struct book list[])

{int i,j,a,k;

struct book t;

FILE *fp;

char temp[40];

open();

printf("\n请选择排序方式\n1---书名(按字母顺序)\n2---价格(按从高到低)\n");

scanf("%d",&a);

switch(a)

{case 1:

for(i=0;i

{k=i;

for(j=i+1;j

if(strcmp(list[k].name,list[j].name)>0) k=j;

if(k!=i)

{ strcpy(temp,list[i].name);

strcpy(list[i].name,list[k].name);

strcpy(list[k].name,temp);}}

if((fp=fopen("book.txt","w"))==NULL)

{ printf("can't open the file!\n");

exit(0); }

printf("新序列为:\n");

printf("图书序号\t图书名\t\t作者名\t\t出版社\t\t图书价格\n");

for(j=0;j

{ printf(" %d\t\t%s\t%s\t\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);}

read(); break;

case 2:

for(k=0;list[k].num!=0;k++)

for(j=0;list[j].num!=0;j++)

if(list[j].price

{t=list[j];list[j]=list[j+1];list[j+1]=t;}

printf("图书序号\t图书名\t\t作者名\t\t出版社\t\t图书价格\n");

for(j=0;list[j].num!=0;j++)

{ printf(" %d\t\t%s\t%s\t\t%s\t%6.2f\n",list[j].num,list[j].name, list[j].author,list[j].publish,list[j].price);

k++;}

C语言 图书销售管理系统

目录 图书销售管理系统设计 (2) 一、设计要求 (2) 二、总体设计思路 (2) 1. 主要功能:系统主要包括八个功能模块。 (2) 2. 总体思路框图 (2) 三、主要参数和函数 (3) 1. 全局变量 (3) 2. 主要函数 (3) 四、程序调试及整体实现 (10) 1. 主菜单运行界面 (10) 2. 图书信息录入界面 (10) 3. 图书信息浏览界面 (11) 4. 图书查询界面 (11) 5. 图书信息修改界面 (12) 6. 图书信息删除界面 (12) 7. 图书信息排序主界面 (13) 8. 购书清单界面 (14) 五、体会总结 (14) 附件 (15)

图书销售管理系统设计 一、设计要求 1.图书信息包括:序号、书名、作者、出版单位、价格。 2.系统以菜单方式工作。 3.图书信息录入功能(图书信息用文件保存)--输入。 4.图书信息的删除与修改功能。 5.图书信息浏览功能--输出。 6.查询功能--算法:(按书名/作者查询)。 7.排序功能--算法:(按书名排序/按价格排序)。 8.图书购买功能:统计选购图书的总价,给出清单,屏幕输出参考以下的实际 购书单。 二、总体设计思路 1.主要功能:系统主要包括八个功能模块。 1)图书信息的录入:将所要录入的图书信息包括序号、书名、作者、出版社、 价格等录入一个文本文件中。每录入一本书,系统提示是否继续,若不继 续,则返回主界面。 2)图书信息的查询:将所有图书信息包括序号、书名、出版社、作者、价格 等显示在屏幕上,最后返回主界面。 3)图书信息的查询:通过输入图书名称或作者完成图书信息的查找,并在屏 幕上显示,返回主界面。 4)图书信息的修改:通过输入序号,判断此图书是否存在,若不存在则提示 用户重新输入图书序号,若存在则要求输入要修改图书的序号,对该图书 重新录入信息。录入后,提示是否继续,如不继续,则返回主界面。 5)图书信息的删除:通过输入序号,判断此图书是否存在,若存在,则提 示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号, 删除完毕后,返回主界面。 6)图书信息的排序:通过输入书名或价格,提示用户输入想要使用的排序方 式,排序后的信息显示在屏幕上,返回主界面。 7)图书的购买:通过输入要购买的图书序号,计算出总本书和总价格并连同 其他购买信息一并显示在屏幕上。 8)退出系统:返回主页面。 2.总体思路框图

图书销售管理系统

图书销售管理系统 1 引言 传统的图书销售管理方法,都是通过人工统计和计算的管理方式进行的。这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。 网上图书销售系统可以完成书店的日常管理,如图书录入、图书销售、销售统计、查询库存等功能,迅速准确地对已售图书和剩余库存进行统计和汇总工作,大大提高了书店的管理效率和准确性。 2 需求分析 2.1 国内外研究的现状 在现代化的书店中,对图书销售工作运用现代化技术进行管理,是提高工作效率的有效手段。图书销售管理是书店日常工作中非常重要的一个方面,越来越受到书店经营者的重视。通过计算机管理系统对图书销售进行全面的统计与管理,全面解决了书店经营过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题。图书销售管理系统成为书店管理的首选管理工具。 2.2 功能需求 2.2.1 待开发软件的功能需求 本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标: 1. 图书录入,包括图书的基本信息,如分类、进价、售价、作者等。 2. 图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。 3. 销售统计,包括按图书类型、书名、作者、出版社等进行统计。 4. 查询库存,对指定的某本图书剩余库存量进行查询。 5. 售完图书查询,对已售完图书进行查询。 2.2.2 待开发软件的功能 按照用户需求,要满足以上功能,我设计出了图书销售管理系统的系统功能图,如图2.1 所示。

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include typedef struct link { char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100]; float price; char status[100]; struct link *next;

销售管理系统课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:销售管理系统 专业班级:计算机1班 姓名:ZWZ 学号:10240136 指导教师:周小健 成绩:

摘要 销售管理系统程序设计利用计算机技术,使得企业生产、库存和销售能够有利结合起来,提高企业的效率和效益。 利用该系统可以为决策者和管理者及时掌握时常动态和企业的生产状况,以及对员工销售额的统计。 销售管理系统是一个企业单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以销售管理系统应该能够为管理人员提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对员工信息及业绩进行管理,具有手工管理所无法比拟的优点.

目录 摘要 (2) 一、需求分析 0 1.1 要求 0 1.2 系统功能 0 1.3 运行环境 0 1.4 开发工具 0 二、总体设计 (1) 三详细设计 (2) 2.2 功能模块设计 (2) 2.3 系统流程图(如图 3.1)...................... 错误!未定义书签。 四、编码 (5) 五、测试 (6) 六、设计总结 (11) 致谢 (12) 参考文献 (13) 附录1 0

一、需求分析 1.1 要求 (1)用c语言实现程序设计; (2)利用结构体进行相关信息处理; (3)画出查询模块的流程图; (4)系统的各个功能模块要求用函数的形式实现; (5)界面友好(良好的人机互交),程序要有注释 1.2 系统功能 (1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、电话号码、e_mail、地址),将其信息存入文件中; (2)输入姓名查询该同学的信息,并显示在屏幕上; (3)画出所有模块的流程图; (4)编写代码; (5)程序分析与调试。 1.3 运行环境 (1)WINDOWS2000/XP系统 (2)Turboc2.0编译环境 1.4开发工具 (1)C程序

UML网上图书销售系统

武汉xx学 计算机科学与工程学院课程综合设计报告 设计名称:《面向对象技术》课程综合设计 设计题目:网上订书信息管理系统 学生学号:xxx 专业班级:xxxx 学生姓名:xxx 学生成绩: 指导教师(职称):xxx 课题工作时间:2011年12月

说明: 1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个 学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计 完成情况、报告的质量及答辩情况,给出客观、全面的评价。 4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩小组成员应由2人及以上教师组成。 5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设 计的情况另行规定。 6、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用 于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。

成绩评定表 类别合计 分值 各项 分值 评分标准 实际 得分 合计 得分 备注 平时表现10 10 按时参加综合设计,无旷课、迟到、 早退、违反实验室纪律等情况。 完成情况30 20 按设计任务书的要求完成了全部 任务,能完整演示其设计内容,符 合要求。 10 能对其设计内容进行详细、完整的 介绍,并能就指导教师提出的问题 进行正确的回答。 报告质量35 10 报告文字通顺,内容翔实,论述充 分、完整,立论正确,结构严谨合 理;报告字数符合相关要求,工整 规范,整齐划一。 5 课题背景介绍清楚,综述分析充 分。 5 设计方案合理、可行,论证严谨, 逻辑性强,具有说服力。 5 符号统一;图表完备、符合规范要 求。 5 能对整个设计过程进行全面的总 结,得出有价值的结论或结果。 5 参考文献数量在3篇以上,格式符 合要求,在正文中正确引用。 答辩情况25 10 在规定时间内能就所设计的内容 进行阐述,言简意明,重点突出, 论点正确,条理清晰。 15 在规定时间内能准确、完整、流利 地回答教师所提出的问题。 总评成绩:分 补充说明: 指导教师:(签字) 日期:年月日

图书馆管理系统C语言程序设计

HUNAN UNIVERSITY C语言程序训练 报告 【设计目的】 图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等. 图书信息管理系统,使之能提供以下功能: 1)系统以菜单方式工作 2)读者注册功能 3)读者登录功能 4)读者借书还书功能 5)查询读者借阅记录 6)查询在管图书信息功能 7)修改密码功能 8)管理员登录功能 9)增加、修改、删除图书功能

10)查看图书信息功能 【设计思路】 根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。 【总体设计】 【详细设计】 图书馆管理系统 读者注册、登陆及密码修改 修改图书信息 删除图书信息 管理员登陆 查找图书信息 浏览图书信息

1.主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 开始 显示一系列功能选项 n 输入n,n为1,2或3 根据n的值调用各功能模块函数 结束 源代码为 //rkou.c 程序的入口 #include #include #include #include #include"head.h" #include"fuc.h" #include"picture.h" #include"jiangzhuo1.h" #include"output.h" main() { int i=setup(); switch (i) { case 0: while(n<50) { conects(n); } default: eros(i); }

C语言课程设计销售管理系统

C语言课程设计 题目 指导教师 学生姓名 学号 专业 教学单位

目录 1设计内容与设计要求 (1) 1.1系统功能简介 (1) 1.2系统运行环境 (1) 2功能划分,模块详细说明 (1) 3程序流程图 (1) 4运行的运行及说明 (2) 4.1系统的运行 (2) 4.2运行说明 (4) 5总结 (5) 附件:源程序清单 (5)

1设计内容与设计要求 1.1系统功能简介 ?系统有简单的菜单界面,用户可以通过输入简单的选项来完成 相应的工作。 ?选定一种产品,按销售额的顺序对销售员进行排序,输出排序结果。 ?统计每种产品的总销售额,输出排序结果。 ?输出统计报表。 1.2系统运行环境 Vc++6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。 2功能划分,模块详细说明 系统的功能是通过子函数调用的方式来完成的,下面对程序中用到的函数及其功能做一下说明。 ●void menu():显示主菜单界面。 ●void data_count(data *x):以写方式打开文件,对商品信息清零,读 入职工编号、产品编号、销售量等信息,对相同职工的相同产品的销售量求和后写入文件。 ●void range_sxy(data *x):以读方式打开文件,读入信息,输入按何种 产品排序后对存储职工编号的数组进行排序,最后输出新序的职工编号信息。 ●void range_shangpin(data *x):从文件读入信息,对每项产品的销售 量求和,按每项产品的总销售量排序。 ●void data_out(data *x):打开文件,读入信息,求所有产品的销售量 的和,输出统计表。 ●void main():主函数,调用以上函数,完成相应功能。 3程序流程图 程序整体流程图如图3-1所示:

图书销售管理系统

图书销售管理系统 1引言 传统的图书销售管理方法,都是通过人工统计和计算的管理方式进行的。这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。 网上图书销售系统可以完成书店的日常管理,如图书录入、图书销售、销售统计、查询库存等功能,迅速准确地对已售图书和剩余库存进行统计和汇总工作,大大提高了书店的管理效率和准确性。 2 需求分析 2.1 国内外研究的现状 在现代化的书店中,对图书销售工作运用现代化技术进行管理,是提高工作效率的有效手段。图书销售管理是书店日常工作中非常重要的一个方面,越来越受到书店经营者的重视。通过计算机管理系统对图书销售进行全面的统计与管理,全面解决了书店经营过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题。图书销售管理系统成为书店管理的首选管理工具。 2.2 功能需求 2.2.1待开发软件的功能需求 本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标: 1.图书录入,包括图书的基本信息,如分类、进价、售价、作者等。 2.图书销售,包括图书的售价、折扣、销售日期,并实现对库存量的修改。 3.销售统计,包括按图书类型、书名、作者、出版社等进行统计。 4.查询库存,对指定的某本图书剩余库存量进行查询。 5.售完图书查询,对已售完图书进行查询。 2.2.2待开发软件的功能 按照用户需求,要满足以上功能,我设计出了图书销售管理系统的系统功能图,如图2.1所示。

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

C语言程序设计销售管理系统

C语言程序设计销售管理 系统 The latest revision on November 22, 2020

销售信息管理系统设计文档 组号:第二组 成员:汪品高齐瑞智欧阳鑫赵飞锋章森 目录 一.题目与要求 二.功能实现设计(模块化设计)三.运行结果(附带抓图)四.源程序

报告正文 1、题目与要求: 2、某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员汇总当天出售的每种产品的销售情况。 2 每天销售情况包括(销售员的代号、产品的代号、这种产品当天的销售额) 1、编写一个销售信息管理系统,读取上个月的销售情况 1、计算上个月没人每种产品的销售额 2、按销售额对销售员进行排序,输出排序结果(销售员代号) 3、统计每种产品的总销售额,对这些产品从高到低的顺序输出结果 (须输出产品的代号和销售额) 4、输出统计报表 2、需求分析 本程序将用到文件系统,其中单行内容代表一张纸条。程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。 3、功能实现设计 总体设计

根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。其中主要模块是前四个模块。 流程图 详细设计: #include<> #include<> #include<> #include<> #define M 【功能函数声明】 vvoid detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 【数据结构】 原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。 struct ss { int sid; id,&ss[n].pid,&ss[n].sn); } id)

图书销售管理系统

图书销售管理系统 Ting Bao was revised on January 6, 20021

《图书销售管理系统》数据库设计报告 一、需求分析 调查新华书店图书销售业务,设计的图书销售管理系统主要包括图书管理、进货、销售、统计功能。具体说明如下: (1)图书管理:用户通过该系统能够对图书详细信息进行维护,包括添加、修改、删除。对所有的图书进行分类,类别信息可以增加、修改、删除。每个类别有多种图书,每种图书属于一个类别。顾客可以通过该系统自主查询在库的图书信息。 (2)进货:根据某种书籍的库存量及销售情况确定进货数量,填写进货单,每张进货单对应一个供应商,同一供应商也可以出现在不同的进货单中,一份进货单可包含多种图书,每种图书会出现在多份进货单中,保存进货单成功后,系统会自动修改图书库存量。 (3)销售:输入顾客要买书籍的信息,自动显示此书的库存量,假如可以销售,生成销售单,一份销售单中包含多种图书,每种图书会出现在多份销售单中。保存销售单时自动修改图书库存量。 (4)供应商管理:通过该系统可以对书店的供应商信息进行管理,包括供应商信息的添加、修改、删除。 (5)统计:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜。 该系统的基本信息包括: (1)图书基本信息:ISBN号,书名,出版社,作者,出版地,单价,出版时间 (2)供应商基本信息:供应商编号,供应商地址,供应数量,供应商电话,供应商名(3)用户基本信息:用户名,用户编号,用户电话,用户密码 除了上述要求外,该系统还需要产生如下报表 (1)进货单基本信息:进货单号,进货日期,供应数量,供应商编号,ISBN号,进货价 (2)销售单基本信息:销售单号,销售日期,ISBN号,销售数量,供应商编号,单价 (3)销售汇总表:每个月结束统计一张该月销售情况表,内容包括:销售总额,销售总量以及排行榜 二、概念结构设计 E-R全局

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

图书馆管理系统 c语言编写

#include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "math.h" #define LEN sizeof(struct library) #define LEN1 sizeof(struct reader) #define NULL 0 struct library//图书馆结构体 {int shuhao,xcl; char name[20],author[20],chuban[20]; struct library *next; }; struct reader//读者结构体 { int zhenghao; char mingzi[20],riqi[20],zname[20]; struct reader *next; }; void mainmenu() //显示主菜单 { system ("cls"); printf("\n"); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n"); printf("\t\t\t\t 2.借阅系统\n\n"); printf("\t\t\t\t 3.退出系统\n\n"); printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n"); return ; } void menu1() //显示图书馆信息菜单 { system ("cls"); printf(""); printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n"); printf("\t\t\t\t 2.清除库存\n\n"); printf("\t\t\t\t 3.图书查询\n\n"); printf("\t\t\t\t 4.库存一览\n\n"); printf("\t\t\t\t 5.返回上一层\n\n"); printf("\t\t\t 请按键选择,回车确定\n");

c语言销售管理系统

课程设计说明书 学院、系: 专业: 学生姓名:学号: 销售管理系统 设计题目: 起迄日期: 指导教师: 日期: 2017年5月12日

1 设计目的 1.了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。 2.握高级程序设计语言的知识。 3.践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。 4.程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言 的文件操作有一个更深刻的了解。 5.提高与程序设计和软件开发有关的各种综合能力。 6.通过本课程设计,培养上机动手能力,巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关; 7.为后续各门计算机课程的学习打下坚实基础; 8.学会用c语言程序设计来设计销售管理系统设计。 2 任务概述 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。 试设计一个便条管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、便条信息录入功能(便条信息用文件保存)--输入 3、收集到了上个月的所有便条后,读取销售情况 1)计算每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果 4)输出统计报表 3 模块划分 主菜单及头文件设计 编辑系统菜单运行 输入信息 保存信息,参数为结构体数组和记录数 读入取函数,参数为结构体数组 清单输出 主要功能的实现 4 主要函数说明及其N-S图

大数据库课程设计图书销售管理系统

《数据库原理》课程设计报告 专业:软件工程 班级:软件1201、软件1202 学号:1220740105、1220740220 :向文静、黄鹏 题目名称:图书销售管理系统 完成日期:2014年5月25日 计算机学院实验中心

引言 随着计算机的普及书店规模的不断扩大,传统的图书销售管理方法,都是通过人工统计和计算的管理方式进行的。这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。 通过图书销售管理系统可以解决书店管理中遇到的各种问题,该图书销售管理系统分析了市场需求和实际需要,利用Microsoft Visual Studio 2008连接SQL数据库的方式,实现了书店的图书销售等一系列管理,该系统具有处理图书录入、图书销售及管理、图书查询、报表查询等功能。 第一章系统分析 1.1功能需求: 本系统是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标: a、用户管理:对系统所有用户的相关信息进行管理。 b、图书管理:对图书信息进行添加以及编辑,对图书基本信息的录入及编辑包 括图书类别、图书进价、图书售价、图书、图书折扣、图书作者等。 c、图书销售管理:对图书的销售信息进行动态添加并实现对图书库存量的动态 修改等,所添加的图书销售信息包括图书的售价、折扣、销售日期。 d、查询管理:用户根据实际需要对图书、图书销售、图书库存等信息分类查询。 e、报表查询:系统用户可以通过对时间段的选择来查看该段时间图书的销售情 况,以便于做出更为合理的销售计划、提高效益。 f、数据管理:为了防止系统用户的误操作,用户可以根据自己的需要对图书信 息、销售数据等进行备份等操作。

C语言编写图书管理系统

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日

目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

基于C语言数据结构图书管理系统

计算机科学与技术专业课程设计任务书 1 需求分析 1本演示程序中,用户从键盘输入图书信息,图书编号,名称,类别,作者,出版社,价格,购买日期。 2演示程序以用户和计算机的对话方式执行,即在运行窗口出现提示信息,有用户从键盘录入,显示结果会在显示之后。 3程序执行的命令包括:查询图书信息,删除图书信息,对所有图书进行排序,

统计各种类的图书数目。显示所有图书信息 4 测试数据:2001 离散数学 X 左孝凌上海科学出版社 18.00 2009/6/8 2002 数据结构 B 严蔚敏清华大学出版社 30.00 2010/4/1 2 程序总体设计 (1)数据结构 依据输入的数据信息和数据格式,连表结点用结构体实现。采用链表方式存储,typedef:typedef struct //定义表示日期数据的结构体数据类型 { int month; int day; int year; } DATE; typedef struct Booktype //定义表示图书信息的结构体数据类型 { char id[10]; /* 图书编号*/ char name[40]; /* 图书名称*/ char type; /* 图书类型*/ char writer[10]; /* 图书作者*/ char publisher[20]; /* 图书出版社*/ float price; /* 图书价格*/ DA TE buydate; /* 图书购买日期*/ } Btype; typedef struct Booklist /* 定义表示所有图书信息的链表数据类型*/ { Btype *bk; struct Booklist *next; } Blist; (2)模块划分

汽车销售管理系统C语言版

西安郵電大學 C语言课程设计报告题目:汽车销售管理系统 院系名称: 专业名称: 班级: 学生姓名: 学号(8位): 指导教师: 设计起止时间:

一. 设计目的 1. 对c语言基本知识的巩固和综合运用。熟练使用基本数据类型,基本控制结构,数组,函数,指针等。 2. 强化上机动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程化软件设计的基本方法。 3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 4. 为后续各门计算机课程的学习打下坚实基础。 5.《汽车销售管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的汽车销售管理系统。汽车销售管理系统是一个企业不可缺少的一部分,它利用计算机对汽车销售进行统一管理,实现汽车销售管理工作的系统化、规范化和自动化,为企业提高工作效率。 二. 设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有: 1.能够实现对新车的入库工作。 2.能够修改汽车信息。 3.能按销售新车来管理汽车销售信息。 4.能够查询汽车信息。 5.能够删除汽车信息。 6.显示汽车库存信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。 8.能够实现退出系统。 三.概要设计 1.功能模块图;

2.各个模块详细的功能描述。 1.能够实现对新车的入库工作。创建汽车产品信息文件,根据提示输入若干汽车的信 息,并将这些信息保存至一个文件中。 2.能够修改汽车信息。提示用户输入要进行修改操作的产品名称和产品型号,如果在 产品信息文件中有该息存在,则将提示用户输入要修改的选项,并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。 3.能按销售新车来管理汽车销售信息。创建一个销售记录文件,每完成一次销售,就 按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的汽车产品信息文件(主要是修改其库存数量)。 4.能够查询汽车信息。输入产品名称,在汽车产品信息文件中查找相应的汽车信息并 输出。 5.能够删除汽车信息。提示用户输入要进行删除操作的产品名称和产品型 号,如果在产品信息文件中有该信息存在,则将对应的汽车信息删除,否 则输出提示信息,并提示用户选择是否继续进行删除操作。 6.显示汽车库存信息。打开汽车信息文件,输出文件内汽车信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。按不同条件进行排序操作,输出满 足条件的笔记本电脑信息。 8.能够实现退出系统。

相关文档
最新文档