C语言仓库管理系统

C语言仓库管理系统
C语言仓库管理系统

题目是:

设计一个简单的仓储管理系统,要求具有基本的操作功能:插入(添加)、删除、查找、修改和统计。

业务简介

1.采购人员将采购物资清单交与财务人员,其中包含一些必要的数据.财务人员据此作帐,将数据记入,并开一张票据,交与采购人员实现物资入库.

2.当有物资卖出时,即物资出库,财务人员会查阅目前此类货物的库存情况,如此类货物还有存量,且有不同的出价时,财务人员会根据情况,调出相应价的货物.

由于市场行情时常波动,管理人员可能会据此对物资做出相应的调价.

3.当货物出现问题,需要退给供货商,并把退还的货物名,数量,金额,记录下来.

4.到一定时期的时候,例如月底,年终,需要将各种物资的出入库,库存金额整理出来,以便为管理人员提供详尽,可靠的数据,为下一步制定目标方案提供依据.

2、1数据结构

用4个结构数组(或链表)来存储下述4类信息,每类信息的每条记录用结构类型自定义:1.商品信息:商品编号、商品名、型号/规格、数量、进货价、销售价

2.入库信息:入库编号、商品编号、入库商品名、入库数量、入库价格、总价

3.出库信息:出库编号、商品编号、出库商品名、出库数量、出库价格、总价

4.退货信息:退货编号、商品编号、退还货物名、退货数量、退货价格、总价

2、2 设计要求

5. 对以上每类信息建立数据结构

6. 对以上每类信息进行插入操作

7. 对以上每类信息进行删除操作

8. 对以上每类信息进行修改操作

9. 对以上每类信息进行查找操作(查找关键字用下划线标出)

10. 数据统计;

i. 统计入库商品的总数及总价:

ii. 统计出库商品的总数及总价:

iii. 统计仓库中现有商品的总数及总价格:

#include

#include

struct product

{

char p_num[12];

char name[12];

char spec[12];

int amount;

int price;

int s_price;

struct product *next;

};

struct product *head;

struct in_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct in_product *next;

};

struct in_product *ihead;

struct out_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct out_product *next;

};

struct out_product *ohead;

struct quit_product

{

char num[12];

char p_num[12];

char name[12];

int amount;

int price;

int t_price;

struct quit_product *next;

};

struct quit_product *qhead;

int init()

{

head=ihead=ohead=qhead=NULL; printf("0: Quit\n");

printf("1: Enter the information of in product\n");

printf("2: Enter the information of out product\n");

printf("3: Enter the information of quit product\n");

printf("4: Total the information of product\n");

}

int menu()

{

printf("1:insert data\n");

printf("2:delete data\n");

printf("3:modify data\n");

printf("4:select data\n");

printf("Other to quit\n");

}

int menu2()

{

printf("0: Quit\n");

printf("1: Enter the information of in product\n");

printf("2: Enter the information of out product\n");

printf("3: Enter the information of quit product\n");

printf("4: Total the information of product\n");

}

int insert_product()

{

struct product * p1,* p;

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

p=head;

if (p==NULL)/*开始没有数据*/

{

printf("Enter the data of product\n");

printf("Include the spbh,name,style,num,price,sale_price of product\n");

scanf("%s%s%s%d%d%d",

&p1->p_num,&p1->name,&p1->spec,&p1->amount,&p1->price,&p1->s_price); head=p1;

head->next=NULL;

return 0;

}

while(p->next!=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); p1->next=NULL;

}

int in_insert()

{

struct in_product * p1,* p;

p1=(struct in_product *)malloc(sizeof(struct in_product));

p=ihead;

if (p==NULL)/*开始没有数据*/

{

printf("Enter the data of in product\n");

printf("Include the rkbh,spbh,name,number,price,total_price\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); ihead=p1;

ihead->next=NULL;

return 0;

}

while(p->next!=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); p1->next=NULL;

}

int in_modify()

{

char m_num[12];

struct in_product * p;

p=ihead;

printf("Enter the modify num\n");

scanf("%s",&m_num);

if (p==NULL)/*开始没有数据*/

{

printf("Sorry! No data can be found\n");

return 0;

}

while(p!=NULL)

{

if (strcmp(p->num,m_num)==0)

{

printf("Enter the new data without num\n");

scanf("%s%s%d%d%d",

&p->p_num,&p->name,&p->amount,&p->price,&p->t_price); printf("One data had modified\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int in_select()

{

char s_num[12];

struct in_product * p;

p=ihead;

printf("Enter the select num\n");

scanf("%s",&s_num);

while(p!=NULL)

{

if (strcmp(p->num,s_num)==0)

{

printf("The data you want is:\n");

printf(" %s %s %s %d %d %d\n",

p->num,p->p_num,p->name,p->amount,p->price,p->t_price); return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int in_delete()

{

char d_num[12];

struct in_product * p1,* p;

p=ihead;

printf("Enter the delete num\n");

scanf("%s",&d_num);

if (p==NULL)/*开始没有数据*/

{

printf("No data can be found\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next==NULL)/*链表只有一个数据,且是要删除的*/ {

ihead=NULL;

printf("One data has been deleted\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next!=NULL)/*要删除的数据在链表的头上*/

{

ihead=ihead->next;

printf("One data has been deleted\n");

return 0;

}

while(p->next!=NULL)

{

p1=p->next;

if (strcmp(p1->num,d_num)==0)

{

p->next=p1->next;

printf("One data has been deleted\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int out_insert()

{

struct out_product * p1,* p;

p1=(struct out_product *)malloc(sizeof(struct out_product));

p=ohead;

if (p==NULL)/*开始没有数据*/

{

printf("Enter the data of out product\n");

printf("Include the ckbh,spbh,name,number,price,total_price\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price);

ohead=p1;

ohead->next=NULL;

return 0;

}

while(p->next!=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); p1->next=NULL;

}

int out_modify()

{

char m_num[12];

struct out_product * p;

p=ohead;

printf("Enter the modify num\n");

scanf("%s",&m_num);

if (p==NULL)/*开始没有数据*/

{

printf("Sorry! No data can be found\n");

return 0;

}

while(p!=NULL)

{

if (strcmp(p->num,m_num)==0)

{

printf("Enter the new data without num\n");

scanf("%s%s%d%d%d",

&p->p_num,&p->name,&p->amount,&p->price,&p->t_price);

printf("One data had modified\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int out_select()

{

char s_num[12];

struct out_product * p;

p=ohead;

printf("Enter the select num\n");

scanf("%s",&s_num);

while(p!=NULL)

{

if (strcmp(s_num,p->num)==0)

{

printf("The data you want is:\n");

printf(" %s %s %s %d %d %d\n",

p->num,p->p_num,p->name,p->amount,p->price,p->t_price);

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int out_delete()

{

char d_num[12];

struct out_product * p1,* p;

p=ohead;

printf("Enter the delete num\n");

scanf("%s",&d_num);

if (p==NULL)/*开始没有数据*/

{

printf("No data can be found\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next==NULL)/*链表只有一个数据,且是要删除的*/ {

ohead=NULL;

printf("One data has been deleted\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next!=NULL)/*要删除的数据在链表的头上*/

{

ohead=ohead->next;

printf("One data has been deleted\n");

return 0;

}

while(p->next!=NULL)

{

p1=p->next;

if (strcmp(p1->num,d_num)==0)

{

p->next=p1->next;

printf("One data has been deleted\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int quit_insert()

{

struct quit_product * p1,* p;

p1=(struct quit_product *)malloc(sizeof(struct quit_product));

p=qhead;

if (p==NULL)/*开始没有数据*/

{

printf("Enter the data of quit product\n");

printf("Include the thbh,spbh,name,number,price,total_price\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); qhead=p1;

qhead->next=NULL;

return 0;

}

while(p->next!=NULL)/*把指针移到链表末端,在链表末端插入数据*/

p=p->next;

p->next=p1;

printf("Enter the data\n");

scanf("%s%s%s%d%d%d",

&p1->num,&p1->p_num,&p1->name,&p1->amount,&p1->price,&p1->t_price); p1->next=NULL;

}

int quit_modify()

{

char m_num[12];

struct quit_product * p;

p=qhead;

printf("Enter the modify num\n");

scanf("%s",&m_num);

if (p==NULL)/*开始没有数据*/

{

printf("Sorry! No data can be found\n");

return 0;

}

while(p!=NULL)

{

if (strcmp(p->num,m_num)==0)

{

printf("Enter the new data without num\n");

scanf("%s%s%d%d%d",

&p->p_num,&p->name,&p->amount,&p->price,&p->t_price); printf("One data had modified\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int quit_select()

{

char s_num[12];

struct quit_product * p;

p=qhead;

printf("Enter the select num\n");

scanf("%s",&s_num);

while(p!=NULL)

{

if (strcmp(s_num,p->num)==0)

{

printf("The data you want is:\n");

printf(" %s %s %s %d %d %d\n",

p->num,p->p_num,p->name,p->amount,p->price,p->t_price); return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int quit_delete()

{

char d_num[12];

struct quit_product * p1,* p;

p=qhead;

printf("Enter the delete num\n");

scanf("%s",&d_num);

if (p==NULL)/*开始没有数据*/

{

printf("No data can be found\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next==NULL)/*链表只有一个数据,且是要删除的*/ {

qhead=NULL;

printf("One data has been deleted\n");

return 0;

}

if (strcmp(p->num,d_num)==0 && p->next!=NULL)/*要删除的数据在链表的头上*/

{

qhead=qhead->next;

printf("One data has been deleted\n");

return 0;

}

while(p->next!=NULL)

{

p1=p->next;

if (strcmp(p1->num,d_num)==0)

{

p->next=p1->next;

printf("One data has been deleted\n");

return 0;

}

p=p->next;

}

printf("Sorry! No num has found\n");

}

int total()

{

int in_num=0,in_price=0;

int out_num=0,out_price=0;

int num=0,price=0;

struct in_product *ip;

struct out_product *op;

struct product *p;

ip=ihead;

while(ip!=NULL)

{

in_num+=ip->amount;

in_price+=ip->t_price;

ip=ip->next;

}

op=ohead;

while(op!=NULL)

{

out_num+=op->amount;

out_price+=op->t_price;

op=op->next;

}

p=head;

while(p!=NULL)

{

num+=p->amount;

price+=p->s_price;

p=p->next;

}

printf("The in product's total number and total price is:\n"); printf("%d %d\n",in_num,in_price);

printf("The out product's total number and total price is:\n"); printf("%d %d\n",out_num,out_price);

printf("The product's total number and total price is:\n"); printf("%d %d\n",num,price);

}

int in_case()

{

int choice;

printf("The information of in product:\n");

while(1)

{

printf("Enter the choice\n");

scanf("%d",&choice);

switch(choice)

{

case 1: in_insert();insert_product();break;

case 2: in_delete();break;

case 3: in_modify();break;

case 4: in_select();break;

default: return 0;

}

menu();

}

}

int out_case()

{

int choice;

printf("The information of out product:\n");

while(1)

{

printf("Enter the choice\n");

scanf("%d",&choice);

switch(choice)

{

case 1: out_insert();break;

case 2: out_delete();break;

case 3: out_modify();break;

case 4: out_select();break;

default:return 0;

}

menu();

}

}

int quit_case()

{

int choice;

printf("The information of quit product:\n"); while(1)

{

printf("Enter the choice\n");

scanf("%d",&choice);

switch(choice)

{

case 1: quit_insert();break;

case 2: quit_delete();break;

case 3: quit_modify();break;

case 4: quit_select();break;

default: return 0;

}

menu();

}

}

int main()

{

int choice;

init();

while(1)

{

scanf("%d",&choice);

switch(choice)

{

case 0: return 0;

case 1: menu();in_case(); break; case 2: menu();out_case();break; case 3: menu();quit_case();break; case 4:total();break;

}

menu2();

}

}

仓库管理系统代码

系统主界面(frmMain.cs) using System; using System.Collections.Generic; using https://www.360docs.net/doc/9d16412565.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; namespace warehouse { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e) { tsslUser.Text = "操作用户权限:" + frmLogin.M_str_right.ToString().Trim(); tsslDate.Text = DateTime.Today.ToLongDateString(); tsslTime.Text = "登录系统时间:" + DateTime.Now.ToShortTimeString(); if (frmLogin.M_str_right.ToString().Trim() == "普通用户") { 入库管理ToolStripMenuItem.Enabled = false; 出库管理ToolStripMenuItem.Enabled = false; 借货还货ToolStripMenuItem.Enabled = false; 供货商设置ToolStripMenuItem.Enabled = false; 货物档案设置ToolStripMenuItem.Enabled = false; 仓库设置ToolStripMenuItem.Enabled = false; 权限设置ToolStripMenuItem.Enabled = false; 用户管理ToolStripMenuItem.Enabled = false; btnIS.Enabled = false; btnOS.Enabled = false; btnBR.Enabled = false; btnPI.Enabled = false; btnGI.Enabled = false; btnSI.Enabled = false; btnRI.Enabled = false; btnUM.Enabled = false; } } private void btnIS_Click(object sender, EventArgs e)//入库管理

仓库管理系统c语言

精心整理 作品名称 开发者: 一、系统背景: 本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷 数 ·在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作·新建数据并同时对其处理 ·修改数据 ·插入数据 ·删除数据

·查找数据 ·查看数据 ·数据存档 ·修改密码 三、系统结构图 { float win; float percent; struct shop *next; }; int n=0;

void main(void) { void auto1(struct shop **h_p); int menu1(struct shop **h_p); void print1(void); int data_exi(struct shop **h_p); void load(struct shop **h_p); void save(struct shop *head); struct shop *addbuild(struct shop **h_p); void sort0(struct shop **h_p);

int search1(struct shop **h_p,char a[30]); void sort1(struct shop **h_p); void sort2(struct shop **h_p); void sort3(struct shop **h_p); void print3(void); { } printf("谢谢使用^_^"); getch(); } int menu1(struct shop **h_p) {

C语言课程设计-学生成绩管理系统-完整版

#include<> #include<> #include<> #include<> /* strcmp函数原型包含*/ #define N 100 /*定义最大学生人数为100*/ struct student /*学生结构体定义*/ { char no[11]; /*学号,10位*/ char name[10];/*姓名,3个汉字*/ char grade[10];/*班级*/ char pro[20];/*专业*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num; void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/ void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/ void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/ void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/ void stop() /*停顿函数(公共函数)*/ { printf("Press Any Key To Continue...\n"); getchar(); } void output() /*输出学生成绩函数(公共函数)*/ { int i,j;

仓库管理系统VBAccess源代码

仓库管理系统 V B A c c e s s源代码 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

仓库管理系统 项目的建立 这是本人利用闲暇之余在上制作的一个简陋的类库管系统,现图文结合的方式一步一步展现制作过程。由于本人是个初学者,里面存在很多不足之处望得到高手们的指导。此文可作供初学者们学习交流。作者联系方式:E-mail 最终运行效果 打开软件出现如下登录界面 输入系统预设用户名及密码( 1 1 )单击“登录”或单击“新用户”添加新用户进入如下主界面:

建立工程 1、创建标准EXE 2、按“打开”

3、添加MDI窗体——打开 4、编辑菜单 在空白处右击——点击“菜单编辑器”

在“标题”里输入“系统”,在“名称”里输入“Sys”(注意此处不能为汉字) 点击“下一个”再点击“” “确定”退到MDI界面点击“系统”——“退出”如下,然后编写代码。 代码如下: Private Sub Exit_Click() End End Sub

数据库的建立 中可以创建Access数据库。如下建立一个“用户表”的数据库,用来存放用户信息及一些出入库管理信息。如下图单击“外接程序” 再单击“可视化数据管理器”出现如图 点击“文件”——“新建”——“Microsoft Access”——“Version MDB”输入数据库名,“保存”出现如下图 在数据窗口中右击——“新建表”,最终如下 往数据表里添加数据在这里就不罗嗦了,请查阅相关书籍。 登录界面窗口的建立 最终界面如下:

C语言程序设计学生成绩管理系统实验报告

计算机学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业:软件工程 指导老师: 班级: 姓名: 学号: 座号: 2011-6-15

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验内容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、姓名及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单) 。 五.数据结构设计描述: ↓ ↓

六.各变量的定义和作用 int num; /*定义学号,变量为整型*/ char name; /*定义姓名,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会

C语言实训题目

2011秋季C语言实训题目 1.学生成绩管理系统 功能要求: (1)可以从文件导入或录入多名学生的多门课程的学习成绩; (2)完成按姓名查找学生记录,并显示; (3)排序功能:按学生平均成绩进行排序; (4)插入功能:按平均成绩高低插入一条学生记录; (5)要求使用结构体,录入结果存放到文件; 显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 2.个人通讯录 功能需求: (1)可以对多名人物的信息进行输入; (2)显示所有的记录信息,若无记录,则给出提示信息; (3)可以按姓名查询该记录的有关信息; (4)可以按姓名对任意一种记录信息进行删除; (5)可以任意修改记录信息 (6)通过文件储存所输入的记录; (7)可以通过一个文件读入已有的通信录记录; 显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 3. 火车订票系统 功能要求: (1)列车原始信息从文件导入或从控制台录入,包括车次、票数等; (2)可以按车次进行列车信息查询; (3)客户对某一天订票,订票成功后,当日的票数需要被更改; (4)客户退票; (5)要求使用结构体; 显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 4、万年历系统 功能要求: (1)从2000年开始,用户输入年份与月份,将显示出该年该月份的日历,对应的星期。

(2)注意闰年情况 显示格式要求如下: (1)第一行显示月份(中英文都可以) (2)下一行显示星期,从周日到周六,中英文都可以 (3)下一行开始显示日期从1号开始,并按其是星期几实际情况与上面的星期数垂直对齐(4)程序输出菜单,用户按照提示操作,最终得到计算结果。 5、积分的实现 功能要求: (1)使用复合梯形公式求解函数f=1+x2、f=log(1+x)以及f=1/(1+x2)三个函数的定积分。(2)积分上下限及步长由C语言函数参数传递。 (3)用户输入函数编号,上下限和步长,程序输入结果。 显示要求: 程序输出菜单,用户按照提示操作,最终得到计算结果。 6、矩阵的运算 功能要求: 使用三个C语言函数分别实现两个矩阵的加、减和相乘功能。结果存放在第三个矩阵中。并编写程序验证三个函数功能。 每个函数的参数可选择(1):二位数组名,行数,列数 (2)指针变量名,行数,列数 返回值:用户自定义的运算状态,正常或其他异常情况。 显示要求: 程序输出菜单,用户按照提示操作,最终得到计算结果。 7. 链表的实现 编制一个程序,实现下面的要求 1. 程序启动后显示主菜单,包括下面的选项: 1. 链表查看 2. 插入节点 3. 删除节点 4. 链表存盘 5. 从文件调入 6. 退出 按下相应的数字键后进入各自的子功能 2. 每个子功能执行完毕后,返回并显示主菜单 3. 功能说明: 1. 链表查看:从头结点向后依次显示各结点中保存的数据 2. 插入节点:创建一个结点,输入新结点的数据,以及要插入的位置,将新结点插 入到链表中。 3. 删除节点:输入要删除的数据,从头结点依次查找,找到拥有该数据的结点后,

仓库管理系统源代码

仓库管理系统源代码 #include #include #include #include #include struct cangku { int num; char name[20]; char introdution[50]; float square; }; typedef struct cangku Cangku; int Input(Cangku t[]); void List(Cangku t[],int n); void SearchOnName(Cangku t[],int n); int DeleteRecord(Cangku t[],int n); int AlterRecord(Cangku t[],int n); int AddRecord(Cangku t[],int n); void SortOnName(Cangku t[],int n); void SortOnSquare(Cangku t[],int n); void SaveRecord(Cangku t[],int n); int LoadRecord(Cangku t[]); int LoadRecord1(Cangku t[]); void Save(Cangku t[],int n); void Load(Cangku t[],int n); void Load1(Cangku t[]); int Menu_select(); void main()

{ Cangku ck[50]; int i,l,length,w=1; int q[4]={5,2,1,0}; system("cls"); printf("请输入第1个密码:\n"); for (i=0;i<4;i++) { scanf("%d",&l); system("cls"); if(l==q[i]) printf("正确,继续输入第%d个密码:.\n",i+2); else { w=0; printf ("输入错误!\n"); break; } } while(w) { switch(Menu_select()) { case 1: length=Input(ck);

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

仓库管理系统(c语言)

仓库管理系统(c语言)

作品名称 开发者: 一、系统背景: 本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷及时准确的调整货物的仓储量达到最合理化。可以使店主不失效率的节省大量精力用于其他方面符合当今社会的商业形式而且本软件体积小操作简单是管理仓库的不二选择 二、系统简介: 设计亮点: ◆三级菜单使操作更简便明了 ◆密码操作能有效保证客户信息的安全性 ◆独特的dos命令调用使信息存储的实体属性为隐藏且无扩展名大大增大了安全系数 ◆数据结构为链表摆脱了数据数量的限制 ◆提供三种查看模式并会标出排名 ◆退出店主模式时会提示是否保存若选择yes着进行保存操作 基本功能: ·在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作·新建数据并同时对其处理 ·修改数据 ·插入数据 ·删除数据

·查找数据 ·查看数据 ·数据存档 ·修改密码 三、系统结构图 #define LEN sizeof(struct shop) #include #include #include #include struct shop { char name[30]; float price_in; float price_out; int num_in; int num_now; int num_sold; float win; float percent; struct shop *next; };

void main(void) { void auto1(struct shop **h_p); int menu1(struct shop **h_p); void print1(void); void assistant(struct shop *head); int password(void); int menu2(struct shop **h_p); void print2(void); void creat(struct shop **h_p); void rewrite(struct shop **h_p); void insert(struct shop **h_p); void deleat(struct shop **h_p); void search(struct shop **h_p); void printall(struct shop **h_p); void save(struct shop *head); void password_set(void); int password_exi(struct shop **h_p); int data_exi(struct shop **h_p); void load(struct shop **h_p); void save(struct shop *head); struct shop *addbuild(struct shop **h_p); void sort0(struct shop **h_p); int search1(struct shop **h_p,char a[30]); void sort1(struct shop **h_p); void sort2(struct shop **h_p); void sort3(struct shop **h_p); void print3(void); void password_create(void); struct shop *addbuild(struct shop **h_p); int a; struct shop *head,**h_p; head=NULL; h_p=&head; auto1(h_p); do { a=menu1(h_p); } while(a!=3); system("cls"); printf("谢谢使用^_^");

仓库管理系统数据库设计

精心整理仓库管理系统数据库设计 班级: 学号、姓名: 学号、姓名: 1. (1

(2)分析设计顶层数据流图 由于在搜寻指定货物时会因货物量大而加重任务量,在对一些货物及人员就行更新时也会因为复杂而手忙脚乱。这样在交易活动中不断地产生新数据,使得信息量逐渐加大。但使用本系统可以很方便的对所需信息进行查询,也可适时的利用插入功能对相关数据进行更新,这样及时、便捷、高效的得到查询统计结果。因此,设计顶层数据流图如图1所示: ( 进

1 据流图 (4)制定整理数据字典 数据流图反应了数据和处理之间的关系,数据字典是系统中各类数据描述的集合。通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。 数据项数据项含义数据类型宽度与其他数据项的 逻辑关系 可否为 空值 是否为主(P)/ 外(F)键 货物编号char 8 NO YES(P)

数据项数据项含义数据类型宽度与其他数据项的 逻辑关系 可否为 空值 是否为主(P)/ 外(F)键 货物名称char 8 NO 货物类别char 8 NO 货物数量int 8 NO 备注char 12 客户编号char 8 NO 客户名称char 4 NO 编号char 18 NO 货物价格int 12 NO 2. (1

3 出库单联系转换为出库单关系(编号,货物编号,仓库编号,客户编号,货物价格,出库数量,出库日期) (2)将CDM转换成PDM 利用PowerDesigner的“Generate Physical Data Model”工具将CDM转换成PDM,如图6所示。

图6 仓库管理PDM图 、数据库实施与维护 (1)仓库管理 及时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,仓库管理员要经常与入库经理、出库经理和货物经理核实货物库存信息,也应该经常提供库存报警数据。 CREATE TABLE 表名 (2)入库管理 各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。 (3)出库管理 仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出克,以便及时登记相应的产品出库流水帐。 5、可行性分析 (1)技术可行性:

仓库管理系统c语言

作品名称 开发者: 一、系统背景: 本软件能减轻对货物数目管理及价格盈亏等信息处理的工作量以便能快捷及时准确的调整货物的仓储量达到最合理化。可以使店主不失效率的节省大量精力用于其他方面符合当今社会的商业形式而且本软件体积小操作简单是管理仓库的不二选择 二、系统简介: 设计亮点: ◆三级菜单使操作更简便明了 ◆密码操作能有效保证客户信息的安全性 ◆独特的dos命令调用使信息存储的实体属性为隐藏且无扩展名大大增大了安全系数 ◆数据结构为链表摆脱了数据数量的限制 ◆提供三种查看模式并会标出排名 ◆退出店主模式时会提示是否保存若选择yes着进行保存操作 基本功能: ·在员工模式下可输入卖出货物的名称和数目程序自动在后台进行一系列的操作 ·新建数据并同时对其处理 ·修改数据 ·插入数据 ·删除数据

·查找数据 ·查看数据 ·数据存档 ·修改密码 三、系统结构图 #define LEN sizeof(struct shop) #include<> #include<> #include<> #include<> struct shop { char name[30]; float price_in;

float price_out; int num_in; int num_now; int num_sold; float win; float percent; struct shop *next; }; int n=0; void main(void) { void auto1(struct shop **h_p); int menu1(struct shop **h_p); void print1(void); void assistant(struct shop *head); int password(void); int menu2(struct shop **h_p); void print2(void); void creat(struct shop **h_p); void rewrite(struct shop **h_p); void insert(struct shop **h_p); void deleat(struct shop **h_p);

仓库管理系统(VB+Access+源代码)

精心整理 仓库管理系统 项目的建立 这是本人利用闲暇之余在VB6.0上制作的一个简陋的类库管系统,现图文结合的方式一步一步展现制作过程。由于本人是个初学者,里面存在很多不足之处望得到高手们的指导。此文可作供初学者们学习交流。作者联系方式:E-mail 最终运行效果 打开软件出现如下登录界面 输入系统预设用户名及密码(1 1)单击“登录”或单击“新用户”添加新用户进入如下主界面: 建立工程 1、创建标准EXE 2、按“打开” 3、添加MDI窗体——打开 4、编辑菜单 在空白处右击——点击“菜单编辑器” 在“标题”里输入“系统”,在“名称”里输入“Sys”(注意此处不能为汉字)点击“下一个”再点击“” “确定”退到MDI界面点击“系统”——“退出”如下,然后编写代码。 代码如下: PrivateSubExit_Click() End EndSub 数据库的建立 VB6.0中可以创建Access数据库。如下建立一个“用户表”的数据库,用来存放用户信息及一些出入库管理信息。如下图单击“外接程序” 再单击“可视化数据管理器”出现如图 点击“文件”——“新建”——“MicrosoftAccess”——“Version2.0MDB”输入数据库名,“保存”出现如下图在数据窗口中右击——“新建表”,最终如下 往数据表里添加数据在这里就不罗嗦了,请查阅相关书籍。 精心整理

精心整理 登录界面窗口的建立 最终界面如下: 1、Adodc1的添加过程为:单击“工程”——“部件”出现下图所示,选择“控件”下的“MicrosoftADODataControl6.0(OLEDB)” 单击“确定”在工具栏中会出现“”图标,单击它并拖动到相应位置即可。其它元件不在一一 说明。 2、本窗体代码如下: PrivateSubCommand1_Click() ' “登录”、“确定”按钮 IfCommand1.Caption=" 确定"AndCommand2.Caption=" 取消"Then ' 如果为“确定” 则添加新用户 IfText1.Text=""Then ' 提示用户输入用户名 MsgBox" 请输入用户名!",," 登录信息提示:" ExitSub Else ' DimusenameAsString ' 检测用户名是否已经存在 DimstrSAsString usename=Trim(Text1.Text) strS="select*from 用户登录信息表where 用户名='"&usename&"'" https://www.360docs.net/doc/9d16412565.html,mandType=adCmdText Adodc1.RecordSource=strS Adodc1.Refresh MsgBox" 您输入的用户已存在 !",," 登录提示信息:" Text1.Text="" Text2.Text="" Text3.Text="" Text1.SetFocus ExitSub EndIf EndIf IfText2.Text=""Then ' 提示用户密码不能为空 MsgBox" 密码不能为空!",," 登录提示信息:" Text2.SetFocus ExitSub EndIf IfText3.Text=""Then MsgBox" 请再次输入密码!",," 登录提示信息:" Text3.SetFocus ExitSub EndIf

仓库管理系统c语言程序设计分析报告

仓库管理系统c语言程序设计报告

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

信息科学与工程学院 课程设计报告 班级:通信一班 姓名(学号): 实验项目名称: c语言程序设计 实验室(中心):信息科学与工程学院信息技术实验 室 指导教师:李益才 实验完成时间: 2013 年 6 月 28 日

序号项目标准 评分 1 系统演示(功能) (50%) 按要求完成系统功能且界面友好容错能力强(45-50) 按要求完成系统功能界面一般有较好的容错能力 (40-44) 基本完成系统功能有一定的容错能力(35-39) 基本完成系统功能(30-34分) 未完成系统功能或他人代做或抄袭(15) 2 课程设计说明书 (50%) 课程设计书各项目认真填写,具有清晰的设计思路及 软件测试结果分析(45-50) 课程设计书各项目认真填写,具有较为清晰的设计思 路并对软件测试结果进行了较为清晰的分析(40-44) 课程设计书各项目认真填写,设计思路正确(35-39) 课程设计书进行为较为认真的填写(30-34) 课程设计书有未完成项或各项填写不属实或他人代做 或抄袭(15) 教师签字总分 一、题目 仓库管理系统 二、功能描述 该系统将输入进系统的仓库中物品的基本信息(包括货号、名称、单价、库存数量、品牌)进行处理,可以进行: (1)、按物品价格降序输出、按库存数量升序排列。 (2)、修改制定物品的信息。 (3)、删除指定物品的信息。

(4)、在指定物品前或后再插入一个物品的信息。 (5)、统计同一种品牌的数量。 三、概要设计 系统功能模块图 四、详细设计数 据 按 序 输 出 修 改 特 定 物 品 的 信 息 删 除 特 定 物 品 的 信 息 插 入 物 品 信 息 统 计 指 定 品 牌 物 品 的 数 量 数 据 文 件 载 入 数 据 文 件 输 入 磁 盘 物品信息输入 退 出 系 统进入系统

学生成绩管理系统代码c语言编写

/* Note:Your choice is C IDE */ #include "stdio.h" #include "stdlib.h" #include "string.h" typedef struct student // 定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; } student; typedef struct unit // 定义接点 { student date; struct unit * next; } unit; unit * build() // 建立链表并返回指针 { unit *p; if ((p =(unit * )malloc( sizeof (unit))) ==NULL) { printf( "=>初始化失败!"); return 0; } else { p-> next =NULL; p-> date . number=0; // 头结点存放学生人数printf( " 初始化成功!\n" ); return p; } } void add(unit * head) // 增加学生 { unit *p,*q; int m,n =0; q=head-> next; p=(unit * )malloc( sizeof (unit)); printf( "=>请输入新生姓名!\n" ); gets(p ->date . name);fflush(stdin); printf( "=>请输入学号!\n" ); while (n ==0)

VB(仓库管理系统源代码)

1.请购作业程序 Private Sub ComCX_Click()’查询 '在"编号"文本框中输入编号,连接数据库,查询编号,并将"编号","品名","规格","单位","单价"的数据分别导入到相应文本框。 Set CN = New ADODB.Connection Set Rs = New ADODB.Recordset CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "F:\VB设计专用\仓库数据资料\仓库数据资料.mdb;Persist Security Info=False" '打开数据库 Rs.CursorType = adOpenStatic '制定一个静态游标 Rs.LockType = adLockOptimistic '设置锁定模式为开放式 Rs.Open "select * from JLBH where FtextBHSJ Like'" & "%" & Trim(textBHSJ.Text) & "%" & "'", CN DoEvents Do Until Rs.EOF = True If Rs.EOF = False Then listBHSJ1.AddItem (Rs.Fields(0)) listPMSJ1.AddItem (Rs.Fields(1)) listGGSJ1.AddItem (Rs.Fields(2)) listDWSJ1.AddItem (Rs.Fields(3)) listDJSJ1.AddItem (Rs.Fields(4)) Rs.MoveNext End If Loop End Sub Private Sub comFHZY_Click()’返回上页 frmQGZY.Hide frmCKGLXT.Show End Sub Private Sub comQD_Click()’录入数据 If textBHSJ.Text = "" Or textPMSJ.Text = "" Or textGGSJ.Text = "" Or textDWSJ.Text = "" Or textDJSJ.Text = "" Or textQGSLSJ.Text = "" Then MsgBox "请将数据补充完整!" textBHSJ.Text = "" textPMSJ.Text = "" textGGSJ.Text = "" textDWSJ.Text = "" textDJSJ.Text = "" textQGSLSJ.Text = "" Else

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.360docs.net/doc/9d16412565.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

仓库管理系统的设计及实现报告

1 绪论 随着社会经济的不断发展,各个企业也面临着各种机遇和挑战。为了能够在这个信息化的时代继续发展下去,就必须紧跟上时代的脚步。随着网络技术的不断发展,现代物流技术也在不断的更新换代。传统的人工记载的办公方法已经无法满足很多企业的需要,因此,每个企业都需要一个自动化的仓库管理系统。仓库是每个企业都必须谨慎管理的地方,因为货物是企业最基本的本钱,只有很好地管理好自己企业的货物,才能在竞争如此激烈的社会中谋得一片天地。本课题正是根据这一理念,开发了一个功能比较完善,基本能满足企业要求的仓库管理系统。 1.1 系统开发背景 随着计算机技术的发展,一个崭新的信息化的世界已经展现在我们眼前。如今,你可以随处看到很多不同种类的信息管理系统。 商品是企业的根本,仓库是企业用来保存商品的地方。因此,仓库对于企业十分重要。所以说一个成功的企业必定会有一个好的仓库,而一个好的仓库就肯定会有一个先进的仓库管理系统作为支撑。但是,传统简单、静态的仓库管理系统,因为其不具备信息共享功能,且无法保证货物的正确的进库、库存控制和发货等问题,已经无法确保企业资源的高效利用;而且,传统的仓库管理系统存在维护困难、开发复杂等缺点,极大的浪费企业的人力、物力,因此已经跟不上时代的步伐。所以说,一个成功的企业需要一个现代的仓库管理系统来保证企业产品的精细化管理,保证最大化利用企业资源。 1.2 系统开发目的 仓库是所有企业都不可缺少的部分,因此,一个企业想要蓬勃发展,管理好自己的仓库就显得十分重要。但是仓库中的货物总是不断变动的,因此,就需要有人将仓库中货物的增减情况进行记录。但是传统的人工记录的方法存在着许多问题,比如信息安全行性低、查询效率低等。因此,对于一个想要不断发展的企业来说,这种人工记录的方式必须淘汰。 随着计算机技术的不断发展,计算机的使用已经十分普遍,每个企业都拥有计算机。使用计算机对库存信息进行管理有着很多人工记录所无法比拟的优点,比如查询快捷、信息安全性高、添加删除方便等。 基于以上这些原因,我开发了一个仓库管理系统。本系统能够保证货物的正确的

c语言课程设计学生成绩管理系统

目录 ——学生成绩管理程序题目要求 (2) 设计目的 (2) 总体设计 (3) 详细设计 (3) 调试与测试 (12) 源程序 (14) 总结 (30)

学生成绩管理程序 一.题目要求 1.问题描述: 对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放. 2.要求: (1)一个文件按以班为单位存储学生记录. (2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出 3.计算学生的总成绩. 4.按学号排序输出全班学生成绩表 . 二.设计目的 根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.

三.总体设计 根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块. 四.详细设计 1.主函数: 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择. 流程图:

[程序]: //#include "head.h" int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息|\n"); printf(" | 2. 查询学生记录 6.打开文件|\n"); printf(" | 3. 修改学生记录7.保存文件|\n"); printf(" | 4. 学生纪录排序8.显示记录|\n"); printf(" | 0. 退出系统|\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-'0'); } 2.输入模块: [分析]: 单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理. 如果要存放若干学生信息就用结构体数组: void addrecord(student stud[]) { int i=0,j,num; char str[5]; if(numstus!=0) {

相关文档
最新文档