文件数据保存问题,请解答一下
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 8
struct LIST//结构体
{
char SPM[20];
char FL[10];
float DJ;
int KC;
}list[N];
void tongji1()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("生活用品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji2()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("食品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji3()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("学习用品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji4()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("饮料",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji()//统计
{
int i,j,k;
float all_sum=0,self_sum=0;
printf("\n所有物品总价:\n");
for(i=0;i<N;i++)
{
all_sum+=list[i].DJ*list[i].KC;
}
printf("all_sum=%0.2f\n",all_sum);
printf("\n不同分类物品的总价:\n");
printf("\n\t1.生活用品;\n");
printf("\t2.食品;\n");
printf("\t3.学习用品;\n");
printf("\t4.饮料;\n");
printf("\t5.退出.\n");
while(i!=5)
{
printf("请输入选择的类型的序号:\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("生活用品:\n");
tongji1();
break;
case 2:
printf("食品:\n");
tongji2();
break;
case 3:
printf("学习用品:\n");
tongji3();
break;
case 4:
printf("饮料:\n");
tongji4();
break;
case 5:
printf("退出\n");
break;
}
}
}
//void chuku()//出库
//{
//}
void menu()//菜单
{
printf("\n ================>>>>仓库管理系统<<<<==================\n\n");
printf(" 1.实现查询和显示功能\n");
printf(" 2.实现排序功能\n");
printf(" 3.统计仓库所有物品的总价,每种不同分类的物品\n");
printf(" 4.实现物品出仓\n");
printf(" 5.实现物品库存信息和修改功能\n");
printf(" 6.退出\n\n");
printf(" ======================================================\n\n");
}
void main()//主函数
{
int i;
char head[100];
FILE *fp;
if((fp=fopen("jsj0202_store.txt","r"))==NULL)
{
printf("打开文件失败,请检查路径设置\n\n");
exit(0);
}
printf("\n");
fgets(head,100,fp);
printf("\t%s\n",head);
for(i=0;i<N;i++)
{
fscanf(fp,"%s%s%f%d",list[i].SPM,list[i].FL,&list[i].DJ,&list[i].KC);
printf("\t%-10s\t%-10s\t%-10.2f\t%-10d\n ",list[i].SPM,list[i].FL,list[i].DJ,list[i].KC);
}
fclose(fp);
printf("\n");
while(i!=6)
{
menu();
printf(" ************ 请选择操作序号 : **********************\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("实现查询和显示功能\n");
chaxun();
break;
case 2:
printf("实现排序功能\n");
paixu();
break;
case 3:
printf("统计仓库所有物品的总价,每种不同分类的物品\n");
tongji();
break;
case 4:
printf("实现物品出仓\n");
//chuku();
break;
case 5:
printf("实现物品库存信息和修改功能\n");
break;
case 6:
printf("退出\n");
break;
}
}
}
商品名 分类 单价 库存数量
雀巢咖啡 饮料 10.00 100
康师傅方便面 食品 3.50 100
统一矿泉水 饮料 1.00 1000
红叶台灯 学习用品 15.00 20
江明饼干 食品 2.30 20
作业本 学习用品 1.00 185
光明酸奶 饮料 6.00 100
富光杯 生活用品 7.00 50
怎么把tongji()函数中运行后的结果另外保存到一个txt文件里,帮帮忙啊
#include <string.h>
#include <stdlib.h>
#define N 8
struct LIST//结构体
{
char SPM[20];
char FL[10];
float DJ;
int KC;
}list[N];
void tongji1()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("生活用品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji2()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("食品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji3()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("学习用品",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji4()
{
int i,k;
float sum=0;
for(i=0;i<N;i++)
{
k=i;
if(strcmp("饮料",list[i].FL)==0)
{
k=i;
sum+=list[k].DJ*list[k].KC;
}
}printf("\t%0.2f\n\n",sum);
}
void tongji()//统计
{
int i,j,k;
float all_sum=0,self_sum=0;
printf("\n所有物品总价:\n");
for(i=0;i<N;i++)
{
all_sum+=list[i].DJ*list[i].KC;
}
printf("all_sum=%0.2f\n",all_sum);
printf("\n不同分类物品的总价:\n");
printf("\n\t1.生活用品;\n");
printf("\t2.食品;\n");
printf("\t3.学习用品;\n");
printf("\t4.饮料;\n");
printf("\t5.退出.\n");
while(i!=5)
{
printf("请输入选择的类型的序号:\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("生活用品:\n");
tongji1();
break;
case 2:
printf("食品:\n");
tongji2();
break;
case 3:
printf("学习用品:\n");
tongji3();
break;
case 4:
printf("饮料:\n");
tongji4();
break;
case 5:
printf("退出\n");
break;
}
}
}
//void chuku()//出库
//{
//}
void menu()//菜单
{
printf("\n ================>>>>仓库管理系统<<<<==================\n\n");
printf(" 1.实现查询和显示功能\n");
printf(" 2.实现排序功能\n");
printf(" 3.统计仓库所有物品的总价,每种不同分类的物品\n");
printf(" 4.实现物品出仓\n");
printf(" 5.实现物品库存信息和修改功能\n");
printf(" 6.退出\n\n");
printf(" ======================================================\n\n");
}
void main()//主函数
{
int i;
char head[100];
FILE *fp;
if((fp=fopen("jsj0202_store.txt","r"))==NULL)
{
printf("打开文件失败,请检查路径设置\n\n");
exit(0);
}
printf("\n");
fgets(head,100,fp);
printf("\t%s\n",head);
for(i=0;i<N;i++)
{
fscanf(fp,"%s%s%f%d",list[i].SPM,list[i].FL,&list[i].DJ,&list[i].KC);
printf("\t%-10s\t%-10s\t%-10.2f\t%-10d\n ",list[i].SPM,list[i].FL,list[i].DJ,list[i].KC);
}
fclose(fp);
printf("\n");
while(i!=6)
{
menu();
printf(" ************ 请选择操作序号 : **********************\n");
scanf("%d",&i);
switch(i)
{
case 1:
printf("实现查询和显示功能\n");
chaxun();
break;
case 2:
printf("实现排序功能\n");
paixu();
break;
case 3:
printf("统计仓库所有物品的总价,每种不同分类的物品\n");
tongji();
break;
case 4:
printf("实现物品出仓\n");
//chuku();
break;
case 5:
printf("实现物品库存信息和修改功能\n");
break;
case 6:
printf("退出\n");
break;
}
}
}
商品名 分类 单价 库存数量
雀巢咖啡 饮料 10.00 100
康师傅方便面 食品 3.50 100
统一矿泉水 饮料 1.00 1000
红叶台灯 学习用品 15.00 20
江明饼干 食品 2.30 20
作业本 学习用品 1.00 185
光明酸奶 饮料 6.00 100
富光杯 生活用品 7.00 50