main.c 561 B

123456789101112131415161718192021222324252627282930313233
  1. #include <stdio.h>
  2. #include "states-code.h"
  3. struct {
  4. char *name;
  5. char *abbr;
  6. int pop;
  7. } states[] = {
  8. #include "states.dat.h"
  9. };
  10. int main (int argc, char *argv[])
  11. {
  12. if (argc != 2) {
  13. printf ("Usage: %s <abbreviation>\n", argv[0]);
  14. return 2;
  15. }
  16. char *abbr = argv[1];
  17. int hashval;
  18. if ((hashval = has_key(abbr)) == -1)
  19. printf ("'%s' is not an abbreviation for a state.\n", abbr);
  20. else
  21. printf ("The state of %s has a population of %g million.\n",
  22. states[hashval].name,
  23. 1e-6 * states[hashval].pop);
  24. return 0;
  25. }