coniugazione verbi latini (parziale e con varianti)

esci lista.htm




/* verbo7.mar */
/* verbi latini */

#include "string.h"
#include "stdio.h"

char infinito[20],perfecto[20],radice[15],radice1[15];
char des1[72][8]={"o","as","at","amus","atis","ant",
"abam","abas","abat","abamus","abatis","abant",
"abo","abis","abit","abimus","abitis","abunt",
"i","isti","it","imus","istis","erunt",
"eram","eras","erat","eramus","eratis","erant",
"ero","eris","erit","erimus","eritis","erint",
"em","es","et","emus","etis","ent",
"arem","ares","aret","aremus","aretis","arent",
"erim","eris","erit","erimus","eritis","erint",
"issem","isses","isset","issemus","issetis","issent",
"a","ate","ato","ato","atote","anto"};

int i,a,b,x;
int risposta;

void coniuga(char radix[15],int x,char *modi)
{
printf("%s %s\n",modi,infinito);
for (i=x;i<x+6;i++)
printf("%s %s\n",radix,des1[i]);
getch(); clrscr();
}

void chiede()
{
puts("scrivi infinito verbo latino regolare:1 coniugazione");
puts("coniuga tempi su richiesta");
gets(infinito);
a=strlen(infinito);
a=a-3;
memcpy(radice,infinito,a);
puts("scrivi perfetto stesso verbo");
gets(perfecto);
b=strlen(perfecto);
memcpy(radice1,perfecto,b-1);
}

void forma()
{
puts("tempo da coniugare=");
puts("--------------- indicativo --------------------- ");
puts("1=presente....2=imperfetto........3=futuro");
puts("4=perfetto....5=piuccheferfetto...6=futuro anteriore");
puts("---------------- congiuntivo ----------------------");
puts("7=presente....8=imperfetto........9=perfetto");
puts("10=piuccheperfetto");
puts("---------------- imperativo --------------------- ");
puts("11=presente e futuro");
puts("================================================== ");
scanf("%d",&risposta);
clrscr();
switch(risposta)
{
case 1 :coniuga(radice,0,"presente indicativo di ");break;
case 2 :coniuga(radice,6,"imperfetto indicativo di ");break;
case 3 :coniuga(radice,12,"futuro indicativo di ");break;
case 4 :coniuga(radice1,18,"perfetto indicativo di ");break;
case 5 :coniuga(radice1,24,"piuccheperfetto indicativo di ");break;
case 6 :coniuga(radice1,30,"futuro anteriore di ");break;
case 7 :coniuga(radice,36,"presente congiuntivo di ");break;
case 8 :coniuga(radice,42,"imperfetto congiuntivo di ");break;
case 9 :coniuga(radice1,48,"perfetto congiuntivo di ");break;
case 10 :coniuga(radice1,54,"piuccheperfetto congiuntivo di ");break;
case 11 :coniuga(radice,60,"futuro imperativo di ");break;
default:puts("fine prova:richiesta non esatta");
getch();
}
}


main()
{ clrscr();
chiede();
forma();
puts("fine :arrivederci");
}