C语言课程设计
printf(\ for(i=0;i printf(\ printf(\ } #endif return 1; } int SortByType() //按类型排序 { Rec rectmp; int i,j,t; for(i=1;i for(j=i+1,t=i;j<=records->total_count;j++) { if(strcmp(records->record[t].types,records->record[j].types)>0) t=j; } rectmp=records->record[t]; records->record[t]=records->record[i]; records->record[i]=rectmp; } #ifdef DEBUG ShowRec(); #endif type_count=1; ptype[0]=records->record[1].types; for(i=1;i if(strcmp(records->record[i].types,records->record[i+1].types)==0) { continue; } else { ptype[type_count++]=records->record[i+1].types; //遇到不同的类型,把最新的存储进来 } } #ifdef DEBUG printf(\ for(i=0;i printf(\ printf(\ - 29 - C语言课程设计 } #endif return 1; } int SortBySum() //按金额排序 { Rec rectmp; int i,j,t; for(i=1;i { for(j=i+1,t=i;j<=records->total_count;j++) { if(records->record[t].sum>records->record[j].sum) t=j; } rectmp=records->record[t]; records->record[t]=records->record[i]; records->record[i]=rectmp; } #ifdef DEBUG ShowRec(); #endif return 1; } //三个函数声明 void ShowType(); void ShowMonth(); void ShowYear(); void ShowTotal() //显示统计结果 { if(records->total_count<1) { printf(\没有记录存在!\\n\ return; } #ifdef DEBUG printf(\统计结果\\n\\n\\n\\n\#endif getchar(); SortByType(); ShowType(); SortByTime(); ShowYear(); ShowMonth(); } void ShowType() //按类型显示统计结果 { int i=1,j=0; double total[MAX]={0.0}; while(i<=records->total_count) - 30 - C语言课程设计 { while(j if(strcmp(ptype[j],records->record[i].types)== 0) { total[j] += records->record[i].sum; continue; } else j++; } i++; } printf(\按类型统计结果如下:\\n\ for(i=0;i printf(\ } printf(\} void ShowMonth() //忽略了年,按月显示统计结果 { int i=1,j=0; double total[13]={0,0}; while(i<=records->total_count) { if(records->record[i].times[5]== '0') { j=(int)records->record[i].times[6]-'0'; total[j] +=records->record[i].sum; i++; } else { j=(int)records->record[i].times[6]-'0'; j += 10; total[j] += records->record[i].sum; i++; } } printf(\按月统计结果如下:\\n\ for(i=1;i<13;i++) { printf(\ - 31 - C语言课程设计 } printf(\} void ShowYear() //按年显示统计结果 { char * ts; int i=1,j=0; double total[MAX]={0.0}; while(i<=records->total_count) { ts=Get4(records->record[i].times); while(j if(strcmp(pyear[j],ts)== 0) { total[j] +=records->record[i].sum; continue; } else j++; } i++; } printf(\按年统计结果如下:\\n\ for(i=0;i printf(\ printf(\ } printf(\} - 32 -