Hmm..
#include<stdio.h>
int main (void)
{ int masses, count; float distance, current_loc; char name[15]; FILE *fp;
current_loc=0;
printf("Name of new file: "); scanf("%s", name);
fp = fopen( name, "w");
do { printf("Number of masses: "); scanf("%d", &masses); } while ( masses <=1);
do { printf("Distance between masses: "); scanf("%f", &distance); } while ( distance < (float)10);
fprintf( fp, "<\?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"\?> \n" "<!DOCTYPE sodaconstructor>\n" "<model>\n" "\t<comment></comment>\n" "\t<container width=\"651\" height=\"422\" />\n" "\t<environment gravity=\"0.25469473\" friction=\"0.042274434\" springyness=\"0.3537427\" />\n" "\t<collisions surface_friction=\"0.1\" surface_reflection=\"-0.75\" />\n" "\t<wave amplitude=\"0.76744187\" phase=\"0.67803925\" speed=\"0.014117647\" />\n" "\t<settings gravitydirection=\"down\" wavedirection=\"reverse\" autoreverse=\"on\" />\n" "<nodes>\n");
for ( count = 0; count < masses; count++) {
fprintf( fp,"<mass id=\"m%d\" x=\"%f\" y=\"10.0\" vx=\"0.0\" vy=\"0.0\" />\n",count,current_loc);
current_loc = current_loc + distance; }
fprintf( fp, "</nodes>\n"); fprintf( fp, "\t<links>\n");
for ( count = 0; count < masses-1; count++) {
fprintf(fp,"<spring a=\"m%d\" b=\" m%d\" restlength=\"%f\" />\n",count, count+1,distance); }
fputs("\t</links>\n", fp); fputs("\t</model>\n", fp);
fclose(fp);
printf("File successfully created. ");
scanf("%c");
return 0; }
|