C语言大一期末计算机作业(商品库存管理系统开发)_第1页
C语言大一期末计算机作业(商品库存管理系统开发)_第2页
C语言大一期末计算机作业(商品库存管理系统开发)_第3页
C语言大一期末计算机作业(商品库存管理系统开发)_第4页
C语言大一期末计算机作业(商品库存管理系统开发)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>intsize=0;/*全局变量*/structSto{ intno;charname[20];intnum;intprice;intsum;};structStos[100];voidRead(){inti=0;FILE*fp;fp=fopen("d:\\new.txt","r");if(fp==NULL){ printf("\a\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##文件读取失败!##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");}else{printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##文件读取成功!##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");while(fscanf(fp,"%d\n%s\n%d\n%d\n%d\n",&s[i].no,s[i].name,&s[i].num,&s[i].price)!=EOF)i++;fclose(fp);size=i;}}/*文件读取数据*/voidDisp(){ inti;printf("**************************************\n");printf("**\n");printf("*编号名称数量价格总额*\n");for(i=0;i<size;i++) printf("**%-12d%-20s%-12d%-12d%-12d*\n",s[i].no,s[i].name,s[i].num,s[i].price,s[i].sum);printf("**\n");printf("**************************************\n");}/*显示*/voidCount(){ inti,total=0;for(i=0;i<size;i++){ s[i].sum=s[i].num*s[i].price;total+=s[i].sum;}Disp();printf("*表单库存总额:%-22d*\n",total);printf("**************************************\n\n\n\n");}/*计算库存物品总额*/voidSort(){ inti,j;structStot;for(i=0;i<size;i++)for(j=i;j<size;j++)if(s[i].no>s[j].no){t=s[i];s[i]=s[j];s[j]=t;}printf("按编号排序的表单:\n");Disp();}/*排(采用的是冒泡排序)*/voidAppend(){ inti,no,flag=0,c;//flag用于标志是否添加相同了的编号A1:printf("新增编号:");scanf("%d",&no);for(i=0;i<size;i++)if(no==s[i].no){ flag=1;break;};if(flag==0)//没有相同的编号,直接修改{s[size].no=no;printf("请输入名称:");scanf("%s",s[size].name);printf("请输入数量和价格:");scanf("%d%d",&s[size].num,&s[size].price);s[i].sum=s[size].num*s[size].price;size++; }else//有相同的编号,发出警报,提示错误,重新输入修改的编号{ printf("\a\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##您输入的数据编号已存在,请重新输入编号:##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");flag=0;A2: printf("\t\t#############################################\n"); printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##是否继续追加其它库存?(1.继续0.退出)##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&c);if(c==1) gotoA1;elseif (c==0);else gotoA2;}}/*新增库存表单*/voidModify(){ intno,c,flag=0,i;//flag找到修改的数据标志。M1:printf("已有的表单:\n");Sort();printf("\n\n");//给用户显示已经有了的排序数据,便于找到用户要修改的表单。printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##请输入您要修改的数据的编号##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&no);for(i=0;i<size;i++)if(no==s[i].no)//当找到数据{printf("**************************************\n");printf("*这是要修改编号的内容*\n");printf("**************************************\n");printf("**\n");printf("*编号名称数量价格总额*\n");printf("*%-12d%-20s%-12d%-12d%-12d*\n",s[i].no,s[i].name,s[i].num,s[i].price,s[i].sum);printf("**\n");printf("**************************************\n\n\n\n");printf("请输入新的名称:");scanf("%s",s[i].name);printf("请输入新的数量和价格:");scanf("%d%d",&s[i].num,&s[i].price);s[i].sum=s[i].num*s[i].price;flag=1;break;};if(flag==0)//当没有找到数据,发出警报,提示。{printf("\a\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##对不起~没找到要修改的数据##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");M2: printf("\t\t#############################################\n"); printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##是否修改其他编号?(1.修改0.不修改)##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");flag=0;scanf("%d",&c);if(c==1)gotoM1;elseif (c==0);else gotoM2;}}/*修改信息*/voidQuery(){inti,c,no,flag=0;//flag数据查询结果的标志printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##请输入您要查询的数据的编号:##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&no);for(i=0;i<size;i++)if(no==s[i].no){printf("**************************************\n");printf("*成功找到数据~*\n");printf("**************************************\n");printf("**\n");printf("*编号名称数量价格总额*\n");printf("*%-12d%-20s%-12d%-12d%-12d*\n",s[i].no,s[i].name,s[i].num,s[i].price,s[i].sum);printf("**\n");printf("**************************************\n\n\n\n");Q1: printf("\t\t#############################################\n"); printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##是否对其修改?(1.修改0.不修改)##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&c);if(c==1){printf("**************************************\n");printf("*这是要修改编号的内容*\n");printf("**************************************\n");printf("**\n");printf("*编号名称数量价格总额*\n");printf("*%-12d%-20s%-12d%-12d%-12d*\n",s[i].no,s[i].name,s[i].num,s[i].price,s[i].sum);printf("**\n");printf("**************************************\n\n\n\n");printf("请输入新的名称:");scanf("%s",s[i].name);printf("请输入新的数量和价格:");scanf("%d%d",&s[i].num,&s[i].price);s[i].sum=s[i].num*s[i].price;}elseif (c==0);else gotoQ1;flag=1;break;}if(flag==0) {printf("\a\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##对不起~没找到数据~##\n");printf("\t\t####\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n\n\n\n");}}/*查询信息*/voidDelete(){intflag=0,no,i,c,j;//flag找到删除的数据标志。D1:printf("\t\t已有的表单:\n");Sort();//给用户显示已经有了的排序数据,便于找到用户要删除的表单。printf("\n\n");printf("\t\t#############################################\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##请输入您要删除表单的编号:##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&no);for(i=0;i<size;i++)if(no==s[i].no){ flag=1;break;}if(flag==0){printf("\a\n");printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##对不起没找到要删除的表单编号!##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n"); D2: printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##是否继续删除其它库存?(1.继续0.退出)##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&c);if(c==1) gotoD1;elseif (c==0);else gotoD2;}if(flag==1)//找到数据后{ for(j=i;j<=size-1;j++)s[j]=s[j+1];size--;printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##成功删除!##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");flag=0;D3: printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##是否继续删除其它库存?(1.继续0.退出)##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");scanf("%d",&c);if(c==1) gotoD1;elseif (c==0);else gotoD3;}}/*删除*/voidSave(){FILE*fp;inti,flag;fp=fopen("d:\\new.txt","w");for(i=0;i<size;i++)fprintf(fp,"%d\n%s\n%d\n%d\n%d\n",s[i].no,s[i].name,s[i].num,s[i].price,s[i].sum);flag=fclose(fp);if(flag==0){printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##文件保存成功!##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");}else{printf("\t\t#############################################\n");printf("\t\t####\n");printf("\t\t##文件保存失败!##\n");printf("\t\t####\n");printf("\t\t#############################################\n\n\n\n");}}/*保存*/intmain(){intchoice;printf("\t#############################################\n");printf("\t####\n");printf("\t##欢迎使用库存管理系统##\n");printf("\t####\n");printf("\t#############################################\n");menu:printf("\n\n");printf("\t\t\t=======菜单=======\n");p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论