• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

系统计算功能

这段函数是用来计算总费用的,通过入院登记文件中的住院号匹配费用表中相同的住院号,然后读取记录,将同一住院号的不同缴费金额相加,得到的结果再写入入院登记表中相应的位置。但实际操作时,好像是循环控制出现了问题,是不是代码有问题?
180003xoxgxlmoufpffrot.jpg

180003icbu1chhsce1adqh.jpg

180003av04oajccjjkq4cy.jpg


/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
void AutoComp(void) {    // 自动计算每一个病人住一次院所缴费用
long pos;  float totalcost;
    FILE *fp1, *fp2;
    InTab it;      // 定义住院登记表的结构体变量it
    BillTab bt;      // 定义费用表的结构体变量bt
    if ((fp1=fopen(".\\4810IN.dat", "r+b"))==0) {   
        printf("\n\n无法打开住院登记信息文件!\n");
        return;
    }
    if ((fp2=fopen(".\\4810BILL.dat", "rb"))==0) {
        printf("\n\n无法打开费用信息文件!\n");
        fclose(fp1);    return;
    }
   
    system("cls");
    printf("\n\n\t\tAuto computing, Please waiting......");
    pos=ftell(fp1);  // 保留要读取的住院记录在住院登记文件中的位移量,以便重新定位该记录进行更新
    fread(&it, sizeof(InTab), 1, fp1);    // 从住院登记文件中读取一个住院记录
    while (!feof(fp1)) {  // 计算每一个住院记录对应的费用总额
        totalcost=0;
        rewind(fp2);    // 复位到费用文件头
        fread(&bt, sizeof(BillTab), 1, fp2);    // 从费用文件中读取一个费用记录
        while (!feof(fp2)) {  // 在费用文件中查找住院号微it.num病人的所有缴费记录
            if (strcmp(bt.num, it.num)==0) {
                // 如果在费用文件中找到了住院号为it.num病人的缴费记录,则进行汇总计算
                totalcost+=bt.amount;  // 缴费记录相加求和
                break; //结束在费用文件中的查找        
            }
            fread(&bt, sizeof(BillTab), 1, fp2);    // 从费用文件中读取一个费用记录
        }
        it.cost=totalcost;    // 用计算得到的汇总值更新住院登记结构体变量it的对应成员值
        fseek(fp1, pos, SEEK_SET);    // 在住院登记文件中定位正在进行汇总计算的住院记录
        fwrite(&it, sizeof(InTab), 1, fp1);     // 用住院登记结构体变量it更新住院登记文件中已定位的住院记录内容
        pos=pos+sizeof(InTab);  // 计算下一个待处理住院记录的位移量(即当前记录的下一个记录的位移量)
        fseek(fp1, pos, SEEK_SET);    // 在住院登记文件中定位下一个待处理的住院记录
        fread(&bt, sizeof(InTab), 1, fp1);    // 从住院登记文件中读取一个住院记录
    }
    fclose(fp1);    fclose(fp2);   
    system("cls");
    printf("\n\n\t\t完成自动计算. ");
    system("pause");
}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

1>c:\users\administrator\desktop\bia\空\空\空.cpp(42): error C3861: “system”: 找不到标识符

使用道具 举报

发新帖

发布任务需求已有1031262位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!