C语言设计说明书.docx

上传人:b****6 文档编号:7065961 上传时间:2023-01-16 格式:DOCX 页数:20 大小:360.81KB
下载 相关 举报
C语言设计说明书.docx_第1页
第1页 / 共20页
C语言设计说明书.docx_第2页
第2页 / 共20页
C语言设计说明书.docx_第3页
第3页 / 共20页
C语言设计说明书.docx_第4页
第4页 / 共20页
C语言设计说明书.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言设计说明书.docx

《C语言设计说明书.docx》由会员分享,可在线阅读,更多相关《C语言设计说明书.docx(20页珍藏版)》请在冰豆网上搜索。

C语言设计说明书.docx

C语言设计说明书

目录

一、设计题目1

二、设计目的1

三、设计分析1

四、总体设计1

五、详细设计2

六、设计总结9

一、设计题目

简单的图书销售系统的设计

二、设计目的

1.运用已学过的知识进行一个简单的应用程序的开发。

2.基本掌握设计课题的基本步骤和方法。

3.掌握应用系统开发中的需求分析与数据库设计方法。

4.基本掌握应用系统开发中设计文档的编制。

三、设计分析

对图书信息(包括书名、书号、作者、出版社、价格、从书名)进行管理,包括图书的信息添加、修改、查询、删除、显示、写入、退出.将各每本图书信息进行记录,信息内容包含:

(1)图书书名

(2)图书号(3)图书作者(4)图书出版社(5)图书价格。

现在收集一些图书信息,要求用C语言编写一个简单的图书销售管理系统,可进行录入、查询和浏览等功能。

学习相关开发工具和应用软件,熟悉系统建设过程。

对图书信息的添加、修改、查询、删除、显示、写入、退出是图书销售管理的重要组成部分,图书信息包括:

其内容较多,为了简化讨论,要求设计的图书管理系统能够完成以下功能:

1.每一条记录包括一个图书信息的书名、书号、作者、出版社和价格、从书名

2.图书信息添加功能:

图示添加信息用文件保存,可以一次完成若干条记录的添加。

3.图书信息显示浏览功能。

4.查询功能:

完成按书号、书名、价格查找课图书记录,并显示。

5.图书信息的删除:

按书号、书名进行删除某图书的信息。

6.应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

四、总体设计

该设计的主要功能包括:

添加信息功能、查询信息功能、修改信息功能、删除信息功能、显示部分或全部信息、退出等功能。

设计图如图1所示。

五、详细设计

1.各函数的功能和实现

(1)添加图书模块:

通过定义一个函数添加。

(2)显示目前丛书模块:

通过定义一个函数显示丛书。

(3)修改信息模块:

通过定义一个函数修改。

(4)删除信息模块:

通过定义一个函数删除。

(5)查询图书信息模块:

通过定义一个函数查询。

(6)显示销售订单模块:

通过定义一个函数显示订单。

(7)退出模块:

通过定义一个函数退出系统。

2.流程图

系统的流程图如图2所示

图2系统流程图

3.系统实现界面

根据实验设计启动程序将进入主菜单,主菜单包括系统名称、添加图书信息、显示目前丛书信息、修改信息、删除图书信息、查询图书信息、写入文件息和退出图书销售统。

可以根据提示选择不同的功能。

(1)系统界面如图3所示。

图3系统界面图

如果用户选择1,则进入添加图书信息菜单。

(2)添加图书信息菜单如图4所示

图4添加图书信息菜单图

如果用户选择2,则进入显示图书信息菜单。

(3)显示图书信息界面如图5所示

图5显示图书信息界面图

(4)用户选择3可以进入修改菜单,修改管理系统中存在的数据如图6所示

图6修改图书信息界面图

(5)用户选择4可以进入删除菜单,删除系统中单个或多个数据如图7所示

图7删除图书信息界面图

(6)用户选择5可以进入查询菜单,查询图书信息如图8所示

图8查询图书信息界面图

(7)用户选择6可以在此处添加信息,如图9所示

图9添加信息文件界面图

(8)用户选择7可以进入写入文件菜单,如图10所示

图10写入文件信息界面图

(9)用户选择8可以进入显示销售订单系统如图11所示

图11限时销售订单界面图

(10)用户选择9可以退出图书销售系统如图12所示

图12退出系统界面图

六、设计总结

本图书销售管理系统可以对图书销售信息进行日常管理,可以实现对图书信息的添加、显示、修改、删除、查询、写入、退出等功能。

运用起来方便灵活、简单易用。

设计灵活运用各种循环语句,运用结构体定义每本图书信息包含内容。

添加模块通过intintput来实现、显示模块通过voiddisplay来实现、修改模块通过voidinsert来实现、删除模块通过voiddelete来实现、查询模块通过voidquery来实现、显示订单模块通过voiddisplaysaling、退出系统通过exit来实现并且提供系统退出选项。

各模块相互独立互不影响。

附录

#include

#include

#include

#include

typedefstruct

{

charname[10];

charnum[20];

charzuozhe[20];

charchubanshe[20];

intscore;

charcongshuming[20];

chardingjia[20];

chardingliang[20];

charshijian[20];

}BOOK;

BOOKstu[80];

intmenu_select()

{

charc;

do{

system("cls");

printf("☆☆☆☆☆☆☆☆☆☆长春大学软件学院☆☆☆☆☆☆☆☆☆☆☆\n");

printf("☆创作人:

严峰班级:

2709309学号:

38☆\n");

printf("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");

printf("★图书销售系统★\n");

printf("¤¤\n");

printf("★1.添加图书2.显示目前丛书★\n");

printf("¤¤\n");

printf("★3.修改信息4.删除信息★\n");

printf("¤¤\n");

printf("★5.查询图书信息6.添加信息文件★\n");

printf("¤¤\n");

printf("★7.写入文件8.显示销售订单★\n");

printf("¤¤\n");

printf("★9.退出系统★\n");

printf("¤¤\n");

printf("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");

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

printf("★选择操作项目★\n");

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

printf("\t\tGiveyourChoice(0-9):

");

c=getchar();

}while(c<'0'||c>'9');

return(c-'0');

}

intInput(BOOKstud[],intn)

{

inti=0;

charsign,x[10];

while(sign!

='n'&&sign!

='N')

{

printf("\t\t\t书名:

");

scanf("\t\t\t%s",stud[n+i].name);

printf("\t\t\t书号:

");

scanf("\t\t\t%s",stud[n+i].num);

printf("\t\t\t作者:

");

scanf("\t\t\t%s",stud[n+i].zuozhe);

printf("\t\t\t出版社:

");

scanf("\t\t\t%s",&stud[n+i].chubanshe);

printf("\t\t\t价格:

");

scanf("\t\t\t%d",&stud[n+i].score);

printf("\t\t\t从书名:

");

scanf("\t\t\t%s",stud[n+i].congshuming);

printf("\t\t\t订价:

");

scanf("\t\t\t%s",&stud[n+i].dingjia);

printf("\t\t\t订量:

");

scanf("\t\t\t%s",&stud[n+i].dingliang);

printf("\t\t\t时间:

");

scanf("\t\t\t%s",&stud[n+i].shijian);

gets(x);

printf("\t\t\tanymorerecords?

(Y/N)");

scanf("\t\t\t%c",&sign);

i++;

}

return(n+i);

}

voidDisplay(BOOKstud[],intn)

{

inti;

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

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

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

for(i=1;i

{

printf("\t\t\t%-16s%-15s%d%15s\n",stud[i-1].num,stud[i-1].name,stud[i-1].score,stud[i-1].chubanshe);

if(i>1&&i%10==0)

{

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

printf("\t\t\t");

system("pause");

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

}

}

printf("\t\t\t");

system("pause");

}

voidDisplaydingdan(BOOKstud[],intn)

{

inti;

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

printf("\t\t\t书号书名定价定量时间\n");

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

for(i=1;i

{

printf("\t\t\t%-12s%-12s%-12s%-12s%-12s\n",stud[i-1].num,stud[i-1].name,stud[i-1].dingjia,stud[i-1].dingliang,stud[i-1].shijian);

if(i>1&&i%10==0)

{

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

printf("\t\t\t");

system("pause");

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

}

}

printf("\t\t\t");

system("pause");

}

voidSort_by_num(BOOKstud[],intn)

{

inti,j,*p,*q,s;

chart[10];

for(i=0;i

for(j=0;j

if(strcmp(stud[j].num,stud[j+1].num)>0)

{

strcpy(t,stud[j+1].num);

strcpy(stud[j+1].num,stud[j].num);

strcpy(stud[j].num,t);

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

p=&stud[j+1].score;

q=&stud[j].score;

s=*p;

*p=*q;

*q=s;

}

}

intInsert_a_record(BOOKstud[],intn)

{

charx[10];

printf("\t\t\t书序号:

");

scanf("\t\t\t%s",stud[n].num);

printf("\t\t\t作者姓名:

");

scanf("\t\t\t%s",stud[n].name);

printf("\t\t\t书单价:

");

scanf("\t\t\t%d",&stud[n].score);

gets(x);

n++;

Sort_by_num(stud,n);

printf("\t\t\tInsertSuccessed!

\n");

return(n);

}

intDelete_a_record(BOOKstud[],intn)

{

chars[20];

inti=0,j;

printf("\t\t\ttellmehis(her)name:

");

scanf("%s",s);

while(strcmp(stud[i].name,s)!

=0&&i

if(i==n)

{

printf("\t\t\tnotfind!

\n");

return(n);

}

for(j=i;j

{

strcpy(stud[j].num,stud[j+1].num);

strcpy(stud[j].name,stud[j+1].name);

stud[j].score=stud[j+1].score;

}

printf("\t\t\tDeleteSuccessed!

\n");

return(n-1);

}

voidQuery_a_record(BOOKstud[],intn)

{

chars[20];

inti=0;

printf("\t\t\tinputhis(her)name:

");

scanf("\t\t\t%s",s);

while(strcmp(stud[i].name,s)!

=0&&i

if(i==n)

{

printf("\t\t\tnotfind!

\n");

return;

}

printf("\t\t\this(her)number:

%s\n",stud[i].num);

printf("\t\t\this(her)price:

%d\n",stud[i].score);

}

intAddfromText(BOOKstud[],intn)

{

inti=0,num;

FILE*fp;

charfilename[20];

printf("\t\t\tInputthefilename:

");

scanf("\t\t\t%s",filename);

if((fp=fopen(filename,"rb"))==NULL)

{

printf("\t\t\tcann'topenthefile\n");

printf("\t\t\t");

system("pause");

return(n);

}

fscanf(fp,"%d",&num);

while(i

{

fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score);

i++;

}

n+=num;

fclose(fp);

printf("\t\t\tSuccessed!

\n");

printf("\t\t\t");

system("pause");

return(n);

}

voidWritetoText(BOOKstud[],intn)

{

inti=0;

FILE*fp;

charfilename[20];

printf("\t\t\tWriteRecordstoaTextFile\n");

printf("\t\t\tInputthefilename:

");

scanf("\t\t\t%s",filename);

if((fp=fopen(filename,"w"))==NULL)

{

printf("\t\t\tcann'topenthefile\n");

system("pause");

return;

}

fprintf(fp,"%d\n",n);

while(i

{

fprintf(fp,"%-16s%-15s%d\n",stud[i].num,stud[i].name,stud[i].score);

i++;

}

fclose(fp);

printf("Successed!

\n");

}

voidmain()

{

intn=0;

for(;;)

{

switch(menu_select())

{

case1:

printf("\t\t\tInputInformation\n");

n=Input(stu,n);

break;

case2:

printf("\t\t\tDisplayAllInformation\n");

Display(stu,n);

break;

case3:

printf("\t\t\tInsertaRecord\n");

n=Insert_a_record(stu,n);

printf("\t\t\t");

system("pause");

break;

case4:

printf("\t\t\tDeleteaRecord\n");

n=Delete_a_record(stu,n);

printf("\t\t\t");

system("pause");

break;

case5:

printf("\t\t\tQuery\n");

Query_a_record(stu,n);

printf("\t\t\t");

system("pause");

break;

case6:

printf("\t\t\tAddRecordsfromaTextFile\n");

n=AddfromText(stu,n);

break;

case7:

printf("\t\t\tWritetoaTextfile\n");

WritetoText(stu,n);

printf("\t\t\t");

system("pause");

break;

case8:

printf("\t\t\tDisplaysaling\n");

Displaydingdan(stu,n);

break;

case9:

printf("\t\t\tHaveaGoodLuck,Bye-bye!

\n");

printf("\t\t\t");

system("pause");

exit(0);

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1