void results_of_competition(){ FILE* f; char str[40]; int results [3]; short int i, max; struct Competitors participant, first, second, third; first.res = -1; second.res = -1; third.res = -1; f = fopen("competition.txt", "r"); while (fgets(str, 40, f) != NULL) { i = parse_name(str, &participant); parse_results(i, str, results); max = -1; for (i = 0; i < 3; ++i){ if (results[i] > max) max = results[i]; } participant.res = max; place_participants(first, third, second, participant); } fclose(f); if (first.res != -1) printf("I место: %s, результат: %d\n", first.name, first.res); if (second.res != -1) printf("II место: %s, результат: %d\n", second.name, second.res); if (third.res != -1) printf("III место: %s, результат: %d\n", third.name, third.res); }
long google_query(char *gooflag, char *type, char *value ) { extern char pretty_query[1024]; //a human-readable version extern char mid_query[1024];//a version for the web server extern char *site; extern char *xtra_stuff; extern char total_string[256]; extern int sflag; extern int vflag; extern long results; char scratch[1024]; if (strlen(total_string) ==0) { //printf("null total string"); sprintf(total_string,"%s:%s",type,value); } if (vflag) printf("(verbose) command line query => %s\n",value); if (strcmp(gooflag,"indexof") ==0 ) { sprintf(pretty_query, "intitle:index.of+%s",value); } else if (strcmp(gooflag,"inurl") ==0 ) { sprintf(pretty_query, "inurl:%s",value); } else if (strcmp(gooflag,"intitle") ==0 ) { sprintf(pretty_query, "intitle:%s",value); } else if (strcmp(gooflag,"raw") ==0 ) sprintf(pretty_query,"%s",value); else if (strcmp(gooflag,"filetype") ==0) { sprintf(pretty_query,"filetype:%s",value); } else return(-1); // pretty_query will not have any of the below ugliness sprintf(mid_query,"&q=%s",pretty_query); if (sflag) { sprintf(scratch,"%s+site:%s",mid_query,site); strncpy(mid_query,scratch,1024); if (vflag) printf("(verbose) site added. query is now: %s\n",mid_query); } if (xflag) { sprintf(scratch,"%s&%s",mid_query,xtra_stuff); strncpy(mid_query,scratch,1024); if (vflag) printf("(verbose) extra stuff added. query is now: %s\n",mid_query); } if (vflag) printf("(verbose) Sending query => %s\n",mid_query); if (inet_send(mid_query) == 1) { printf("Error sending query.\n"); return(0); } else { results=parse_results(recvbuf); } sprintf(scratch,"%s %s:%ld ",total_string,gooflag,results); strncpy(total_string,scratch,256); total+=results; return(results); }