《c实训公司产品信息管理系统》由会员分享,可在线阅读,更多相关《c实训公司产品信息管理系统(15页珍藏版)》请在金锄头文库上搜索。
1、1题题 目:目: 公司产品信息管理系统公司产品信息管理系统院院 系:系: 信息科技学院信息科技学院专专 业:业: 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 日日 期:期: 20102010 年年 9 9 月月 2424 日日桂林电子科技大学信息科技学院桂林电子科技大学信息科技学院实训报告2目录一、实训目的.3二、题目定义.32.1 题目.32.2 设计的系统要求.32.3 主要功能.3三、程序设计.33.1 总体的设计.33.2 程序设计.4四、程序调试10五、实训心得.133一、实训目的通过实训,让我们在学完 C 语言后进一步了解 C 语言的知识,掌握C 语言在软件开发方面的基本
2、使用方法,提高对学习 C 语言的兴趣,为以后学习其他的专业知识及实用性开发打下坚实的基础。二、 题目定义2.1 题目:公司产品信息管理系统2.2 具体要求:设计内容要包括:产品的编号,名称,产品的价格,产品的生产日期,产品的数量,报废日期等。每个产品的包含内容有:1)产品的名称 2)产品的编号 3)产品的参考价格 4)产品的保质期 5)产品的数量 6)产品生产日期2.3 主要功能:1) 能够完成对设备的录入和修改2)对产品按名称进行查询三、程序设计3.1 总体的设计这个程序运用了顺序结构设计,循环结构设计,选择结构设计等。采用模块的程序设计方法,将这个总体的程序设计按照一定的原则分为 6 个较
3、小的任务,然后分别设计这 6 个任务。下面是这个总体程序的层次结构图:43.2 程序设计#include /*I/O 函数*/ #include /*标准库函数*/ #include /*字符串函数*/ #include /*字符操作函数(#include 是在调用字符函 数时,在源文件中包含的头文件。字符函数如:int isspace(int ch);检查 ch 是否 为空格制表或换行字符。“ctype“中 c 为字符型 char 的缩写,type 为类型。 )*/ #define M 50 /*定义常数表示记录数*/ typedef struct /*定义数据结构*/ int number
4、; /*产品编号*/ char name20; /*产品名称*/ long num; /*产品类型编号*/ char size10; /*产品规格*/ char danwei5; /*计量单位*/ int acount; /*数量*/ int pay; /*参考价格*/ char inday20; /*进货日期*/ char workday20; /*有效期*/ CHAN_PIN; 公司产品信息管理系统Enter 1Enter 2Enter 3Enter 4Enter 5Enter 6Enter 0产 品 信 息 的 录 入产 品 信 息 的 修 改产 品信 息的 删除根据产 品名称 查询产
5、品信息显 示 全 部 产 品 记 录显示全 部过期 产品信 息 退出5/*以下是函数声明*/ void Search(CHAN_PIN t,int n); /*查找记录函数*/ int enter(CHAN_PIN t); /*输入记录函数*/ void list(CHAN_PIN t,int n); /*显示记录函数*/ int mainCD(); /*主菜单函数*/ void Search(CHAN_PIN t,int n); /*查找记录函数*/ int Remove(CHAN_PIN t,int n); /*删除记录函数*/ void xiugai(CHAN_PIN t,int n);
6、 /*修改记录函数*/ void badgoods(CHAN_PIN t,int n); /*显示过期产品记录*/ int LoadRecord(CHAN_PIN t); /*保存函数函数*/ void saverecord(CHAN_PIN t,int n); /*保存记录函数*/ /*主函数开始*/ main() int i; CHAN_PIN adrM; /*定义结构体数组*/ int length; /*保存记录长度*/ clrscr(); /*清屏幕函数*/ for(;) /*无限循环*/ switch(mainCD() /*调用主菜单函数,返回值整数作开关语句的条件*/ case
7、1: length=enter(adr); /*输入记录*/ saverecord(adr,length); break; case 2:length=LoadRecord(adr); /*修改记录*/ xiugai(adr,length); saverecord(adr,length); break; case 3:length=LoadRecord(adr); /*删除记录*/ length=Remove(adr,length); saverecord(adr,length); break; case 4:length=LoadRecord(adr); /*根据产品名称查询产品信息记录*/
8、 Search(adr,length); saverecord(adr,length); break; case 5:length=LoadRecord(adr); /*显示全部产品记录记录*/ list(adr,length); break; case 6:length=LoadRecord(adr); /*显示全部过期产品信息记录*/badgoods(adr,length); break; 6case 0:exit(0); int mainCD() /*主菜单函 数*/ int c; clrscr(); printf(“*MENU*nn“); printf(“ 1.Input of bas
9、ic information productsn“);printf(“ 2. Changes to product informationn“);printf(“ 3. Product information removedn“);printf(“ 4. According to Product Name Search Product Lettern“);printf(“ 5. Records show all productsn“);printf(“ 6. Show All expired product informationn“);printf(“ 0. Exitn“);printf(“
10、*n“); do printf(“n Enter your choice(0-6):“);if(scanf(“%d“, continue; while(c6);return c; int enter(CHAN_PIN t) /*输入记录函 数*/ int i,n; char *s; clrscr(); /*清屏*/ printf(“you want to enter the record number is: n“); /*提示信息*/ scanf(“%d“, /*输入记录数*/ printf(“Please enter the record:n“); /*提示输入记录*/for(i=0;i0
11、) flag=1; printf(“nnWith the product-related information is as follows :n“);printf(“No. Name Type Number Size Unit Quantity price of purchase date shelf-lifen“);printf(“-n“); printf(“%-6d%-12s%-8ld%-11s%- 7s“,ti.number,ti.name,ti.num,ti.size,ti.danwei); printf(“%-8d%-8d%-11s%- 6sn“,ti.acount,ti.pay,
12、ti.inday,ti.workday); printf(“npress any key continu.“); getch(); if(flag=0) printf(“No expired products!n“); int LoadRecord(CHAN_PIN t) /*保存函数 函数*/ int i,n; FILE *fp; if(fp=fopen(“record.txt“,“r“)=NULL) printf(“can not open filen“); exit(1); 11fscanf(fp,“%d“, /*读入记录数*/ for(i=0;in;i+) fscanf(fp,“%-6d%-12s%-8ld%-11s%- 7s“, fscanf