Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <conio.h>
- struct exp {
- int a;
- int b;
- int c;
- int d;
- };
- /*
- obs1
- sim não
- ---------------------------------------
- sim | a | b | a + b | sim (obs 2)
- obs2 ---------------------------------------
- não | c | d | c + d | não (obs 2)
- ---------------------------------------
- | a + c | b + d | a + b + c + d | total
- ---------------------------------------
- sim não total
- (obs 1) (obs 1)
- */
- void menu();
- void getValues(struct exp *ex);
- float kappa(int a, int b, int c, int d, int debug);
- int main() {
- setlocale(LC_ALL, "portuguese");
- struct exp exp;
- char resp;
- do {
- menu();
- getValues(&exp);
- float result = kappa(exp.a, exp.b, exp.c, exp.d, 0);
- printf("\nValor do kappa: %.3f (Concordância ", result);
- if (result >= 0.81)
- printf("excelente!");
- else if (result >= 0.61)
- printf("substancial");
- else if (result >= 0.41)
- printf("moderada");
- else if (result >= 0.21)
- printf("considerável");
- else if (result >= 0.1)
- printf("ligeira");
- else
- printf("pobre");
- printf(")\n");
- getResp:
- printf("\nDeseja fazer outro experimento? <s/n>: ");
- resp = getche();
- resp = (resp == 'S' || resp == 'N' ? resp + 32 : resp);
- if (resp != 'n' && resp != 's')
- goto getResp;
- system("cls");
- } while (resp == 's');
- printf("Programa finalizado!\n");
- return 0;
- }
- void menu() {
- printf("\n");
- printf("********************************** "); printf(" Obs. 1 \n");
- printf("** ** "); printf(" Sim Não \n");
- printf("** Teste Kappa ** "); printf(" --------------------- \n");
- printf("** ** "); printf(" Sim | a | b | \n");
- printf("** Por Sergio Toledo Piza ** "); printf(" Obs. 2 --------------------- \n");
- printf("** ** "); printf(" Não | c | d | \n");
- printf("********************************** "); printf(" --------------------- \n\n");
- }
- void getValues(struct exp *ex) {
- printf("Digite o número que os dois observadores concordaram (a): ");
- scanf("%i", &ex->a);
- printf("Digite o número que os dois observadores não concordaram (d): ");
- scanf("%i", &ex->d);
- printf("Digite o número que o observador 1 concordou e que o observador 2 discordou (c): ");
- scanf("%i", &ex->c);
- printf("Digite o número que o observador 2 concordou e que o observador 1 discordou (b): ");
- scanf("%i", &ex->b);
- }
- float kappa(int a, int b, int c, int d, int debug) {
- int total = a + b + c + d;
- float conc_obs = (a + d) / (float) total;
- float conc_esp = (a + b) * (a + c);
- conc_esp += (c + d) * (b + d);
- conc_esp /= (float) total * total;
- float k = (conc_obs - conc_esp);
- k /= (1 - conc_esp);
- if (debug == 1) {
- printf("\ntotal: %i\n", total);
- printf("conc_obs: %.2f\n", conc_obs);
- printf("conc_esp: %.2f\n", conc_esp);
- printf("k: %.2f\n\n", k);
- }
- return k;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement