| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 373 人关注过本帖
标题:大神们来帮忙看看,为什么商品售出总结额输出总是为0
只看楼主 加入收藏
gymds
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-13
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:2 
大神们来帮忙看看,为什么商品售出总结额输出总是为0
#include <stdio.h>        /*标准输入输出函数库*/
#include <stdlib.h>        /*标准函数库*/  
#include <string.h>        /*字符串函数库*/  
#include <conio.h>         /*屏幕操作函数库*/


#define HEADER1 "    ---------------------------------商品信息--------------------------------\n"
#define HEADER2 " |  编号  |  类型  |   名称  | 生产商 |  单价 |  销量  |  库存  | 售出金额 |  \n"
#define HEADER3 " |--------|--------|---------|--------|-------|--------|--------|----------|\n"
#define FORMAT  " | %-7s| %-7s| %-7s| %-7s | %-5.2lf | %-7d| %-7d| %-5.2lf   | \n"
#define DATA       p->num,p->type,p->name,p->producer,p->price,p->sale,p->sale,p->stock,p->saletotal
#define END     "   ---------------------------------------------------------------------\n"
#define N 100

int    saveflag=0;

typedef struct shop
{    char num[4];        //编号
    char type[10];        //类型
    char name[10];        //名称
    char producer[20];    //生产商
    double price;        //单价
    int sale;        //销售量
    int stock;        //库存
    double saletotal;        //商品售出总金额
}SHOP;




void Disput(SHOP temp[],int n)
{    int i;
    if(n==0)            //表示没有一条记录
        printf("\n=====>商品信息管理系统尚无记录!\n");
    else
    {    printf("\n\n");
        printheader(); //输出表格头部
        i=0;   
        while(i<n)        //逐条输出数组中存储的商品信息记录
        {    printdata(temp[i]);
            i++;
            printf(HEADER3);
        }
    }
}

void stringinput(char *t,unsigned int lens,char *notice)
{    char str[250];
    do
    {    printf(notice);            //显示提示信息
        scanf("%s",str);
        if(strlen(str)>lens)
            printf("\n超过规定的长度\n");   //进行长度校验,超过lens值重新输入
    } while(strlen(str)>lens);
    strcpy(t,str);
}
//函数Add的作用:增加商品信息记录
int Add(SHOP temp[],int n)
{    char ch,num[10];
    int i,flag=0;
    system("cls");
    Disput(temp,n);
    while(1)
    {
        while(1)
        {
            stringinput(num,10,"请输入商品输入编号(按'0'返回主菜单):");
            flag=0;
            if(strcmp(num,"0")==0) return n;
            i=0;
            while(i<n)
            {
                if(strcmp(temp[i].num,num)==0)
                {
                    flag=1;break;
                    i++;
                }
                if(flag==1)
                {
                    getchar();
                    printf("==>编号 %s 已经存在,再试一次?(y/n):",num);
                    scanf("%c",&ch);
                    if(ch=='y'||ch=='Y') continue;
                    else return n;
                }
                else break;
        }
        strcpy(temp[n].num,num);
        stringinput(temp[n].type,15,"请输入商品类型:");
        stringinput(temp[n].name,15,"请输入商品名称:");
        stringinput(temp[n].producer,15,"请输入商品生产商:");
        printf("请输入商品单价:");
        scanf("%lf",&(temp[n].price));
        printf("请输入商品销量:");
        scanf("%d",&(temp[n].sale));
        printf("请输入商品库存:");
        scanf("%d",&(temp[n].stock));
        temp[n].saletotal=(temp[n].price)*(temp[n].sale);
        saveflag=1;
        n++;
    }
    return n;
    }
}




main()

{
SHOP sp[N];
FILE *fp;
int select;
char ch;
int count=0;
fp=fopen("D:\\作业\C语言\C语言实训\spxt.txt","a+");
if(fp==NULL)
{    printf("\nSorry!========>can not open file!\n");
    exit(0);

}
while(!feof(fp))
    if(fread(&sp[count],sizeof(SHOP),1,fp)==1)//从fp指向的文件中读取一个长度为sizeof(SHOP)的信息写入&p[count]中
                count++;
fclose(fp);
printf("\n======>成功打开文件,总共有%d条记录.\n",count);
getchar();


menu();
while(1)
{system("cls");
 menu();
 printf("\n        请输入你的选择(0~8)");//显示提示信息
 scanf("%d",&select);
 if(select==0)
 {    if(saveflag==1)//若对数组的数据有修改且未进行存盘操作,则标记为1.
    {    getchar();
        printf("\n======>是否要保持已经修改的记录到文件?(y/n);");
        scanf("%c,&ch");
        if(ch=='y'||ch=='Y')
            Save(sp,count);

    }
    printf("\n======>谢谢你使用本系统!");
    getchar();
    break;

}
switch(select)
    {
case 1:count=Add(sp,count);break;
case 2:system("cls");Disput(sp,count);getch();break;
/*case 3:count=Del(sp,count);break;
case 4:Qur(sp,count);getch();break;
case 5:Modify(sp,count);break;
case 6:count=Insert(sp,count);break;
case 7:SelectSort(sp,count);break;
case8 :Save(sp,count);break;        
default:Wrong();getchar();break;*/

    }

}

}
PS:部分函数未展示出来,需要源代码请留言,谢谢。
搜索更多相关主题的帖子: include 生产商 字符串 信息 
2015-04-19 00:33
gymds
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-13
收藏
得分:0 
已经找到错误了,谢谢。
2015-04-19 10:28
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:10 

风回小院庭芜绿,柳眼春相续
2015-04-19 10:59
快速回复:大神们来帮忙看看,为什么商品售出总结额输出总是为0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017116 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved