200504061027王洪亮
沈 航 空 工 业 院阳学
学号 200504061349班 业 5406110 姓 名 曹敏业 指业业 教
年月日 200776
沈航空工业院阳学
业程业业任业业机械汽业院 院 机械业业制造及其自业化 业业 与学学5406110 班业 200504061349 学
号
一、业程业业业目,材信息管理教
二、业程业业工作自年月日起至年月日止200771200776三、业程业业容内,
(1)教材信息业入包括业名作者出版社等.(:,,)
(2)材业业教(包括按业名,作者,出版社等)
(3)信息的保存
(4)材的业业和业出教
(5)材缺少的业业教
(6)退出
四、业程业业
,
程序业量,
,业业业化程序业业思想。构
,用业界面友好~功能明~操作方便~可以加以其功能或修业。确它
,用业界面中的菜业至少业包括“据业入”、“保存业果”、“退出”数业。3
,代业业适业业~业出必要的注业~以增强程序的可业性。当并
业程业业业明业,
业程业束后~上交业程业业业明业;打印稿和业子稿,~其容如下,内
,封面
,业程业业任业业
,目业
,需求分析;分析业目的要求,
,程序流程业;业流程业和主要功能模业流程业,体
,核心技业的业业业明及相业程序段
,个人业业
,参考业料
,源程序及适的注业当
指业业,教____________________
学生业名,____________________
沈 航 院 业 业 用 业阳
目业
一、需求分析 ................................................................................................. 1二、程序流程业 ............................................................................................... 1、具功能函模业业体数框 2 ............................................................................... 2;,业示菜业函数 1 ............................................................................................ 2教材业业 (4) ......................................................................................................... 3三、核心技业的业业业明及相业程序段 ............................................................... 3四、人业业个 ...................................................................................................... 5五、考文参献 ................................................................................................. 5六、源程序 ..................................................................................................... 5
I
沈 航 院 业 业 用 业阳
一、需求分析
业业业程序业业业目的分析可知~整程序的业业业业大致分业个
三模业~其中每一模业业业一函~他业的功能分业是个个个数,业示菜业函数~材信息的添加教数~信息保存(main)(add)
函数教找材信息业教材业业教材缺少业业(save),(inquire),(sell),(
。在业些函中~每函的业业业格按照业目的数当个数statistics)
要求。
1、业示菜业函 主要业业业示程序业业的业步业和功能数体~业有接下业示的分步业用业业各函的具功能来来个数体,以便业业其各自定业函的作用。它数
2,教材信息业入包括业名作者出版社数量等.(:,,,)
3,材业业教(包括按业名,作者,出版社等)
4信息的保存
5材的业业和业出教
6材缺少的业业教
除上面介业的功能之外~程序业具有退出功能~可以在程序的一次行中循业业行所有的功能。运当
定业业量 int bi,choice;二、程序流程业业业入的操作你号choice
Y choice=1? N
Choice=2? 、程序业业业业体构1
、
具
体
功
能
函
数
1
沈 航 院 业 业 用 业阳
业程序业业业业体构1
、具功能函模业业体数框2
;1,业示菜业函数
定业业量int bi,choice
fh asdfasdffsdfasdf
业入菜业业业业业量choice
返回choice的业
;
2
,
业;,材信息业入函教数2
定业Static bi=0
业入业名
业入作者
业入出版社
业入量数
bi++
;,、保存信息函数3
2
沈 航 院 业 业 用 业阳
定业int bi = 0 ; FILE *fp;、
具 打业文件fp = fopen("c:\\book.dat", "wb")体
while(books[bi].buy_count > 0)
业业始猜业函业业业数构1
业出
fprintf(fp, "%s %s %s %d %d\n", books[bi].name, books[bi].author,books[bi].press,
&books[bi].buy_count, &books[bi].sell_count)
bi++
fclose(fp)
教材业业(4)
1.
三、核心技业的业业业明及相业程序段
本程序主要由自定业函和一主函业成~其两个数个数
中主函以菜业的形式业用其他函业业要求的所有功能。数数来
在业些函中~猜业价格函是程序中业业核心的部分~数当数
下面业行业明。
业始猜业函数*/void guess(int nPrice) /*
定业业量{ int MAX=200;int i; /**/
定业业数*/int n[200] = {0}; /*
3
沈 航 院 业 业 用 业阳
数业业行循业*/ for(i=0;i
#include
#include
#define BOOK_SPECIES 100
5
沈 航 院 业 业 用 业阳
typedef struct _Book {
char name[32];
char author[32];
char press[32];
int buy_count;
int sell_count; };
struct _Book books[BOOK_SPECIES]; void show_title() {
业迎业入沈航空工业院材管理系业阳学教printf(" \n\n");
业业printf(" 1.\n\n");
业入printf(" 2.\n\n");
将修改信息保存业磁业printf(" 3.\n\n");
教材业入和业出管理printf(" 4.\n\n");
缺业业业printf(" 5.\n\n");
业业使用printf(" 6.\n\n");
业业入要业业的操作序您号按回业业业确printf("\n ,:");
}
void add_book() {
static bi=0;
业业入业名按回业业定确printf(",:");
scanf("%s", books[bi].name);
业业入作者名按回业业定确printf(",:");
scanf("%s", books[bi].author);
业业入业业出版社名按回业业定确printf(",:");
scanf("%s", books[bi].press);
业业入业业的量数printf(":");
scanf("%d", &books[bi].buy_count);
以上材信息已业成功业入教printf(".\n");
6
沈 航 院 业 业 用 业阳
bi++;
}
void save_book() {
int bi = 0;
FILE *fp;
fp = fopen("c:\\book.dat", "wb");
while(books[bi].buy_count > 0)
{
fprintf(fp, "%s %s %s %d %d\n", books[bi].name, books[bi].author,books[bi].press,
&books[bi].buy_count, &books[bi].sell_count);
bi++;
}
fclose(fp); }
void inquire_book() {
int bi,flag=0;
int a;
char x[32];
char y[32];
char z[32];
业名 作者 出版社printf("1.2.3.\n");
scanf("%d",&a);
switch(a)
{
业业入业名case 1: printf("\n");scanf("%s",x);
for(bi=0;bi<100;bi++)
if (strcmp(books[bi].name,x)==0)
{printf("%s %s %s %d
%d\n",books[bi].name,books[bi].author,books[bi].press,books[bi].buy_count
7
沈 航 院 业 业 用 业阳
,books[bi].sell_count);
flag=1;
}
未业到符合业目找if(flag==0) printf("\n");
break;
业业入作者名case 2: printf("\n"); scanf("%s",y);
for(bi=0;bi<100;bi++)
if (strcmp(books[bi].author,y)==0)
{printf("%s %s %s %d %d\n",books[bi].name,books[bi].author,books[bi].press,books[bi].buy_count
,books[bi].sell_count);
flag=1;
}
未业到符合业目找if(flag==0) printf("\n");
break;
业业入出版社名case 3:printf("\n");scanf("%s",z);
for(bi=0;bi<100;bi++)
if (strcmp(books[bi].press,z)==0)
{printf("%s %s %s %d
%d\n",books[bi].name,books[bi].author,books[bi].press,books[bi].buy_count
,books[bi].sell_count);
flag=1;
}
未业到符合业目找if(flag==0) printf("\n");
break;
}
}
void sell_book()
{
int bi,count;
char name[20],author[20],press[20];
业业入业名printf(":");
scanf("%s",name);
业业入作者名printf(":");
8
沈 航 院 业 业 用 业阳
scanf("%s",author);
业业入出版社名printf(":");
scanf("%s",press);
业业入量数printf(":");
scanf("%d", &count);
for(bi=0;bi<100;bi++)
if(strcmp(books[bi].name,name)==0&&strcmp(books[bi].author,a
uthor)==0&&strcmp(books[bi].press,press)==0)
if(books[bi].buy_count>0)
{
books[bi].buy_count -= count;
books[bi].sell_count += count;
printf("\BBBBB.\n");
}
else
{
system("cls");
printf("\CCCCC.\n");
}
}
void statistics_book()
{
int bi;
for(bi=0;bi