物资管理系统 C语言课程设计

物资管理系统 C语言课程设计
物资管理系统 C语言课程设计

物资管理系统程序设计

本程序在VC++ 6.0上运行无误!!!

一、题目要求:

主程序中,应提供文字交互菜单界面。要求包含以下几个功能模块:

(1).信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息的录入,并将其存放在指定的文件(product.txt)。

(2).信息查找模块search():采用如下方式进行查找,若找到,则输出该物资的相关信息;否则,输出提示信息,如“NO FOUND!!!”。

1).按产品信息查询;

2).按进货信息查询并统计(统计某年某月进的某种产品数量,产品种类);

3).按产品名称和规模查询并统计;

(3).新物资入库模块:在原文件插入新物资信息。

(4).领料模块:查找所领取物资信息,若满足领料的要求,请登记领取物资名称,领料的日期,所领数量(领料后对库存修改)。

(5).打印功能模块:

1).打印领料单;

2).打印物资库存清单。

二、需求分析

(1)、库存和领料信息以文本文件的方式存放在两个文件里,提供相应的输入输出操作。

(2)、提供库存几种方式的查找。

(3)、提供库存的建立、插入。

(4)、能查找满足领货要求的信息,并修改库存、领货文本文件。

三、总体设计

根据要求可以将系统设计为七大模块。

四、详细设计

1、主函数

主函数只调用主菜单函数。

//********主函数********

void menu()

{

int n,w=0;

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

printf("\ninput your choice:\n");

scanf("%d",&n);

do

{

if(n>6||n<1)

{

printf("\nWrong!Input agin!\n");

scanf("%d",&n);

}

else w=1;

}while(w!=1);

switch(n)

{

case 1:input();break; 输入

case 2:search_menu();break; 查找菜单流程图

case 3:insert();break; 插入

case 4:lend();break; 领货

case 5:print_menu();break; 打印菜单

case 6:exit(0); 退出

}

}

3、输入模块

[数据结构]

所输入的数据在磁盘上以文本文件的形式保存,名字为product.txt! 在程序中以链表的形式储存!结构体如下:struct date /*日期结构体*/

{

int year;

int month;

int day;

};

struct product /*库存货物结构体*/

{

char p_name[20]; /*货物名称*/

long int p_num; /*物资编号

char size[4]; /*物资规格*/

struct date in_date; /*进货日期*/

long int max_s; /*最大库存量*/

long int min_s; /*最小库存量*/

long int real_s; /*实际库存量*/

/*输入函数*/

[分析]:以只写的方式打开文件"product.txt",在do—while循环中输入各种货物的信息。以输入flag植的方式判断是否结束循环。结束循环后调用主菜单函数!

[程序代码] 流程图void input()

{

void menu();

int flag;

struct product p;

FILE *fp;

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

printf("\n\nCannot open file!\n\n");

do

{

printf("input a product message:\n");

printf("the formart is:s ld s d d d ld ld ld\n");

scanf("%s %ld %s %d %d %d %ld %ld%ld", p.p_name,

&p.p_num ,p.size,&p.in_date.year,&p.in_date.month,&p.in_date.day,&p.max_s,&p.min_s,&p.real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld",p.p_name,p.p_num,p.size,p.in_date.year,p.in_date.month,p.in_date.da y,p.max_s,p.min_s,p.real_s); 写入库存文件

printf("Do you want to go on?\nYes,input 1;else 0:\n");

判断是否继续输入

scanf("%d",&flag);

}while(flag==1);

fclose(fp);

menu(); 回主菜单

}

4.插入模块

[需求分析]

该模块的功能是仓库管理员追加新的货物信息,从键盘逐条输入,并逐条写入指定文本文件。文件打开方式为“a+”。

[流程图]

/*插入*/

void insert()

{

void menu();

struct product p;

FILE *fp;

if((fp=fopen("product.txt","a+"))==NULL)

printf("\n\nCannot open file!\n\n");

printf("insert a product message:\n");

printf("the formart is:s ld s d d d ld ld ld\n");

scanf("%s %ld %s %d %d %d %ld %ld %ld",p.p_name,&p.p_num,p.size,&p.in_date.year,&p.in_date.month,&p.in_ date.day,&p.max_s,&p.min_s,&p.real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld",p.p_name,p.p_num,p.size,p.in_date.year,p.in_date.month,p.in_dat e.day,p.max_s,p.min_s,p.real_s);

menu();

}

5、查询模块

[需求分析]

在本模块,提供三种方式查询,分别是按名称查询,按日期查询,按规格查询!首先在菜单函数中提供三种查询方式的入口。

首先在菜单函数中调用建立库存链表函数,将文件中的信息存入链表,以方便查询!在各个查询函数中,利用链表查询,并统计满足要求的记录条数!

5-1查找菜单

在查找菜单中,提供几种查找方式的入口。

[流程图]

/*货物库存列表建立*/

struct product* build_list()

struct product *head,*p,*p1,*p2;

FILE *fp;

if((head=(struct product*)malloc(sizeof(struct product)))==NULL)

printf("\n\nCannot build List!\n\n");

p=head;

p1=head;

if((fp=fopen("product.txt","r"))==NULL) 只读方式打开文件

{

printf("\n\nCannot open file!\n\n");

}

for(i=0;!feof(fp);i++) 读取数据并存入链表

{

fscanf(fp,"%s %ld %s %d %d %d %ld %ld %ld",&p->p_name,&p->p_num,&p->size,&p->in_date.year,&p->in_date.mont h,&p->in_date.day,&p->max_s,&p->min_s,&p->real_s);

p->next=NULL;

p1->next=p;

p1=p;

p2=(struct product*)malloc(sizeof(struct product));

p=p2;

}

fclose(fp); 关闭文件

return(head); 返回头节点指针

}

[程序代码]

void search_menu() 查找菜单

{

void menu();

int n,w;

struct product *head;

head=build_list();

printf("\t\t**********Search Menu************\n");

printf("\t\t\t(1).search as goods name\n\t\t\t(2).search as date\n\t\t\t(3)search as size\n\t\t\t(4).menu");

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

printf("\ninput your choice:\n");

scanf("%d",&n); 输入选择

do

{

if(n>4||n<1)

{

}

else w=1;

}while(w!=1);

switch(n) 根据选择,进入各模块{

case 1:search_name(head);break;

case 2:search_date(head);break;

case 3:search_size(head);break;

case 4:menu();

}

}

5-2按名称查找

输入想查找货物的名称,查找到与之匹配的信息后输出。

[流程图]

[程序代码]

/*按名称查询*/

void search_name(struct product *head)

{

int total=0;

void search_menu();

struct product *p,*p2;

char name[20];

printf("\nInput name your want to search!\n");

scanf("%s",name);

p=head;p2=head;

for(;p!=NULL;)

{

if(strcmp(p->p_name,name)==0)

{

printf("\n\nFOUND!!!\n\n");

total++;

}

p=p2->next;

p2=p;

}

printf("\n\ntotal=%d",total);

if(total==0)printf("\nNO FOUND!!!\n");

search_menu();

}

5-3按入库日期查找

输入欲查找物资的名称,找到与之匹配的物资,输出并统计!

[流程图]

[程序代码]

/*按日期查询*/

void search_date(struct product *head)

{

void search_menu();

struct product *p,*p2;

struct date d;

int total=0;

printf("\nInput date your want to search!\n");

scanf("%d%d%d",&d.year,&d.month,&d.day);

p=head;p2=head;

for(;p!=NULL;)

{

if((p->in_date.year==d.year)&&(p->in_date.month==d.month)&&(p->in_date.day==d.day)) {

printf("\n%s %d %s %d-%d-%d %d %d %d\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_ date.day,p->max_s,p->min_s,p->real_s);

total++;

}

p=p2->next;

p2=p;

}

printf("\n\ntotal=%d",total);

search_menu();

}

5-4按物资规格查找

[需求分析]

输入欲查找物资的规格,找到与之匹配的物资,输出并统计!

[流程图]

[程序代码]

/*按规格查询*/

void search_size(struct product *head)

{

void search_menu();

struct product *p,*p2;

char size[4];

int total=0;

printf("\nInput size your want to search!\n");

scanf("%s",size);

p=p2=head;

for(;p!=NULL;)

{

if(strcmp(p->size,size)==0)

{

printf("\n\nFOUND!!!\n\n");

total++;

}

p=p2->next;

p2=p;

}

printf("\n\ntotal=%d",total);

search_menu();

}

6、领货模块

[需求分析]

查找所领货物资的信息,若满足领料的要求,请在文件(lend_pro.txt)中登记所领取物资名称,领料的日期,所领数量。

6-0领货链表的建立

[流程图]

[程序代码]

/*提货链表的建立*/

struct product* lend_list()

{

int i;

struct product *head,*p,*p1,*p2;

FILE *fp;

if((head=(struct product*)malloc(sizeof(struct product)))==NULL)

printf("\n\nCannot build List!\n\n");

p=head;

p1=head;

if((fp=fopen("lend.txt","r"))==NULL)

{

for(i=0;!feof(fp);i++)

{

fscanf(fp,"%s %ld %s %d %d %d %ld %ld %ld",&p->p_name,&p->p_num,&p->size,&p->in_date.year,&p->in_date.month,&p ->in_date.day,&p->max_s,&p->min_s,&p->real_s);

p->next=NULL;

p1->next=p;

p1=p;

p2=(struct product*)malloc(sizeof(struct product));

p=p2;

}

return(head);

}

6-1 领货模块

[流程图]

/*/从PRODUCT写入中转文件LEND*/

void write_lend(struct product *head)

{

struct product *p1,*p;

FILE *fp;

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

{

printf("\n\nCannot open file!");

}

p=p1=head;

for(;p!=NULL;)

{

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->i n_date.day,p->max_s,p->min_s,p->real_s);

p=p1->next;

fclose(fp);

}

void lend()

{

struct product *head;

head=build_list();

//printf("\nok!");

write_lend(head);

lend_menu();

}

6-2 领货菜单

提供几种查找方式的入口,并可以在结果中查找。逐渐缩小范围,直至要求!

[流程图]

[程序代码]

/*领货菜单*/

void lend_menu()

{

i nt n,w=0;

printf("\t\t*****************Lend search*****************\n");

p rintf("\t\t\tyou can search as follow ways\n");

p rintf("\t\t\t1).name\n\t\t\t2).date\n\t\t\t3).size\n\t\t\t4).number\n\t\t\t5).real_size\n\t\t\t6).jisuan\n"); p rintf("\t\t*********************************************\n");

printf("input your choice\n");

scanf("%d",&n);

d o

{

if(n>6||n<1)

{

printf("\nWrong!Input agin!\n");

scanf("%d",&n);

}

else w=1;

}while(w!=1);

{

c ase 1:lend_name();break;

c ase 2:lend_date();break;

c ase 3:lend_size();break;

c ase 4:lend_number();break;

case 5:lend_real_size();break;

c ase 6:ok();

}

}

6-3 领货时以名称为查找方式

[分析]

按照名称查找所需物资,并写入中转文件,以利于下一次查找![流程图]

[程序代码]

/*领货时按名字查询*/

void lend_name()

{

v oid lend_menu();

v oid print_list();

c har name[20];

s truct product *head,*p,*p2;

F ILE *fp;

h ead=lend_list();/*领货链表*/

p=head;p2=head;

print_list(head);/*打印*/

p rintf("\nInput name your want to search!\n");

s canf("%s",name);

printf("\nCan not open file!\n");

}

e lse printf("\nOk!\n");

for(;p!=NULL;)

{

if(strcmp(p->p_name,name)==0)

{

printf("\nOk!\n");

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_date. day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_da te.day,p->max_s,p->min_s,p->real_s);

}

p=p2->next;

p2=p;

}

f close(fp);

l end_menu();

}

6-4 领货时以日期为查找方式

[分析]

按照日期查找所需物资,并写入中转文件,以利于下一次查找!

[流程图]

/*领货时按日期查询*/

void lend_date()

{

v oid lend_menu();

s truct date d;

s truct product *head,*p,*p2;

F ILE *fp;

h ead=lend_list();/*领货链表*/

p=head;p2=head;

print_list(head);/*打印*/

p rintf("\nInput date your want to search!\n");

s canf("%d%d%d",&d.year,&d.month,&d.day);

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

{

printf("\nCan not open file!\n");

}

e lse printf("\nOk!\n");

for(;p!=NULL;)

{

if(p->in_date.year==d.year&&p->in_date.month==d.month&&p->in_date.day==d.day)

{

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->i n_date.day,p->max_s,p->min_s,p->real_s);

}

p=p2->next;

p2=p;

}

f close(fp);

l end_menu();

}

6-5 领货时以规格为查找方式

[分析]

按照规格查找所需物资,并写入中转文件,以利于下一次查找!

[流程图]

[程序代码]

/*领货时按规格查询*/

void lend_size()

{

v oid lend_menu();

c har size[4];

s truct product *head,*p,*p2;

F ILE *fp;

h ead=lend_list();/*领货链表*/

p=head;p2=head;

print_list(head);/*打印*/

p rintf("\nInput size your want to search!\n");

s canf("%s",size);

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

{

printf("\nCan not open file!\n");

}

e lse printf("\nOk!\n");

for(;p!=NULL;)

{

if(strcmp(p->size,size)==0)

{

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->i n_date.day,p->max_s,p->min_s,p->real_s);

p2=p;

}

f close(fp);

l end_menu();

}

6-6 领货时以编号为查找方式

[分析]

按照编号查找所需物资,并写入中转文件,以利于下一次查找![流程图]

[程序代码]

/*领货时按编号查询*/

void lend_number()

{

v oid lend_menu();

l ong int num;

s truct product *head,*p,*p2;

F ILE *fp;

h ead=lend_list();/*领货链表*/

p=head;p2=head;

print_list(head);/*打印*/

p rintf("\nInput number your want to search!\n");

s canf("%ld",&num);

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

{

printf("\nCan not open file!\n");

}

e lse printf("\nOk!\n");

for(;p!=NULL;)

if(num==p->p_num)

{

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->i n_date.day,p->max_s,p->min_s,p->real_s);

}

p=p2->next;

p2=p;

}

f close(fp);

l end_menu();

}

6-7 领货时以实际库存为查找方式

[分析]

按照实际库存查找所需物资,并写入中转文件,以利于下一次查找!

[流程图]

[程序代码]

/*领货时按实际存量查询*/

void lend_real_size()

{

v oid lend_menu();

l ong int size;

s truct product *head,*p,*p2;

F ILE *fp;

h ead=lend_list();/*领货链表*/

p=head;p2=head;

p rintf("\nInput size your want to search!\n");

s canf("%ld",&size);

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

{

printf("\nCan not open file!\n");

}

e lse printf("\nOk!\n");

for(;p!=NULL;)

{

if(p->real_s==size)

{

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->i n_date.day,p->max_s,p->min_s,p->real_s);

}

p=p2->next;

p2=p;

}

f close(fp);

l end_menu();

}

6-8 更改库存、领货文件

按照查询结果,输入所领货物的数量,程序自动修改库存、领货文件!

[流程图]

[程序代码]

s truct product *head_l,*p1,*p2;

s truct product *head,*p,*p3,*p4;

//int s;

FILE *fp;

l ong int num;

i f((fp=fopen("lend_product.txt","a+"))==NULL)

{

printf("\nCannot open file_lend_product!\n");

}

h ead_l=lend_list();/*领货链表*/

head=build_list();

p1=p2=head_l;

p3=p4=head;

f or(;p1!=NULL;)

{

for(;p3!=NULL;)

{

if(strcmp(p1->p_name,p3->p_name)==0&&p1->p_num==p3->p_num&&p1->in_date.year==p3->in_date.year&&p1->i n_date.month==p3->in_date.month&&p1->in_date.day==p3->in_date.day)

{

p=p3;

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

printf("input the number you want to lend");

scanf("%d",&num);

p3->real_s=p3->real_s-num;

printf("%s %ld %s %d %d %d %ld %ld %ld\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %d %d %d% ld",p->p_name,p->in_date.year,p->in_date.month,p->in_date.day,num);

break;

}

p3=p4->next;

p4=p3;

}

p1=p2->next;

p2=p1;

}

f close(fp);

i f((fp=fopen("product.txt","w"))==NULL)

printf("\nCannot open file!\n");

printf("%s %d %s %d %d %d %d %d %d\n",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_dat e.day,p->max_s,p->min_s,p->real_s);

fprintf(fp,"%s %d %s %d %d %d %d %d %d",p->p_name,p->p_num,p->size,p->in_date.year,p->in_date.month,p->in_d ate.day,p->max_s,p->min_s,p->real_s);

p=p1->next;

p1=p;

}

f close(fp);

}

七、打印模块

打印物资库存清单和领料单!

7-1 打印菜单

提供选择,分别进入打印物资库存清单和领料单!

[流程图]

[程序代码]

/*打印菜单*/

void print_menu()

{

i nt n,w=0;

p rintf("\t\t**************Menu**************\n");

p rintf("\t\t\t(1).Print_list\n\t\t\t(2).Print_lend\n\t\t\t(3).Main_menu\n");

p rintf("\t\t*********************************\n");

p rintf("\ninput your choice:\n");

s canf("%d",&n);

d o

{

if(n>3||n<1)

{

printf("\nWrong!Input agin!\n");

scanf("%d",&n);

仓储物资管理系统-数据库课程设计Word版

11信计2013-2014(一) 《数据库原理及应用》课程设计 设计题目仓储物资管理系统 设计时间2013.12.31---2014.1.4 学生姓名张政伟 学生学号20110402124 所在班级11精算 指导教师董晓玮 徐州工程学院数学与物理科学学院

目录 1 可行性研究 (3) 2 需求分析 (3) 2.1 任务概述 (3) 2.1.1 目标 (3) 2.1.2 运行环境 (3) 2.2 数据需求 (3) 2.2.1 数据流条目 (3) 2.2.2 数据库描述 (4) 2.3 功能需求 (4) 2.3.1 功能划分 (4) 2.3.2 功能描述 (4) 3 概要设计 (4) 4 逻辑设计 (5) 5 界面设计和代码 (7) 5.1登陆界面设计 (7) 5.2注册界面与代码 (9) 5.3修改密码 (10) 5.4系统主界面设计和代码 (11) 5.5查询信息管理界面设计 (13) 5.6添加信息查询界面设计 (14) 5.7出入库信息表设计 (18) 5.8删改信息设计 (24) 6总结 (25) 参考文献 (25)

1 可行性研究 仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。本系统的开发语言采用的是C#,开发环境采用的是Visual studio 2008,数据库采用SQL Server 2005,具有一般系统的数据功能,如数据查询,修改和删除等。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。 2 需求分析 2.1任务概述 经过调查,对仓库管理的业务流程进行分析。库存的变化通常是通过入库、出库操作来进行。系统对每个入库操作均要求用户填写入库单,对每个出库操作均要求用户填写出库单。在出入库操作同时可以进行增加、删除和修改等操作。用户可以随时进行各种查询、统计、报表打印、账目核对等工作。另外,也可以用图表形式来反映查询结果。 2.1.1 目标 (1)界面设计要求尽量友好、美观,应提供登录界面,并考虑用户权限问题; (2)对各种信息应提供录入、修改、删除和查询功能; (3)具有对商品的基本信息和流动信息进行统计的功能; (4)具有数据备份与恢复、帮助等功能; (5)能够新增、修改和删除用户信息; 2.1.2 运行环境 Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。 2.2数据需求 2.2.1 数据流条目 根据我们的进行的调查和分析,系统中各种功能所需的数据项和数据结构如下: ①商品信息:商品编号,商品名,商品单价;

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

软件工程-课程设计-销售管理系统

销售管理系统 一.项目简介 随着计算机技术的迅猛发展,存在于网络的企业销售管理系统将逐步代替传统的管理模式进入企业。为了更高效得完成销售方面的工作,也可以有更多的时间处理更多的别的事务,企业也将摆脱原有的管理形势完全进入信息化管理。销售管理系统在企业的管理过程中起着巨大的作用 二.功能需求 一个销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,客户管理的功能。客户登录销售管理系统进行售后服务查询,销售员可以对销售的产品进行登记,并将销售情况反馈给数据库。为管理的方便性和信息传递的快速性提供了一个很好的平台。系统开发的总体任务是实现售后服务及销售登记自动化。总之,销售管理系统要实现登陆验证、商品销售管理、商品销售报表管理、客户信息管理四大部分。 1.客户对功能的需求 1>查看自己的信息,了解自己近期的购买情况。 2>查看产品的信息,熟悉产品情况。 2>查看售后服务信息。 2.销售人员对功能的需求 1>查看自己的信息,了解自己近期的销售情况。 2>查看产品的信息,熟悉产品情况。 3>登记销售产品。 4>添加新产品,并填写产品相关信息。 3.售后服务人员对功能的需求 1>查看售后服务信息。 2>添加售后服务信息。 三.分析模型时序图 销售管理系统顶层图

1.客户管理 第三层DFD图客户管理子系统

2.销售管理 第三层DFD图销售管理子系统 3.售后服务管理 第三层DFD图售后服务管理子系统

4.客户登录动态时序图为

四. 模块活动图,登录流程图 1.注册、登陆模块 1>模块功能描述 该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成系统的混乱和崩溃,严重影响其安全性和有效性。所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。 2>在模块的详细设计后,便能得出实现该部分的具体流程,如图

物资管理系统课程设计报告

软件工程课程设计报告 题目:企业单位物资管理系统 学生姓名: 学号: 专业班级:网络工程专业11102班 同组姓名: 指导教师:汤海蓉 设计时间: 2014年上学年第18周

目录 一、需求分析 2 1.1需求概述 (3) 1.2系统用户分析 (4) 1.3系统功能分析 (5) 二、概要设计 5 2.1功能模块 (6) 三、详细设计 7

3.1静态建模 (7) 3.2动态建模 (13) 3.2.1时序图 (13) 3.2.2活动图 (20) 四、总结 21

一、需求分析 为了改善物资管理的现状,是的物资管理变得高效、差错少,更能节省人力成本和资金成本,便对物资管理进行信息化研究。目前市面上有许多与物资管理相关的应用软件,有使用ASP技术,有PHP技术,也有JAVA的,但其应用大多针对个别单位或部门的需要,通用性差。结合实际情况,未发现可直接使用物资管理系统,所以提出了设计与实现物资管理系统的需求。 1.1需求概述 物资管理是现代化企业生产经营活动中必不可少的一个重要环节。对企业的物资管理系统提出以下设计需求: 1.实现业务处理和信息传递的计算机集成,一边提高物资管理信息的 及时性、准确性和一致性,避免数据冗余,并实现个部门之间能够快速进行信息交流和信息共享,达到提高工作效率的目的。 2.使物资管理面向生产一线,能够更好为基层单位的管理提供优质服 务和帮助。 3.能够提供物资出入库的日期自动统计功能。 4.实现基本业务数据的综合统计分析,为各级管理人员和业务人员提 供综合分析信息服务,以便更好、更准确地了解实际情况,从而达到以信息来辅助管理、改进管理、提高管理的目的。 另外,在总体性能需求上,为了实现物资管理系统的总体目标,要求本系统还应具备实用性、经济性、可靠性、开放性和灵活性、易操作性、易维护性。

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

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

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

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

客户管理系统网站课程设计

电子商务网站设计说明书课题:“晨光商城”网上购物系统

一、网站目的及功能定位 (一)建站的目的 网上购物现在已经成为年轻人普遍钟爱的购物习惯。网购给大家带来了诸多的便利之处。通过购物网站,顾客可以轻松、快捷地完成商品的购买。在网上店铺可以浏览到各种商品的信息如价格和介绍等,再通过快递公司将商品直接送到买家手中,这样一来就节省了很多买家的时间,给买家带来很大的方便。 (二)确定网站功能 “晨光商城”是一个立足于线下实体商店发展起来的网上综合商城,主要销售玩具、文具、鞋包、香水等各种综合商品及极富有特色的商品,商品主要面向大部分年轻的网民。 (三)达到的作用 通过购物车、订单管理和在线支付等模块即可完成网上商品销售的功能,同时前台显示的页面内容可以通过后台来管理,这样可以合理地分配资源、管理用户,从而实现扩大收益,提高利润的目的。 二、网站内容规划 (一)概要 “晨光商城”网上购物系统的角色和权限可以分为三种: 1、网站浏览用户,这部分群体科实现浏览网站中的商品信息,注册会员,添加商 品建议留言; 2、网站注册会员,注册为会员后即可对网站商品浏览、下订单、留言等操作; 3、网站管理员,管理主要是通过后台管理系统对商品和信息进行管理,从而合理 分配系统资源。 (二)内容 网站名称:晨光商城 网站语言:简体中文 网站logo 网站风格: 网站以粉红的色调为主,可以给人一种温馨、舒服的感觉和视觉冲击。网站整体较为简

洁,主页面主要就是商品的分类和简介,导航清晰,页面简单是本网站最大的亮点。 (三)、栏目设计 (*网站总体的栏目结构图-导航条) 网站首页:网站首页是为广大的用户设计的进入该网站首先看到的界面,包括导航栏、相应的介绍,总的来说是本网站的一个总体构架和地图。 特价商品:本版块主要是提供显示一些特价的商品的相关信息。

数据库课程设计---库存物资管理系统后台数据库

大型数据库课程设计 设计报告 题目:库存物资管理系统后台数据库学号: 学生姓名: 指导教师: 提交时间: 2013-11-22

目录 库存物资管理系统后台数据库..................................................................... 错误!未定义书签。第1章进行需求分析,编写数据字典....................................................... 错误!未定义书签。 1.1系统功能要求设计:...................................................................... 错误!未定义书签。 1.2模块设计.......................................................................................... 错误!未定义书签。 1.3数据字典.......................................................................................... 错误!未定义书签。第2章面向对象分析和设计..................................................................... 错误!未定义书签。第3章逻辑结构设计................................................................................. 错误!未定义书签。 3.1类和对象向关系模式转换.............................................................. 错误!未定义书签。第4章数据库物理结构设计..................................................................... 错误!未定义书签。 4.1存取方法设计.................................................................................. 错误!未定义书签。 4.2存储结构设计.................................................................................. 错误!未定义书签。 4.3物理设计.......................................................................................... 错误!未定义书签。第5章数据完整性设计............................................................................... 错误!未定义书签。 5.1主键及索引...................................................................................... 错误!未定义书签。 表名......................................................................................................... 错误!未定义书签。 5.2完整性约束的说明.......................................................................... 错误!未定义书签。 5.3 check约束...................................................................................... 错误!未定义书签。 5.4 Default默认值.............................................................................. 错误!未定义书签。 5.5 触发器设计..................................................................................... 错误!未定义书签。第6章数据库视图的设计........................................................................... 错误!未定义书签。第7章存储过程设计................................................................................. 错误!未定义书签。总结................................................................................................................. 错误!未定义书签。参考文献:..................................................................................................... 错误!未定义书签。

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

库存管理系统课程设计

库存管理系统课程设计 一、需求分析 (2) 1.1 编写目的: (2) 1.2 项目背景: (3) 1.3 系统使用对象: (3) 1.4 功能需求: (4) 1.4.1 业务流程图: (4) 1.4.2 功能模块图: (4) 1.4.3 功能介绍: (5) 1.4.4 问题域描述: (6) 1.5 性能要求: (6) 1.6 运行环境: (6) 二、系统详细设计 (6) 2.1系统总体设计 (7) 2.1.1 运行环境 (7) 2.1.2 系统流程 (7) 2.1.3 系统结构 (8) 2.2系统接口的概要设计 (9) 2.2.1 用户接口 (9) 2.3 数据库概要设计 (10)

2.3.1 物理结构设计 (11) 三、系统实现 (12) 3.1 系统开发环境 (12) 3.2 系统实现 (12) 3.2.1 客户端系统实现 (12) 一、需求分析 1.1 编写目的: 库存管理工作如由人工完成,主要依靠个人经验和厚重的资料簿,查询工作繁琐而且质量不高,容易出错。如果利用计算机的高速计算能力和广泛的普及应用,则能利用判断条件,更快地找出所要

查询的库存产品。库存管理系统是一套对货品入库、出库、库存进行全面管理的系统。 1.2 项目背景: 由于市场竞争的需要,如何吸引和留住人才,激发员工的创造行、工作责任感和工作热情已经成为关系企业兴衰的重要因素,人才已成为企业最重要的资产之一。“公正、公平、合理”的企业管理理念和企业管理水平的提高,是社会对库存管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使的三代库存管理系统的出现才成为必然。库存管理系统的特点是从物品管理的角度出发,用集中的数据库将几乎所有与物品相关的数据统一管理起来,形成了集成的信息源。有好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得物品管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业物品规划和政策。 企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 1.3系统使用对象:

客户信息管理系统 课程设计1.doc

客户信息管理系统课程设计1 学年设计报告 设计题目简单客户信息管理系统的设计与实现 作者姓名林燕、丁楠楠、赵长永、陈勇祥、孙青、张书生所学专业网络工程 指导教师王汇彬 2011年8 月23 日 学年设计任务书 目录 摘要:(1) 1绪论(1) 1.1 研究背景(1) 1.2主要工作(1) 1.3本文结构(1) 2 相关知识(2) 2.1客户信息管理的介绍(2) 2.1.1客户信息管理系统的定义及性质(2)

2.1.2客户信息管理系统的发展(2) 3 需求分析(2) 3.1系统概述(2) 3.2 功能分析(2) 3.2.1管理系统...................................... 错误!未定义书签。 3.2.2 录入、删除、修改(2) 3.2.3 查询、浏览、排序(2) 3.2.4退出系统(3) 4总体设计(3) 4.1开发与设计的总体思想(3) 4.2 系统功能结构图(3) 5 详细设计(3) 5.1系统化分析(3) 5.2主函数及主界面(3) 5.3 管理服务(4) 5.4添加模块、删除模块、修改模块(4) 5.5 查询模块、浏览模块、排序模块(7)

5.6 退出系统(10) 6总结(10) 参考文献(10) 附录(11) 简单客户信息管理的设计与实现 摘要:随着公司业务规模的不断扩大、企业客户的增多,客户信息管理单靠传统的手工方式已无法满足企业发展的需要。为提高企业的管理水平和办事效率,企业提出了实现管理信息化的要求,以适应企业发展的需要。本设计针对企业的实际需求,制定了客户信息管理系统,基本实现了客户基本信息的输入、修改、查询等功能。通过该系统,使的客户管理工作系统化、规范化、自动化,从而达到了提高客户管理工作效率的目的。采用的开发工具是Microsoft Visual Studio 6.0。客户管理系统能够对客户基础信息、客户档案浏览、客户资料查询及客户资料统计等进行管理。及时了解各个环节中信息的变更。系统的总体任务是使管理人员可以轻松快捷地完成客户管理的任务。有利于提高管理效率。支持运行的环境:Microsoft Window2000/XP。 关键词:客户信息管理;查询;C语言 1绪论 1.1 研究背景 随着计算机和网络技术的快速发展和普及,信息已近成为了

物资管理系统 C语言课程设计

物资管理系统程序设计 本程序在VC++ 6.0上运行无误!!! 一、题目要求: 主程序中,应提供文字交互菜单界面。要求包含以下几个功能模块: (1).信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息的录入,并将其存放在指定的文件(product.txt)。 (2).信息查找模块search():采用如下方式进行查找,若找到,则输出该物资的相关信息;否则,输出提示信息,如“NO FOUND!!!”。 1).按产品信息查询; 2).按进货信息查询并统计(统计某年某月进的某种产品数量,产品种类); 3).按产品名称和规模查询并统计; (3).新物资入库模块:在原文件插入新物资信息。 (4).领料模块:查找所领取物资信息,若满足领料的要求,请登记领取物资名称,领料的日期,所领数量(领料后对库存修改)。 (5).打印功能模块: 1).打印领料单; 2).打印物资库存清单。 二、需求分析 (1)、库存和领料信息以文本文件的方式存放在两个文件里,提供相应的输入输出操作。 (2)、提供库存几种方式的查找。 (3)、提供库存的建立、插入。 (4)、能查找满足领货要求的信息,并修改库存、领货文本文件。 三、总体设计 根据要求可以将系统设计为七大模块。 四、详细设计 1、主函数 主函数只调用主菜单函数。

//********主函数******** void menu() { int n,w=0; printf("\t\t**************Menu**************\n"); printf("\ninput your choice:\n"); scanf("%d",&n); do { if(n>6||n<1) { printf("\nWrong!Input agin!\n"); scanf("%d",&n); } else w=1; }while(w!=1); switch(n) { case 1:input();break; 输入 case 2:search_menu();break; 查找菜单流程图 case 3:insert();break; 插入 case 4:lend();break; 领货 case 5:print_menu();break; 打印菜单 case 6:exit(0); 退出 } } 3、输入模块 [数据结构] 所输入的数据在磁盘上以文本文件的形式保存,名字为product.txt! 在程序中以链表的形式储存!结构体如下:struct date /*日期结构体*/ { int year; int month; int day; }; struct product /*库存货物结构体*/ { char p_name[20]; /*货物名称*/ long int p_num; /*物资编号 char size[4]; /*物资规格*/ struct date in_date; /*进货日期*/ long int max_s; /*最大库存量*/ long int min_s; /*最小库存量*/ long int real_s; /*实际库存量*/

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

CRM客户关系管理系统数据库课程设计报告

湖南科技大学计算机科学与工程学院 数据库原理课程设计报告 题目:CRM客户关系管理系统 姓名: 学号: 指导老师: 完成时间: 2011.12.15

一.课程设计目的 1.熟悉公司软件开发的流程和管理模式; 2.培养团队的配合、协调、合作能力; 3.学习建模工具Powerdesigner的使用; 4.更进一步地学习和使用数据库知识; 5.学习将数据库知识结合Java语言并运用到系统软件开发。 二.实验原理 按照数据库设计的4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。需求分析采用自顶向下,概念模型设计时采用自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法建立数据库,然后建立数据库存储过程、视图、触发器等SQL程序,最后通过Java中的Class.forName、Connection建立连接,用CallableStatement语句调用数据库的存储过程及读取数据库的内容,用SWT插件进行设计数据库用户界面。 三.实验类容 按照老师的安排我们进行了分组,我们这一组有5个人,每个组员负责这次数据库系统设计的一部分,我们选择的是CRM客户关系管理系统作为数据库应用项目 1、总体规划 由于我们做的是一个客户关系管理系统,软件的开发按照需求分析,

数据设计,程序设计,测试等流程。每一个阶段我们都有阶段性完成标志,从而判断我们完成上一阶段可以进入下一阶段了。同时我们深刻认识到每一阶段的效用都不能忽略,系统的成功也不单单取决于某一部分,所以我们每一阶段都配有一个负责人,负责监督以确保本阶段的按时完成和完成质量。人员上做如下分工:***(需求分析),***(数据库设计),***(客户端程序),***(界面),***(测试)。凡事预则立,我们拟定一个计划,这样便于灵活控制整个项目的完成进度。由于本次项目的开发是一次模拟开发,没有真实的客户供我们调研,所以我们的需求素材来自三方面:1.小组商讨;2.网上原始素材;3.老师提供的相关信息; 4.目前已有的相似软件和资料。 2. 需求说明 2.1.0 部门信息 在本系统中,部门信息主要分为:部门编号,部门名称,部门介绍三个部分,通过部门介绍可以清楚的知道部门的服务范围,部门服务程度好坏,通过部门名称对应唯一的一个部门编号。 2.2.1 查看员工信息 为员工提供包括密码、自我介绍、联系方式等个人信息维护的功能。 通过查看员工信息,可以清楚地知道员工的个人编号,部门编号,员工的个人年龄,性别,所在地址,联系方式,员工的职务等信息。通过员工的部门编号,我们还可以知道员工所在部门。 2.1.3 员工信息维护 员工利用该功能可以维护系统允许个人维护的信息 管理员登录员工查询页面后,我们可以轻松的添加新的员工,对老员工信息的修改,可以对退出企业的员工进行删除操作。 2.1.4 客户信息查询 为客户提供包括密码、自我信息、联系方式等个人信息查询维护的功能。 通过查看客户信息,可以看到客户的编号,客户姓名,客户所在区域,客户性别,所住地址,客户所在企业的职务,邮政编号,客户的联系方式;客户生日,客户级别等信息。通过员工编号可以知道该客户所有与企业的订单及交易记录2.1.5 客户信息维护

相关文档
最新文档