DECLARE FUNCTION FixVerb$ (v$) DECLARE FUNCTION IsVowel! (v$) DECLARE SUB DoExt (Ext$) ON ERROR GOTO AResume DIM SHARED Ext$(1 TO 8) CLS LINE INPUT "Output Device>", IO$ OPEN IO$ FOR OUTPUT AS #1 10 LINE INPUT "Verb>", IRVerb$ IF IRVerb$ = "" THEN CLOSE 1: END IF IsVowel(LEFT$(IRVerb$, 1)) THEN Sep$ = "'" ELSE Sep$ = "e " LINE INPUT "Meaning>", Meaning$ DoExt RIGHT$(UCASE$(IRVerb$), 2) Stem$ = LCASE$(LEFT$(IRVerb$, LEN(IRVerb$) - 2)) IF RTRIM$(LTRIM$(Meaning$)) <> "" THEN PRINT #1, UCASE$(LEFT$(IRVerb$, 1)) + LCASE$(RIGHT$(IRVerb$, LEN(IRVerb$) - 1)) + " - " + LCASE$(RTRIM$(LTRIM$(Meaning$))) PRINT #1, "(1) Present Indicative (2) Negative" PRINT #1, "" PRINT #1, "Je " + Stem$ + Ext$(1) + STRING$(38 - LEN("Je " + Stem$ + Ext$(1)), " ") + "Je ne " + Stem$ + Ext$(1) + " pas" PRINT #1, "Tu " + Stem$ + Ext$(2) + STRING$(38 - LEN("Tu " + Stem$ + Ext$(2)), " ") + "Tu ne " + Stem$ + Ext$(2) + " pas" PRINT #1, "Il " + Stem$ + Ext$(3) + STRING$(38 - LEN("Il " + Stem$ + Ext$(3)), " ") + "Il ne " + Stem$ + Ext$(3) + " pas" PRINT #1, "Elle " + Stem$ + Ext$(4) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(4)), " ") + "Elle ne " + Stem$ + Ext$(4) + " pas" PRINT #1, "Nous " + Stem$ + Ext$(5) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(5)), " ") + "Nous ne " + Stem$ + Ext$(5) + " pas" PRINT #1, "Vous " + Stem$ + Ext$(6) + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(6)), " ") + "Vous ne " + Stem$ + Ext$(6) + " pas" PRINT #1, "Ils " + Stem$ + Ext$(7) + STRING$(38 - LEN("Ils " + Stem$ + Ext$(7)), " ") + "Ils ne " + Stem$ + Ext$(7) + " pas" PRINT #1, "Elles " + Stem$ + Ext$(8) + STRING$(38 - LEN("eeIll " + Stem$ + Ext$(8)), " ") + "Elles ne " + Stem$ + Ext$(8) + " pas" PRINT #1, "" PRINT #1, "" PRINT #1, "(3) Interogative (4) Negative Interogative" PRINT #1, "" 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" MID$(Stem$, 1, 1) = UCASE$(MID$(Stem$, 1, 1)) PRINT #1, Stem$ + Ext$(2) + "-tu" + STRING$(38 - LEN("Tu " + Stem$ + Ext$(2)), " ") + "Ne " + LCASE$(Stem$) + Ext$(2) + "-tu pas" PRINT #1, Stem$ + Ext$(3) + "-il" + STRING$(38 - LEN("Il " + Stem$ + Ext$(3)), " ") + "Ne " + LCASE$(Stem$) + Ext$(3) + "-il pas" PRINT #1, Stem$ + Ext$(4) + "-elle" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(4)), " ") + "Ne " + LCASE$(Stem$) + Ext$(4) + "-elle pas" PRINT #1, Stem$ + Ext$(5) + "-nous" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(5)), " ") + "Ne " + LCASE$(Stem$) + Ext$(5) + "-nous pas" PRINT #1, Stem$ + Ext$(6) + "-vous" + STRING$(38 - LEN("eeIl " + Stem$ + Ext$(6)), " ") + "Ne " + LCASE$(Stem$) + Ext$(6) + "-vous pas" PRINT #1, Stem$ + Ext$(7) + "-ils" + STRING$(38 - LEN("Ils " + Stem$ + Ext$(7)), " ") + "N" + Sep$ + LCASE$(FixVerb$(Stem$)) + Ext$(7) + "-ils pas" PRINT #1, Stem$ + Ext$(8) + "-elles" + STRING$(38 - LEN("eeIll " + Stem$ + Ext$(8)), " ") + "Ne " + LCASE$(Stem$) + Ext$(8) + "-elles pas" PRINT #1, "" PRINT #1, "" LOCATE , , 1: LOCATE 25, 1: PRINT "Do another (y/N)?"; : d$ = UCASE$(INPUT$(1)): PRINT d$; IF d$ = "Y" THEN CLS : GOTO 10 CLOSE 1 END AResume: RESUME SUB DoExt (Ext$) SELECT CASE UCASE$(Ext$) CASE "IR" Ext$(1) = "is" 'JE-IS Ext$(2) = "is" 'TU-IS Ext$(3) = "it" 'IL-IT Ext$(4) = "it" 'ELLE-IT Ext$(5) = "issons" 'NOUS-ISSONS Ext$(6) = "issez" 'VOUS-ISSEZ Ext$(7) = "issent" 'ILS-ISSENT Ext$(8) = "issent" 'ELLES-ISSENT CASE "ER" Ext$(1) = "e" 'JE-E Ext$(2) = "es" 'TU-ES Ext$(3) = "e" 'IL-E Ext$(4) = "e" 'ELLE-E Ext$(5) = "ons" 'NOUS-ONS Ext$(6) = "ez" 'VOUS-EZ Ext$(7) = "ent" 'ILS-ENT Ext$(8) = "ent" 'ELLES-ENT CASE "RE" Ext$(1) = "s" 'JE-E Ext$(2) = "s" 'TU-ES Ext$(3) = "" 'IL- Ext$(4) = "" 'ELLE- Ext$(5) = "ons" 'NOUS-ONS Ext$(6) = "ez" 'VOUS-EZ Ext$(7) = "ent" 'ILS-ENT Ext$(8) = "ent" 'ELLES-ENT CASE ELSE: PRINT "UNKNOW VERB TYPE: " + UCASE$(Ext$): END END SELECT END SUB FUNCTION FixVerb$ (v$) 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$ END FUNCTION FUNCTION IsVowel (v$) 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 END FUNCTION