ALGDPP.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:5k
源码类别:

界面编程

开发平台:

C/C++

  1. #include "stdio.h"
  2. #include "conio.h"
  3. #include "string.h"
  4. #define MAX 5000
  5. int start,end,nodenum;
  6. void save1();
  7. void save2();
  8. void main()
  9. {
  10. FILE *fp1,*fp2,*fp3;
  11. float ver[50];
  12. int t[14],i,j,m;
  13. int num_node[4];
  14. int node_number;
  15. int number=0;
  16. float val[MAX];
  17. char ch,ch1,ch2,s1[80],s2[80],s3[80],val_name[80];
  18. float nodex[MAX],nodey[MAX],nodez[MAX];
  19. int node2[MAX];
  20. int *p1;
  21. float *px,*py,*pz,*pnode;
  22. int *pnode2;
  23. px=nodex;py=nodey;pz=nodez;
  24. pnode=val;
  25. clrscr();
  26. printf("Please enter ele_node_data filename:(*.)");
  27. gets(s1);
  28. if((fp1=fopen(s1,"r"))==NULL){
  29. printf("nnaCannot open the file or file not find!n");
  30. exit(1);
  31. }
  32. printf("Please enter Stress_out_data filename:(*.out)");
  33. gets(s3);
  34. if((fp3=fopen(s3,"r"))==NULL){
  35. printf("nnaCannot open the file or file not find!n");
  36. exit(1);
  37. }
  38. if(strstr(s3,".out")==NULL)
  39. {
  40. printf("naStress output filename error!Please input again!(*.out)n");
  41. exit(0);
  42.  }
  43. printf("Reading datas......n");
  44. for(i=0;i<=18;i++)
  45. fscanf(fp1,"%c",&ch);
  46. fscanf(fp1,"%f%d",&ver[0],&nodenum);
  47. printf("t****************************n");
  48. printf("tThe model have %d nodes...n",nodenum);
  49. printf("t****************************n");
  50. for(i=0;i<=13;i++)
  51. fscanf(fp1,"%d",&t[i]);
  52. fscanf(fp1,"%f",&ver[0]);
  53. for(i=0;i<=6;i++)
  54. fscanf(fp1,"%d",&t[i]);
  55. fscanf(fp1,"%f%f%f",&px[0],&py[0],&pz[0]);
  56. fscanf(fp1,"%d%f%d%d",&t[0],&ver[0],&t[1],&t[2]);
  57. for(j=1;j<=nodenum-1;j++)
  58. {
  59. for(i=0;i<=6;i++)
  60. fscanf(fp1,"%d",&t[i]);
  61. {
  62.   fscanf(fp1,"%f%f%f",&px[j],&py[j],&pz[j]);
  63.   fscanf(fp1,"%d%f",&t[0],&ver[0]);
  64.   }
  65. }
  66. for(i=1;i<=64;i++)
  67. {
  68. fscanf(fp3,"%c",&ch);
  69. }
  70. fscanf(fp3,"%s",val_name);
  71. rewind(fp3);
  72. for(i=1;i<=111;i++)
  73. {
  74. fscanf(fp3,"%c",&ch);
  75. if(i>=100&&ch=='1'){break;}
  76. }
  77. printf("Screen or File output(S,F)?");
  78. scanf("%c",&ch);
  79. if(ch=='s'||ch=='S')
  80. {
  81. printf("Continual or Single node output(C,S)?");
  82. scanf("%s",&ch1);
  83. if(ch1=='C'||ch1=='c')
  84. {
  85. printf("nPlease input Start node:");
  86. scanf("%d",&start);
  87. printf("nPlease input End node:");
  88. scanf("%d",&end);
  89. pnode2=node2;
  90. for(j=1;j<=nodenum;j++)
  91. {
  92. fscanf(fp3,"%d",&num_node[3]);
  93. for(i=1;i<=6;i++)
  94. fscanf(fp3,"%c",&ch);
  95. fscanf(fp3,"%f",&pnode[j]);
  96. for(i=start;i<=end;i++)
  97. {
  98. if(i==num_node[3])
  99. {printf("NODEt   X_COORt  Y_COORt Z_COORt       %s VALn",val_name);
  100. printf("%dt  %12.6e   %12.6e   %12.6e   %12.6en",i,px[j-1],py[j-1],pz[j-1],pnode[j]);
  101. }
  102. }
  103. }
  104. printf("Save above datas(Y,N)?");
  105. if(getchar()=='Y'||getchar()=='y')
  106. save1(px,py,pz,pnode,val_name);
  107. }
  108. if(ch1=='s'||ch1=='S')
  109. {
  110. printf("nPlease input NODE...(0 for END)n");
  111. for(i=0;;i++)
  112. {scanf("%d",&node2[i]);
  113. if(node2[i]==0){m=i;break;}
  114. }
  115. pnode2=node2;
  116. for(j=0;j<=nodenum-1;j++)
  117. {
  118. fscanf(fp3,"%d",&num_node[3]);
  119. for(i=1;i<=6;i++)
  120. fscanf(fp3,"%c",&ch);
  121. fscanf(fp3,"%f",&pnode[j]);
  122. for(i=0;i<m;i++)
  123. {
  124. if(pnode2[i]==num_node[3])
  125. {number++;
  126. printf("NODEt   X_COORt  Y_COORt Z_COORt       %s VALn",val_name);
  127. printf("%dt  %12.6e   %12.6e   %12.6e   %12.6en",pnode2[i],px[j],py[j],pz[j],pnode[j]);
  128. }
  129. }
  130. }
  131. printf("Save above datas(Y,N)?");
  132. if(getchar()=='Y'||getchar()=='y')
  133. save2(number,pnode2,px,py,pz,pnode,val_name);
  134. }
  135. }
  136. if(ch=='f'||ch=='F')
  137. {printf("Please input savedata filename:");
  138. scanf("%s",s2);
  139. if((fp2=fopen(s2,"w"))==NULL){
  140. printf("tnCannot open the file!n");
  141. exit(1);
  142. }
  143. printf("nSaving datas......n");
  144. fprintf(fp2,"NODEt X_COORt        Y_COORt       Z_COORt      %s VALn",val_name);
  145. for(j=0;j<=nodenum-1;j++)
  146. {
  147. fscanf(fp3,"%d",&num_node[3]);
  148. for(i=1;i<=6;i++)
  149. fscanf(fp3,"%c",&ch);
  150. fscanf(fp3,"%f",&pnode[j]);
  151. fprintf(fp2,"%dt",j+1);
  152. fprintf(fp2,"%12.6e   %12.6e   %12.6e   %12.6en",px[j],py[j],pz[j],pnode[j]);
  153. }
  154. fprintf(fp2,"****************************n");
  155. for(i=0;i<=7;i++)
  156. fscanf(fp1,"%d",&t[i]);
  157. for(i=0;i<=33;i++)
  158. fscanf(fp1,"%f",&ver[i]);
  159. fprintf(fp2,"NUMtItJtKtLn");
  160. for(i=0;i<=t[1]-1;i++)
  161. {
  162. p1=num_node;
  163. fscanf(fp1,"%d",&t[4]);
  164. fprintf(fp2,"%dt",t[4]);
  165. for(j=0;j<=3;j++)
  166. {
  167.  fscanf(fp1,"%d",&p1[j]);
  168.  fprintf(fp2,"%dt",p1[j]);
  169.  if(j==3)fprintf(fp2,"n");
  170. }
  171. fscanf(fp1,"%d%f%f%d%d%f",&t[2],&ver[0],&ver[1],&t[3],&t[4],&ver[2]);
  172. if(kbhit())if(getch()==27)break;
  173. }
  174. }
  175. printf("nntProgram is over!n");
  176. printf("t******************n");
  177. fclose(fp1);
  178. fclose(fp2);
  179. fclose(fp3);
  180. }
  181. /********************************************************/
  182. void save1(float px[],float py[],float pz[],float pnode[],char val_name[])
  183. {
  184. FILE *fp;
  185. int i;
  186. char s1[80];
  187. printf("Please input save filename:");
  188. scanf("%s",s1);
  189. if((fp=fopen(s1,"w"))==NULL){
  190. printf("aFile cannot open!n");
  191. exit(1);
  192. }
  193. fprintf(fp,"NODEt X_COORt        Y_COORt       Z_COORt      %s VALn",val_name);
  194. for(i=start;i<=end;i++)
  195. {
  196. fprintf(fp,"%dt%12.6e   %12.6e   %12.6e   %12.6en",i,px[i-1],py[i-1],pz[i-1],pnode[i]);
  197. if(i>nodenum-1)break; 
  198. }
  199. fclose(fp);
  200. }
  201. /***********************************************************/
  202. void save2(int number,int pnode2[],float px[],float py[],float pz[],float pnode[],char val_name[])
  203. {
  204. FILE *fp;
  205. int i;
  206. char s1[80];
  207. printf("Please input save filename:");
  208. scanf("%s",s1);
  209. if((fp=fopen(s1,"w"))==NULL){
  210. printf("aFile cannot open!n");
  211. exit(1);
  212. }
  213. fprintf(fp,"NODEt X_COORt        Y_COORt       Z_COORt      %s VALn",val_name);
  214. for(i=0;i<number;i++)
  215. {
  216. fprintf(fp,"%dt%12.6e   %12.6e   %12.6e   %12.6en",pnode2[i],px[pnode2[i]-1],py[pnode2[i]-1],pz[pnode2[i]-1],pnode[pnode2[i]-1]);
  217. }
  218. fclose(fp);
  219. }