⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1_pro.c

📁 C源代码 计算机等级考试C语言上机题
💻 C
字号:
#include  <stdio.h>
#include  <mem.h>
#include  <string.h>
#include  <conio.h>
#include  <stdlib.h>
#define  MAX  100
typedef struct 
{ char dm[5] ;    /*产品代码*/
  char mc[11] ;   /*产品名称*/
  int dj ;         /*单价*/
  int sl ;         /*数量*/
  long je ;        /*金额*/
}PRO ;
PRO sell [MAX] ;
void ReadDat() ;
void WriteDat() ;
void SortDat()
{
  int i,j;
  PRO xy;
  for( i=0;i<99;i++)
    for(j=i+1;j<100;j++)
    {
      if(sell[i].mc>sell[j].mc)              /*按产品名称从小到大进行排列*/
      { xy=sell[i]; sell[i]=sell[j]; sell[j]=xy; }
      else if((sell[i].mc==sell[j].mc) && (sell[i].je>sell[j].je))
                                             /*若产品名称相同则按金额从小到大进行排列*/
      { xy=sell[i]; sell[i]=sell[j]; sell[j]=xy; }
    }
}
main()
{
  memset(sell, 0, sizeof(sell)) ;
  ReadDat() ;
  SortDat() ;
  WriteDat() ;
}
void ReadDat()
{
  FILE *fp ;
  char str[80], ch[11] ;
  int i ;
  fp = fopen("IN1.DAT", "r") ;
  for (i = 0 ; i < 100 ; i++)
  {
    fgets(str, 80, fp) ;
    memcpy(sell[i].dm, str, 4) ;
    memcpy(sell[i].mc, str + 4, 10) ;
    memcpy(ch, str + 14, 4) ; ch[4] = 0 ;
    sell[i].dj = atoi(ch) ;
    memcpy(ch, str +18, 5) ; ch[5] = 0 ;
    sell[i].sl = atoi(ch) ;
    sell[i].je = (long)sell[i].dj * sell[i].sl;
  }
  fclose(fp) ;
}
void WriteDat()
{
  FILE *fp;
  int i ;
  fp = fopen("OUT1.DAT", "w") ;
  for(i = 0 ; i < 100 ; i++)
     fprintf(fp, "%s %s %4d %5d %10ld\n",sell[i].dm, sell[i].mc,sell[i].dj,sell[i].sl,
sell[i].je) ;
  fclose(fp) ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -