1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| #include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
FILE* output;
unsigned int nb_bars;
unsigned short count;
unsigned char c, need_continue;
if (argc != 2) {
printf("main - error: need argument\n\n");
return -1;
}
// Convert arg[1] to int
nb_bars = 0;
count = 0;
need_continue = 1;
c = argv[1][count];
while(need_continue && (c != '\0')) {
if ((c >= '0') && (c <= '9')) {
nb_bars = ((nb_bars * 10) + (c - '0'));
} else {
need_continue = 0;
}
++count;
c = argv[1][count];
}
if (need_continue) {
if (nb_bars == 0) {
printf("main - error: find argument == 0\n\n");
return -1;
} else if (nb_bars <= 25) {
printf("main - debug: find argument %d\n\n", nb_bars);
} else {
printf("main - error: find argument > 25\n\n");
return -1;
}
} else {
printf("main - error: argument should be an int\n\n");
return -1;
}
output = fopen("output.html", "wb");
if (argc != 2) {
printf("main - error: cannot open output file\n\n");
return -1;
}
fprintf(output,"<!DOCTYPE html>\n\
<html lang='en'>\n\
<head>\n\
<meta charset='utf-8'>\n\
<title>Output</title>\n\
<script type='text/javascript' src='http://d3js.org/d3.v3.min.js'></script>\n\
<style type='text/css'>\n\
div.bar {\n\
display: inline-block;\n\
width: 20px;\n\
height: 75px;\n\
background-color: teal;\n\
}\n\
</style>\n\
</head>\n\
<body>\n\
<script type='text/javascript'>\n\
var dataset = [5");
for(count = 1; count < nb_bars; ++count) {
fprintf(output,", %d", ((count + 1) * 5));
}
fprintf(output,"]\n\
d3.select(\"body\").selectAll(\"div\")\n\
.data(dataset)\n\
.enter()\n\
.append(\"div\")\n\
.attr(\"class\", \"bar\")\n\
.style(\"height\", function(d) {\n\
\n\
return d + \"px\";\n\
});\n\
</script>\n\
</body>\n\
</html>");
fclose(output);
return 1;
} |
Partager