如果总数量为文件“数据\库存数据.txt”内容的行数(除了字符‘0’开头的行以外),那么下面的函数“能统计出货品的总数量和总金额”。
创新互联建站专注于企业成都全网营销、网站重做改版、松原网站定制设计、自适应品牌网站建设、HTML5、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为松原等各大城市提供网站开发制作服务。
void Stat(void)
{
char buf[256];
int sum_number = 0;
double sum_money = 0.0;
FILE *fp;
fp = fopen("数据\\库存数据.txt", "r");
if (fp != (FILE *)NULL)
{
while(fgets(buf, sizeof(buf), fp))
{
if (buf[0] != '\0')
{
n++;
if ((ptr = strchr(buf, '$')) != (char *)NULL)
{
sum_money += atof(ptr+1);
}
}
}
fclose(fp);
}
printf("总数量:%d\t总金额:%f", sum_number, sum_money);
}
#include stdio.h
#include stdlib.h
#include conio.h
struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/
void page_title(char *menu_item)
{
clrscr();
printf(" 图 书 管 理 系 统 \n\n- %s -\n\n",menu_item);
}
/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/
void return_confirm(void)
{
printf("\n按任意键返回……\n");
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/
int search_book(void)
{
int n,i;
printf("请输入图书序号:");
scanf("%d",i);
for(n=0;n100;n++)
{
if(books[n].id==i)
{
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("存数:%d of ",books[n].store);
printf("%d\n",books[n].total);
return n;
}
}
printf("\n输入错误或无效图书序号.\n");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/
void book_out(void)
{
int n,s,l,d;
page_title("借阅图书");
if((n=search_book())!=-1books[n].store0)
{
printf("请输入借书证序号:");
scanf("%d",s);
printf("请输入可借天数:");
scanf("%d",d);
for(l=0;l10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1books[n].store==0) printf("此书已经全部借出.\n");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/
void book_in(void)
{
int n,s,l;
page_title("归还图书");
if((n=search_book())!=-1books[n].storebooks[n].total)
{
printf("借阅者图书证列表:\n");
for(l=0;l10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",s);
for(l=0;l10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm();
}
void book_add(void)
{
int n;
page_title("注册新书");
for(n=0;n100;n++)
if(books[n].id==0) break;
printf("序号:");
scanf("%d",books[n].id);
#include stdio.h
#define N 10
struct goods
{
int number;
double price;
double preferential_price;
};
int main()
{
int i;
printf("请输入各个商品的库存量,原价(商品与价格用','隔开输入为一组):\n");
struct goods goods1[N];
for(i=0;iN;i++)
{
scanf("%d,%lf",goods1[i].number,goods1[i].price);
goods1[i].preferential_price = goods1[i].price;
}
for(i=0;iN;i++)
{
if(goods1[i].number100)
goods1[i].preferential_price*=0.95;
else if(goods1[i].number=50)
goods1[i].preferential_price*=0.97;
}
for(i=0;iN;i++)
{
printf("存储量:%d 原价:%.2lf 优惠价: %.2lf \n",goods1[i].number,goods1[i].price,goods1[i].preferential_price);
}
return 0;
}