home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume36 / formes / part01 / quiz.h < prev    next >
C/C++ Source or Header  |  1993-04-01  |  1KB  |  62 lines

  1.  
  2. /*
  3.  *  Copyright (C) 1992-1993 Jeffrey Chilton
  4.  *
  5.  *  Permission is granted to anyone to make or distribute copies of
  6.  *  this program, in any medium, provided that the copyright notice
  7.  *  and permission notice are preserved, and that the distributor
  8.  *  grants the recipient permission for further redistribution as
  9.  *  permitted by this notice.
  10.  *  
  11.  *  Author's E-mail address:  172-9221@mcimail.com
  12.  *  
  13.  */
  14.  
  15. /* static char *whatstring = "@(#)quiz.h    2.2 JWC"; */
  16.  
  17. #ifndef QUIZ_H
  18. #define QUIZ_H
  19.  
  20. /*
  21.  *  Quiz - The instructions for building one style of question
  22.  */
  23.  
  24. typedef struct Quiz Quiz;
  25.  
  26. #include "assoc.h"
  27. #include "collect.h"
  28. #include "exstr.h"
  29.  
  30. struct Quiz
  31. {
  32.     ExtendString *name;        /* printed introduction    */
  33.     Collection *symbols;    /* of associations    */
  34.     Collection *actions;    /* of QuizSteps        */
  35.     int class;
  36. };
  37.  
  38. #if __STDC__
  39.  
  40. extern Quiz *Quiz_new();
  41. extern Quiz *Quiz_newFromFile(FILE *stream);
  42. extern void Quiz_display(Quiz *self);
  43. extern int Quiz_perform(Quiz *self);
  44. extern void Quiz_destroy(Quiz *self);
  45.  
  46. #else
  47.  
  48. extern Quiz *Quiz_new();
  49. extern Quiz *Quiz_newFromFile();
  50. extern void Quiz_display();
  51. extern int Quiz_perform();
  52. extern void Quiz_destroy();
  53.  
  54. #endif
  55.  
  56. #define Quiz_getName(s) ((s)->name)
  57. #define Quiz_getClass(s) ((s)->class)
  58. #define Quiz_setClass(s, c) (s)->class = c
  59.  
  60. #endif
  61.  
  62.