用c语言编写商品管理系统_第1页
用c语言编写商品管理系统_第2页
用c语言编写商品管理系统_第3页
用c语言编写商品管理系统_第4页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、#include<stdio .h>#include<stdlib .h>#include<conio .h>#include<dos .h>#include<string .h>#defineLEN sizeof (struct commdity)#defineFORMAT "%-8d%-15s%-12.11f%-12.11f%-12.11fn"#defineDATAcommi.num,,commi.price,commi.count,commi.total/* 定义商品的结构体 */stru

2、ct commdityint num;char name15;doublecount;doubletotal;comm100000,t;/* 函数的声明 */专业资料void in();/* 商品录入并保存 */void show();/* 显示商品记录 */void order();/* 商品记录排序 */void del();/* 商品记录删除 */void modify();/* 商品记录修改 */void menu();/* 主菜单 */void insert();/* 商品记录插入 */void total();/* 商品统计 */void search();/* 查看商品记录 */

3、void main()int n;menu();scanf( "%d",& n);while (n)switch (n)case 0:break ;专业资料case 1:in(); break ;case 2:search(); break ;case 3:del(); break ;case 4:modify();break ;case 5:insert(); break ;case 6:order(); break ;case 7:total(); break ;default :printf( "error!操作错误 .n" );break

4、 ;getch();menu();scanf( "%d",& n);/*自定义主菜单函数 */void menu()system( "cls");/* 清屏 */printf( "nnnnn");printf( "tt-欢迎将进入商品管理系统-n");专业资料printf( "tt|t0.退出 |n" );printf( "tt|t1.录入记录 |n");printf( "tt|t2.查找记录 |n");printf( "tt|t3.删除

5、记录 |n");printf( "tt|t4.修改记录 |n");printf( "tt|t5.插入记录 |n");printf( "tt|t6.排序记录 |n");printf( "tt|t7.统计记录 |n");printf( "tt|-|n");printf( "ttt请输入您的操作类型【 0-7 】: n" );/*自定义商品录入并保存函数*/void in() int i,m =0;char ch2;FILE*fp;if(fp =fopen( "

6、data.txt" ,"ab+" )= NULL) printf( "不能打开文件! n" );专业资料return ; while (!feof(fp) if(fread( & commm,LEN,1,fp)= 1)m+ ;fclose(fp);if(m =0)printf( "无商品记录 .n" );else system( "cls"); show();if(fp =fopen( "data.txt","wb" ) = NULL) printf( &q

7、uot;不能打开文件! n" );return ;for(i=0;i<m;i +)fwrite( &commi,LEN,1,fp);printf( "是否输入? (y/n):n");scanf( "%s",ch);while (strcmp(ch,"Y")= 0|strcmp(ch,"y")= 0)专业资料 printf( "编号 :n" );scanf( "%d",& commm.num);for (i=0;i<m;i + )if(co

8、mmm.num = commi.num) printf( "该记录已经存在,按任意键返回 .n" ); getch();fclose(fp);return ;printf( "商品名 :n" );scanf( "%s",);printf( "单价 :n" );scanf( "%lf",& commm. price);printf( "数量 :n" );scanf( "%lf",& commm. num);commm.to

9、tal =commm.count *commm.price;if(fwrite( & commm,LEN,1,fp)!=1) printf( "不能保存! n" ); getch();return ;专业资料elseprintf( "%s 已经保存 !n" ,);m+ ;printf( "是否继续? (y/n):n");scanf( "%s",ch);fclose(fp);printf( "OK!n" );return ;/*自定义显示商品记录函数 */void sh

10、ow() int i,m =0; FILE*fp;if(fp =fopen( "data.txt" ,"ab+" )= NULL)printf( "不能打开记录! n" );return ;while (!feof(fp)if(fread( & commm,LEN,1,fp)= 1)m+ ;专业资料fclose(fp);if(m = 0)printf( "无商品记录 .n" );elseprintf( "编号 商品名称单价 数量 总金额 tn");for (i=0;i<m;i +

11、)printf(FORMAT,DATA);/*自定义商品查看函数 */void search() FILE*fp;int snum,i,m =0;char ch2;if(fp =fopen( "data.txt" ,"ab+" )= NULL)printf( "不能打开文件! n" );return ;while (!feof(fp)专业资料if(fread( & commm,LEN,1,fp)= 1)m+ ;fclose(fp);if(m = 0) printf( "无商品记录 .n" );return

12、;printf( "编号 :n" );scanf( "%d",& snum);for(i=0;i<m;i + )if(snum = commi.num)printf( "已经找到记录,是否显示?(y/n):n");scanf( "%s",ch);if(strcmp(ch,"Y")= 0|strcmp(ch,"y")= 0)printf( "编号 商品名称单价 数量 总金额tn");printf(FORMAT,DATA);break ;else

13、return ;专业资料if(i= m)printf( "没有找到相应的记录 .n" );/*自定义商品记录删除函数*/void del()int i,m =0,j,snum;char ch2;FILE*fp;if(fp =fopen( "data.txt","ab+" )= NULL)printf( "不能打开文件! n" );return ;while (!feof(fp)if(fread( & commm,LEN,1,fp)=1)m+ ;fclose(fp);if(m = 0)printf( &quo

14、t;无商品记录 .n" );return ;专业资料printf( "请输入编号 :n" );scanf( "%d",& snum);for (i=0;i<m;i +)if(snum = commi.num)break ;if(i=m)printf( "没有找到 .n" );getch();return ;printf( "已经找到记录,是否删除?(y/n):n");scanf( "%s",ch);if(strcmp(ch,"Y")=0|strcmp(

15、ch,"y")=0)for (j=i;j<m;j + )commj=commj+1;m -;printf( "删除成功 .n" );if(fp =fopen( "data.txt","wb" ) = NULL)printf( "不能打开文件! n" );return ;for (i=0;i<m;i +)专业资料if(fwrite( & commj,LEN,1,fp)!= 1)printf( "不能保存! n" );getch();fclose(fp);/*

16、自定义商品记录修改函数 */void modify()int i,m =0,snum;char ch2;FILE*fp;if(fp =fopen( "data.txt","ab+" )= NULL)printf( "不能打开文件! n" );return ;while (!feof(fp)if(fread( &commm,LEN,1,fp)=1)m +;fclose(fp); if(m = 0)printf( "无商品记录 .n" );专业资料fclose(fp);return ;printf( "

17、;请输入您要修改信息的编号:n" );scanf( "%d",& snum);for (i=0;i<m;i +)if(snum = commi.num)break ;if(i<m)printf( "已经找到该记录,是否修改?(y/n):n");scanf( "%s",ch);if(strcmp(ch,"Y")= 0|strcmp(ch,"y")= 0)printf( "商品名 :n" );scanf( "%s",commi.n

18、ame);printf( "单价 :n" );scanf( "%lf",& commi.price);printf( "数量 :n" );scanf( "%lf",& commi.num);commi.total =commi.count *commi.price;专业资料elsereturn ;elseprintf( "没有找到 .n" );getchar();return ;if(fp =fopen( "data.txt","wb" )

19、 =NULL)printf( "不能打开文件! n" );return ;for (i=0;i<m;i + )if(fwrite( & commi,LEN,1,fp)!= 1)printf( "不能保存! n" );getch();fclose(fp);/*自定义商品记录插入函数 */void insert()int i,m =0,j,k,snum;专业资料FILE*fp;if(fp =fopen( "data.txt","ab+" )= NULL)printf( "不能打开文件! n&qu

20、ot; );return ;while (!feof(fp)if(fread( &commm,LEN,1,fp)= 1)m+ ;if(m = 0)printf( "无商品记录 .n" );fclose(fp);return ;printf( "请输入要插入记录的位置【即编号】:n" );scanf( "%d",& snum);for (i=0;i<m;i + )if(snum = commi.num)break ;for (j=m -1;j>i;j-)commj+1=commj;printf( "

21、请输入您要插入的信息 :n" );专业资料printf( "编号 :n" );scanf( "%d",& commi+1.num);for(k=0;k<m;k + )if(commk.num = commi+1.num && k!= i+1) printf( "该编号已经存在,按任意键继续 .n" ); getch();fclose(fp);return ;printf( "商品名 :n" );scanf( "%s",commi+1.name);print

22、f( "单价 :n" );scanf( "%lf",& commi+1.price);printf( "数量 :n" );scanf( "%lf",& commi+1.num);commi+1 .total =commi+1 .count *commi+1 .price;if(fp =fopen( "data.txt","wb" ) =NULL)printf( "不能打开文件! n" );return ;for(k=0;k<m +1;k+)专业资料if(fwrite( & commk,LEN,1,fp)!=1)printf( "不能保存! n" );getch();fclose(fp);/*自定义商品记录统计函数 */void total() int i,m =0;FILE*fp;if(fp =fopen( "data.txt" ,"ab+" )= NULL)printf( "不能打开记录! n" );return ;wh

温馨提示

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

最新文档

评论

0/150

提交评论