5748207 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n conjunc.bas
   1: DECLARE FUNCTION FixVerb$ (v$)
   2: DECLARE FUNCTION IsVowel! (v$)
   3: DECLARE SUB DoExt (Ext$)
   4: ON ERROR GOTO AResume
   5: DIM SHARED Ext$(1 TO 8)
   6: CLS
   7: LINE INPUT "Output Device>", IO$
   8: OPEN IO$ FOR OUTPUT AS #1
   9: 10 LINE INPUT "Verb>", IRVerb$
  10: IF IRVerb$ = "" THEN CLOSE 1: END
  11: IF IsVowel(LEFT$(IRVerb$, 1)) THEN Sep$ = "'" ELSE Sep$ = "e "
  12: LINE INPUT "Meaning>", Meaning$
  13: DoExt RIGHT$(UCASE$(IRVerb$), 2)
  14: Stem$ = LCASE$(LEFT$(IRVerb$, LEN(IRVerb$) - 2))
  15: IF RTRIM$(LTRIM$(Meaning$)) <> "" THEN PRINT #1, UCASE$(LEFT$(IRVerb$, 1)) + LCASE$(RIGHT$(IRVerb$, LEN(IRVerb$) - 1)) + " - " + LCASE$(RTRIM$(LTRIM$(Meaning$)))
  16: PRINT #1, "(1)  Present Indicative               (2)  Negative"
  17: PRINT #1, ""
  18: PRINT #1, "Je " + Stem$ + Ext$(1) + STRING$(38 - LEN("Je " + Stem$ + Ext$(1)), " ") + "Je ne " + Stem$ + Ext$(1) + " pas"
  19: PRINT #1, "Tu " + Stem$ + Ext$(2) + STRING$(38 - LEN("Tu " + Stem$ + Ext$(2)), " ") + "Tu ne " + Stem$ + Ext$(2) + " pas"
  20: PRINT #1, "Il " + Stem$ + Ext$(3) + STRING$(38 - LEN("Il " + Stem$ + Ext$(3)), " ") + "Il ne " + Stem$ + Ext$(3) + " pas"
  21: PRINT #1, "Elle " + Stem$ + Ext$(4) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(4)), " ") + "Elle ne " + Stem$ + Ext$(4) + " pas"
  22: PRINT #1, "Nous " + Stem$ + Ext$(5) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(5)), " ") + "Nous ne " + Stem$ + Ext$(5) + " pas"
  23: PRINT #1, "Vous " + Stem$ + Ext$(6) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(6)), " ") + "Vous ne " + Stem$ + Ext$(6) + " pas"
  24: PRINT #1, "Ils " + Stem$ + Ext$(7) + STRING$(38 - LEN("Ils " + Stem$ + Ext$(7)), " ") + "Ils ne " + Stem$ + Ext$(7) + " pas"
  25: PRINT #1, "Elles " + Stem$ + Ext$(8) + STRING$(38 - LEN("eeIll " + Stem$ + Ext$(8)), " ") + "Elles ne " + Stem$ + Ext$(8) + " pas"
  26: PRINT #1, ""
  27: PRINT #1, ""
  28: PRINT #1, "(3)  Interogative                     (4)  Negative Interogative"
  29: PRINT #1, ""
  30: PRINT #1, "Est-ce que je " + Stem$ + Ext$(1) + STRING$(38 - LEN("Est-ce que je " + Stem$ + Ext$(1)), " ") + "Est-ce que je ne " + Stem$ + Ext$(1) + " pas"
  31: MID$(Stem$, 1, 1) = UCASE$(MID$(Stem$, 1, 1))
  32: PRINT #1, Stem$ + Ext$(2) + "-tu" + STRING$(38 - LEN("Tu " + Stem$ + Ext$(2)), " ") + "Ne " + LCASE$(Stem$) + Ext$(2) + "-tu pas"
  33: PRINT #1, Stem$ + Ext$(3) + "-il" + STRING$(38 - LEN("Il " + Stem$ + Ext$(3)), " ") + "Ne " + LCASE$(Stem$) + Ext$(3) + "-il pas"
  34: PRINT #1, Stem$ + Ext$(4) + "-elle" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(4)), " ") + "Ne " + LCASE$(Stem$) + Ext$(4) + "-elle pas"
  35: PRINT #1, Stem$ + Ext$(5) + "-nous" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(5)), " ") + "Ne " + LCASE$(Stem$) + Ext$(5) + "-nous pas"
  36: PRINT #1, Stem$ + Ext$(6) + "-vous" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(6)), " ") + "Ne " + LCASE$(Stem$) + Ext$(6) + "-vous pas"
  37: PRINT #1, Stem$ + Ext$(7) + "-ils" + STRING$(38 - LEN("Ils " + Stem$ + Ext$(7)), " ") + "N" + Sep$ + LCASE$(FixVerb$(Stem$)) + Ext$(7) + "-ils pas"
  38: PRINT #1, Stem$ + Ext$(8) + "-elles" + STRING$(38 - LEN("eeIll " + Stem$ + Ext$(8)), " ") + "Ne " + LCASE$(Stem$) + Ext$(8) + "-elles pas"
  39: PRINT #1, ""
  40: PRINT #1, ""
  41: LOCATE , , 1: LOCATE 25, 1: PRINT "Do another (y/N)?"; : d$ = UCASE$(INPUT$(1)): PRINT d$;
  42: IF d$ = "Y" THEN CLS : GOTO 10
  43: CLOSE 1
  44: END
  45: 
  46: AResume:
  47: RESUME
  48: 
  49: SUB DoExt (Ext$)
  50: SELECT CASE UCASE$(Ext$)
  51: CASE "IR"
  52:         Ext$(1) = "is"  'JE-IS
  53:         Ext$(2) = "is"  'TU-IS
  54:         Ext$(3) = "it"  'IL-IT
  55:         Ext$(4) = "it"  'ELLE-IT
  56:         Ext$(5) = "issons"  'NOUS-ISSONS
  57:         Ext$(6) = "issez"  'VOUS-ISSEZ
  58:         Ext$(7) = "issent"  'ILS-ISSENT
  59:         Ext$(8) = "issent"  'ELLES-ISSENT
  60: CASE "ER"
  61:         Ext$(1) = "e"  'JE-E
  62:         Ext$(2) = "es"  'TU-ES
  63:         Ext$(3) = "e"  'IL-E
  64:         Ext$(4) = "e"  'ELLE-E
  65:         Ext$(5) = "ons"  'NOUS-ONS
  66:         Ext$(6) = "ez"  'VOUS-EZ
  67:         Ext$(7) = "ent"  'ILS-ENT
  68:         Ext$(8) = "ent"  'ELLES-ENT
  69: CASE "RE"
  70:         Ext$(1) = "s"  'JE-E
  71:         Ext$(2) = "s"  'TU-ES
  72:         Ext$(3) = ""  'IL-
  73:         Ext$(4) = ""  'ELLE-
  74:         Ext$(5) = "ons"  'NOUS-ONS
  75:         Ext$(6) = "ez"  'VOUS-EZ
  76:         Ext$(7) = "ent"  'ILS-ENT
  77:         Ext$(8) = "ent"  'ELLES-ENT
  78: CASE ELSE: PRINT "UNKNOW VERB TYPE: " + UCASE$(Ext$): END
  79: END SELECT
  80: END SUB
  81: 
  82: FUNCTION FixVerb$ (v$)
  83: IF LCASE$(LEFT$(v$, 1)) = "a" OR LCASE$(LEFT$(v$, 1)) = "e" OR LCASE$(LEFT$(v$, 1)) = "i" OR LCASE$(LEFT$(v$, 1)) = "o" OR LCASE$(LEFT$(v$, 1)) = "u" THEN FixVerb$ = RIGHT$(v$, LEN(v$) - 1) ELSE FixVerb$ = v$
  84: END FUNCTION
  85: 
  86: FUNCTION IsVowel (v$)
  87: IF LCASE$(LEFT$(v$, 1)) = "a" OR LCASE$(LEFT$(v$, 1)) = "e" OR LCASE$(LEFT$(v$, 1)) = "i" OR LCASE$(LEFT$(v$, 1)) = "o" OR LCASE$(LEFT$(v$, 1)) = "u" THEN IsVowel = -1 ELSE IsVowel = 0
  88: END FUNCTION
  89: 
5748208 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:01:11