Suspicious pointer conversion - C (СИ)

Узнай цену своей работы

Формулировка задачи:

подскажите пожалуйста, что сделать надо?

Решение задачи: «Suspicious pointer conversion»

textual
Листинг программы
#include <stdio.h> 
 #include <db.h> 
 #include <alloc.h> 
 #include <tyvty.h>
 #include <les.h> 
 #include <string.h> 
 extern char galas; 
 char file1[80]; 
 char bigbuf[80]; 
 extern FILE *fatid(); 
 FILE *f1; 
 char b3el[]="muk.gir.kv.mk.admir.pl"; 
 FILE *fp3; 
 char *k, *a3; 
 struct ee 
   { 
   char muk[8]; 
   char gir[2]; 
   char kv[4]; 
   char mk[6]; 
   char admr[3]; 
   char pl[5]; 
   } e3; 
 struct dat 
   { 
   char gir[2]; 
   char kv[4]; 
   char mk[6]; 
   char admr[3]; 
   long pl1; 
   long kol; 
   }e; 
 char z33 []="norm=13000002"; 
 char z44 []="21-4.40--31"; 
 char *zxp2[4]; 
 int pozg, bn3, m, i, i1,k0,kk1,kk0,kk2; 
 long num(), plv[4],itl[2],itk[2],itll[2]; 
 char p2[] [56]={ 
 "---------------------------------------", 
 "nom.kv:kat.za:adm:les:rel:fun:plo:kol:", 
 "---------------------------------------", 
 "\0"}; 
 char p6[]="10450052"; 
 char p3[134]; 
 char p5[130]; 
 char hles[4],girr[2],mkr[6],adr[3],nkvr[4]; 
   
  main() 
   { 
 cpystr(file1,argkat (2,"99")); 
 strcat(file1,"\\wrp.rub"); 
 copy(e3.gir,"00",2); 
 copy(e.kv,"0000",4); 
 copy(e.mk,"000000",6); 
 copy(e.admr,"000",3); 
 e.kol=0; 
 e.pl1=0; 
 cpystr(b4, argkat(2,"4")); 
 bn3=dbopen("3","&",b3el); 
 m=0; 
   
 pb3:while ((pozg=getrec(bn3,&e3)) > 0) 
   { 
   if (m==0) 
     { 
 tek2(bkon("3"),0,bn3); 
 f1 = fatid(file1,"wb"); 
 zxxx(b4,zxp2,z33,z44); 
 copy(hles,e3.muk+6,2); 
 copy(girr,"00",2); 
 copy(mkr,"000000",6); 
 copy(nkvr,"0000",4); 
 copy(adr,"000",3); 
     m=1; 
 for(i=0;i<2;i++) 
 { 
 itk[i]=0; 
 itl[i]=0; 
 itll[i]=0; 
 } 
  spa(1,p2,p3,0,0,0); 
     } 
   k0=0; 
 copy(e.gir,e3.gir,2); 
 copy(e.kv,e3.kv,4); 
 copy(e.mk,e3.mk,6); 
 copy(e.admr,e3.admr,3); 
 e.pl1=num(e3.pl,5); 
 e.kol+=1; 
 fpat(&e,sizeof(struct dat),f1); 
  goto pb3; 
 } 
 fclose(f1); 
 sprintf(bigbuf,"xsort %s 320015",file1); 
 system(bigbuf); 
   
 f1=fatid(file1,"rb"); 
 kk1=0; 
 i=0; 
 mm:while(fgat(&e,sizeof(struct dat),f1)>0) 
 { 
 if(strncmp(e.gir,girr,2)!=0) 
 { 
 if(kk1!=0) 
 { 
 pech(); 
 cpystr(p3+10,"itogo"); 
 spa(0,0,p3,0,0,0); 
 k=p5; 
 k+=sprintf(k,"%1d&%1d&&",itl[0],itl[1]); 
 spa(0,0,p3,0,p5,p6); 
   
 for(i=0;i<2;i++) 
 { 
 itll[i]+=itl[i]; 
 itl[i]=0; 
 } 
 } 
 copy(girr,e.gir,2); 
 cpystr(p3+5,"uchastkovoe:"); 
 copy(hles+2,e.gir,2); 
 for(a3=zxp2[0];a3<zxp2[1];a3+=36) 
 if(strncmp(a3,hles,4)==0) 
 copy(p3+28,a3+4,32); 
 spa(0,0,p3,0,0,0); 
 kk1=1; 
 copy(nkvr,"0000",4); 
 } 
 mm1: 
 if(strncmp(e.kv,nkvr,4)==0 && strncmp(e.mk,mkr,6)==0 && strncmp(e.admr,adr,3)==0) 
 { 
 itl[0]+=e.pl1; 
 itl[1]+=1; 
 itk[0]+=e.pl1; 
 itk[1]+=1; 
 kk2=1; 
 goto mm; 
 } 
   
 if(itk[0]!=0) 
 pech(); 
 copy(nkvr,e.kv,4); 
 copy(mkr,e.mk,6); 
 copy(adr,e.admr,3); 
 goto mm1; 
 } 
 pech(); 
 cpystr(p3+10,"itogo po uch"); 
 spa(0,0,p3,0,0,0); 
 k=p5; 
 k+=sprintf(k,"%1d&%1d&&",itll[0],itll[1]); 
 spa(0,0,p3,0,p5,p6); 
   
 spa(3,0,0,0,0,0); 
 fprintf(stderr,"\nvvv konec"); 
 } 
   
 pech() 
 { 
 copyg(p3+1,nkvr,4); 
 copy(p3+8,mkr,6); 
 copy(p3+16,adr,3); 
 k=p5; 
 sprintf(p5,"%1d&%1d&&",itk[0],itk[1]); 
 spa(0,0,p3,0,p5,p6); 
 itk[0]=0; 
 itk[1]=0; 
 }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5