//Realiza a intersecao de dois conjunto em um novo. conjunto * intersec(conjunto * ca, conjunto * cb) { //A ∩ B = A - (A - B) conjunto * intersecao = NULL; conjunto * temp = NULL; //lista temporária para poder realizar o cálculo. temp = subtrair(ca, cb); intersecao = subtrair(ca, temp); while(temp != NULL){ //limpa a lista temporária temp = remover_elemento (temp, temp->numero); } return intersecao; }
void menu(){ char op; clrscr(); gotoxy(30,1); printf("Menu de Opcoes\n\n"); gotoxy(30,5); printf("1 - Ler valores\n"); gotoxy(30,7); printf("2 - Somar\n"); gotoxy(30,9); printf("3 - Subtrair\n"); gotoxy(30,11); printf("4 - Multiplicar\n"); gotoxy(30,13); printf("5 - Dividir\n"); gotoxy(30,15); printf("6 - Sair\n\n"); gotoxy(30,20); printf("Digite a opcao:"); op = getch(); /* scanf("%c,&op") */ switch(op){ case '1' : ler(); break; case '2' : somar(); break; case '3' : subtrair(); break; case '4' : multiplicar(); break; case '5' : dividir(); break; case '6' : exit(0); break; default : menu();}}
//Realiza a uniao de dois conjuntos em um novo. conjunto * unir(conjunto * ca, conjunto * cb) { // A U B = (A - B) + B conjunto * uniao = NULL; conjunto * temp = NULL; //lista temporária para poder realizar o cálculo. temp = subtrair(ca, cb); uniao = somar(temp, cb); /* *Com o tratamento feito pela função inserir a poderiamos usar apenas a seguinte linha: * *uniao = somar (ca, cb); *poém qualquer alteração em inserir iria danificar a função, por isso opitei pela fórmula da teoria dos conjuntos. */ while (temp != NULL) { //limpa a lista temporária temp = remover_elemento(temp, temp->numero); } return uniao; }
void Calcular::fazTudo(int a, int b){ somar(a, b); subtrair(a, b); }