c语言大作业-超市货物管理系统
(说明:程序密码为sxd)
#include
#include
#include //exit() 的头文件
#include //屏幕操作函数
#define N 100 //控制学生记录的容量
#define LEN 9
void caidan();
void browse();
typedef struct goods
{ char BH[LEN]; /*编号*/
char MZ[20]; /*名字*/
float JJ; /*进价*/
float MJ; /*卖价*/
float YL; /*盈利*/
int SR; /*生产日期*/
int DR; /*到期日期*/
double ave; /*删除标记*/
}GDS;
GDS gds[N]; //定义一个外部货物结构体变量
/*** 【结束程序函数】***/
void jiesu()
{
int j;
printf("确认要结束?\n 按1 返回,按0 结束\n");
scanf("%d",&j);
if(j==0)
exit(0);
}
/***** 以写的方式保存数据到文件的函数【原数据将被覆盖】*****/
int baocun(int n) //保存函数,保存n 个记录
{
FILE *fp;
int i;
if((fp=fopen("sixudong.txt","wb"))==NULL)// 以二进制写的方式打开,在此前的记录被覆盖
{
printf("无法打开文件!\n 任意键退出程序... ...\n");
getch(); //预防闪屏
return 0;
}
for(i=0;i
if(gds[i].ave!=0) //在后面的 del()函数中通过将gds[i].ave=0 来
表示该记录被删除了
if(fwrite(&gds[i],sizeof(struct goods),1,fp)!=1)//开始写入文件
printf("文件写入发生错误\n");
fclose(fp);
return 0; //我只是随便赋的值,只是为了消除一个警告
}
/******** 【拷贝函数单纯的将一个文件拷贝到另一个文件中】*******/
void kaobei()
{
char outfile[20],infile[20]; //保存源文件名和目标文件名
FILE *sfp,*tfp; // 定义指向源文件(sourcefile)和目标文件(targetfile) 的
指针
GDS *p=NULL; //定义临时指针,暂存读出的记录
system("CLS"); //清屏;
printf("请输入需要被复制的文件名(默认数据处理在sixudong.txt 中):\n");
scanf("%s",infile); //输入源文件名
if((sfp=fopen(infile,"rb"))==NULL)// 以二进制方式打开源文件
{
printf("无法打开文件!\n 任意键退出程序... ...\n");//显示不能打开文件的信息
getch();
return;
}
printf("另存为...,比如:dong.txt:\n"); //提示输入目标文件名