c实训设计——货物管理系统
来源:互联网 发布:mac打开finder快捷键 编辑:程序博客网 时间:2024/06/05 16:42
货物管理系统
一:本系统的功能:
1)本系统包括:货物入库、货物出库、货物查询、货物修改、货物显示、清空仓库等主要功能。
2)包括函数:hwrk(g);——货物入库、hwck(g);——货物出库、findhw(g);——货物查询、hwcg(g);——货物修改、output();——货物显示、qk();——清空仓库、getg(Goods *g);——调取货物信息、input(Goods *g,int n);——货物信息保存、jl(Goods *g,int n);——货物信息更新、menu();——主页面
3)本系统特点:文件利用较多,能够在关闭程序后再打开程序原本输入的信息依旧存在,实现了基本的货物管理,除非进行了清空仓库操作,当然货物出库也就是删除操作也能够删除信息。
二:操作截屏:
1)主页面:
2)货物入库:
3)货物出库:
4)货物查询:
5)信息修改:
6)货物显示:
7)清空仓库:
再货物显示:
再货物入库:
显示:
退出程序:
重新打开并显示信息:
再入库:
再显示:
再执行任何功能无改变,演示完毕。
#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>//#define SIZE 100struct Goods{ char k[20];//编号 char name[30];//货品名称 int n;//货品数量 double pri;//进货价格}g[200];int getg(Goods *g)//调取货物信息{ FILE *fp; int i,n=0; if((fp=fopen("goods.txt","a+"))==NULL) { printf("open file error\n"); return 0; } fseek(fp,0,2); int w=ftell(fp); fseek(fp,0,0); for(i=0;w!=ftell(fp);i++) { fread(&g[i],sizeof(struct Goods),1,fp); n=n+1; //printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); } fclose(fp); return n;}void input(Goods *g,int n)//货物信息保存{ FILE *fp; int i; if((fp=fopen("goods.txt","a"))==NULL) if((fp=fopen("goods.txt","w"))==NULL) { printf("open file error\n"); return; } for(i=0;i<n;i++) { if(fwrite(&g[i],sizeof(struct Goods),1,fp)!=1) { printf("file write error"); } } fclose(fp);}void jl(Goods *g,int n)//货物信息更新{ FILE *fp; int i; if((fp=fopen("goods.txt","w"))==NULL) { printf("open file error\n"); return; } for(i=0;i<n;i++) { if(fwrite(&g[i],sizeof(struct Goods),1,fp)!=1) { printf("file write error"); } } fclose(fp);}void qk()//清空仓库{ FILE *fp; system("cls"); if((fp=fopen("goods.txt","w"))==NULL) { printf("open file error\n"); return; } fclose(fp); printf("\n按任意键返回!"); getch();}void output()//货物显示{ FILE *fp; int i; system("cls"); if((fp=fopen("goods.txt","r"))==NULL) { printf("open file error\n"); return; } printf("货物编号\t货物名称\t货物数量\t货物进货价格\n"); fseek(fp,0,2); int w=ftell(fp); fseek(fp,0,0); for(i=0;w!=ftell(fp);i++) { fread(&g[i],sizeof(struct Goods),1,fp); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); } fclose(fp); printf("\n按任意键返回!"); getch();}void hwcg(Goods *g)//货物信息修改{ int i,k,j,l,m,n; char q[30]; n=getg(g); system("cls"); printf("请选择查找的方式\n"); printf("1:按货物编号查找并修改信息\n"); printf("2:按货物名称查找并修改信息\n"); scanf("%d",&k); m=n; if(k==1) { printf("请输入要修改信息的货物编号\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].k)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号 货物名称 货物数量 货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); printf("是否选择修改货物信息\n"); printf("1:yes\t2:no\n"); scanf("%d",&l); if(l==1) { printf("请输入修改后的货物编号\t货物名称\t货物数量\t货物进货价格\n"); scanf("%s %s %d %lf",&g[i].k,&g[i].name,&g[i].n,&g[i].pri); jl(g,n); printf("已修改货物信息\n"); } break; } } if(i==m) { printf("不存在该货物\n"); } } if(k==2) { printf("请输入要修改信息的货物名称\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].name)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号 货物名称 货物数量 货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); printf("是否选择修改货物信息\n"); printf("1:yes\t2:no\n"); scanf("%d",&l); if(l==1) { printf("请输入修改后的货物编号\t货物名称\t货物数量\t货物进货价格\n"); scanf("%s %s %d %lf",&g[i].k,&g[i].name,&g[i].n,&g[i].pri); jl(g,n); printf("已修改货物信息\n"); } break; } } if(i==m) { printf("不存在该货物\n"); } } printf("\n按任意键返回!"); getch();}void findhw(Goods *g)//货物查询{ int i,k,n; char q[30]; n=getg(g); system("cls"); printf("请选择查找的方式\n"); printf("1:按货物编号查找\n"); printf("2:按货物名称查找\n"); scanf("%d",&k); if(k==1) { printf("请输入要查找的货物编号\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].k)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号\t货物名称\t货物数量\t货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); break; } } if(i==n) { printf("不存在该货物\n"); } } if(k==2) { printf("请输入要查找的货物名称\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].name)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号\t货物名称\t货物数量\t货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); break; } } if(i==n) { printf("不存在该货物\n"); } } printf("\n按任意键返回!"); getch();}void hwck(Goods *g)//货物出库{ int i,k,j,l,m,n; char q[30]; n=getg(g); system("cls"); printf("请选择查找的方式\n"); printf("1:按货物编号查找并出库\n"); printf("2:按货物名称查找并出库\n"); scanf("%d",&k); m=n; if(k==1) { printf("请输入要出库的货物编号\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].k)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号 货物名称 货物数量 货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); printf("是否选择出库\n"); printf("1:yes\t2:no\n"); scanf("%d",&l); if(l==1) { for(j=i;j<n-1;j++) { g[j]=g[j+1]; } n=n-1; jl(g,n); printf("已删除\n"); } break; } } if(i==m) { printf("不存在该货物\n"); } } if(k==2) { printf("请输入要出库的货物名称\n"); scanf("%s",q); for(i=0;i<n;i++) { if(strcmp(q,g[i].name)==0) { printf("已找到,输出该货物信息:\n"); printf("货物编号 货物名称 货物数量 货物进货价格\n"); printf("%s %s %d %.2lf\n",g[i].k,g[i].name,g[i].n,g[i].pri); printf("是否选择出库\n"); printf("1:yes\t2:no\n"); scanf("%d",&l); if(l==1) { for(j=i;j<n-1;j++) { g[j]=g[j+1]; } n=n-1; jl(g,n); printf("已删除\n"); } break; } } if(i==m) { printf("不存在该货物\n"); } } printf("\n按任意键返回!"); getch();}void hwrk(Goods *g)//货物入库{ int n,i; system("cls"); printf("请输入入库货物种类数量\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("请输入货物编号\t货物名称\t货物数量\t货物进货价格\n"); scanf("%s %s %d %lf",&g[i].k,&g[i].name,&g[i].n,&g[i].pri); } input(g,n);//货物保存 printf("\n按任意键返回!"); getch();}void menu()//主页面{printf("\n\n\n\t\t\t 欢迎使用货物管理系统\n\n\n");printf("\t\t\t***************************\n");printf("\t\t\t* 主菜单 *\n");printf("\t\t\t***************************\n\n\n");printf("\t\t 1 货物入库 2 货物出库\n\n");printf("\t\t 3 货物查询 4 信息修改\n\n");printf("\t\t 5 货物显示 6 清空仓库\n\n");printf("\t\t 7 退出系统\n\n");printf("\t\t 请选择[1/2/3/4/5/6/7/8]:\n");}int main(){int j,n;n=getg(g);while(1){ system("cls");menu();scanf("%d",&j);switch(j){case 1:hwrk(g);break;case 2:hwck(g);break;case 3:findhw(g);break;case 4:hwcg(g);break;case 5:output();break;case 6:qk();break;case 7:exit(0);default:printf("输入错误,请重新输入!\n");}}return 0;}刚刚大一学完c实训写的一个实训程序,写的马虎还望见谅。如有问题可以评论或qq1057076049
阅读全文
1 0
- c实训设计——货物管理系统
- c基础编程能力实训报告——货物管理系统
- 商店货物管理系统
- 进销存货物管理系统 论文
- C#+SQL2005实现货物管理系统--系统说明、使用帮、源码下载
- 货物管理系统(数据结构顺序表)
- 货物管理系统(数据结构链式表)
- 货物管理
- 货物管理
- c语言仓库货物信息管理系统
- 求《车间货物流通管理系统》毕业设计论文
- 这是一个简单的货物管理系统。
- 货物跟踪系统
- [CMD]公司货物系统
- C语言 图书管理系统设计
- C语言职工管理系统设计
- 初学构建小项目之仓库管理系统货物类型管理功能实现(三)
- 初学构建小项目之仓库管理系统货物管理功能实现(四)
- JavaScript部分更新日志
- mysql外键约束详解
- Nginx实用教程(二):配置文件入门
- NumPy 数组使用
- Mac快捷键及实用知识
- c实训设计——货物管理系统
- LeetCode 164. Maximum Gap
- Android APK反编译就这么简单 详解
- LM7805:电压调节器的工作原理
- leetcode.561.Array Partition I
- JAVAWEB之Tomcat
- Django17-多数据库联用
- tomcat启动时报错 javax/servlet/Servlet.class
- DHCP配置--LJ