c - Why doesn't my program print out the values I want? -
i've been scratching head on 1 while now.
i'm trying write program randomly generates score in 6 hockey games , assigns results values. however, points awarded winning team (3 victory, , 1 tie) doesn't seem stored correctly in post in post i'm trying add them (serie[i].poang), since last part of program prints out scores of each team "0" when run program. best guess off if-else statements assign score, can't find myself.
the variables written in swedish, go ahead , ask if unclear. on beforehand!
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <string.h> #define esc 27 struct lag { //struct team, char name, int goals made, int goals let in, int points char namn[20]; int gjorda; int inslappta; int poang; }; int main(void) { struct lag temp, serie[] = { //the names of several swedish hockey teams {"bryn\204s", 0, 0, 0}, {"djurg\206rden", 0, 0, 0}, {"fr\224lunda", 0, 0, 0}, {"f\204rjestad", 0, 0, 0}, {"hv 71 ", 0, 0, 0}, {"link\224ping", 0, 0, 0}, {"lule\206 ", 0, 0, 0}, {"modo ", 0, 0, 0}, {"r\224gle ", 0, 0, 0}, {"skellefte\206", 0, 0, 0}, {"s\224dert\204lje", 0, 0, 0}, {"timr\206 ", 0, 0, 0} }; int i, j, hemma, borta; srand((unsigned) time(null)); { system("cls"); (i = 0; <= 10; += 2) { hemma = rand() % 8; //both teams assigned random goals borta = rand() % 8; serie[i].gjorda = serie[i].gjorda + hemma; serie[i].inslappta = serie[i].inslappta + borta; serie[i + 1].gjorda = serie[i + 1].gjorda + borta; serie[i + 1].inslappta = serie[i + 1].inslappta + hemma; printf("%s - %s \t \t \t \t %d - %d \n", serie[i].namn, serie[i + 1].namn, hemma, borta); //the results of each game printed out } if (hemma > borta) //score assignment, think problem serie[i].poang = serie[i].poang + 3; else if (hemma == borta) { serie[i].poang = serie[i].poang + 1; serie[i + 1].poang = serie[i + 1].poang + 1; } else if (hemma < borta) serie[i + 1].poang = serie[i + 1].poang + 3; (i = 0; < 11; i++) (j = + 1; j < 12; j++) if (serie[j].poang < serie[i].poang) { temp.poang = serie[i].poang; serie[i].poang = serie[j].poang; serie[j].poang = temp.poang; temp.gjorda = serie[i].gjorda; serie[i].gjorda = serie[j].gjorda; serie[j].gjorda = temp.gjorda; temp.inslappta = serie[i].inslappta; serie[i].inslappta = serie[j].inslappta; serie[j].inslappta = temp.inslappta; strcpy(temp.namn, serie[i].namn); strcpy(serie[i].namn, serie[j].namn); strcpy(serie[j].namn, temp.namn); } (i = 0; < 11; i++) (j = + 1; j < 12; j++) if (serie[j].poang == serie[i].poang) if ((serie[j].gjorda - serie[j].inslappta) < (serie[i].gjorda - serie[i].inslappta)) { temp.poang = serie[i].poang; serie[i].poang = serie[j].poang; serie[j].poang = temp.poang; temp.gjorda = serie[i].gjorda; serie[i].gjorda = serie[j].gjorda; serie[j].gjorda = temp.gjorda; temp.inslappta = serie[i].inslappta; serie[i].inslappta = serie[j].inslappta; serie[j].inslappta = temp.inslappta; strcpy(temp.namn, serie[i].namn); strcpy(serie[i].namn, serie[j].namn); strcpy(serie[j].namn, temp.namn); } (i = 0; <= 11; i++) { printf(" %s \t \t %d - %d \t \t %d \n", serie[i].namn, serie[i].gjorda, serie[i].inslappta, serie[i].poang); } } while (_getch() != esc); return 0; }
Comments
Post a Comment