| | |
debugger help
Please support our C advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Mar 2009
Posts: 25
Reputation:
Solved Threads: 0
hi everyone, i have a program code here, its working, but as soon as im trying to add results debugger breaks after adding score, can anyone help me to fix this problem. Program is working ok. heres the code:
thanks
C Syntax (Toggle Plain Text)
#include <stdio.h> #include <string.h> void addTeam(char[50], int); void calculateResult(int, int, int, int); char newTeam[50]; int menuChoice = 0; int numOfTeams = 0; int team1, team2, team1Score, team2Score; typedef struct { char name[50]; int points, goalsFor, goalsAgainst, played, won, lost, drawn; } team; team teams[12]; void sortTable(team[]); int main(void) { int i; while (menuChoice != 4) { printf("Football League\n\n"); printf("1. Add team\n"); printf("2. Display league table\n"); printf("3. Add result\n"); printf("4. Quit\n"); scanf("%d", &menuChoice); if (menuChoice == 1) { if (numOfTeams == 11) printf("Error: Maximum amount of teams has been entered"); else { printf("Add new team\n"); fgets(newTeam, sizeof(newTeam), stdin); newTeam[strlen(newTeam)-1] = '\0'; fgets(newTeam, sizeof(newTeam), stdin); newTeam[strlen(newTeam)-1] = '\0'; addTeam(newTeam, numOfTeams); numOfTeams++; printf("\nNew team added\n"); } } else if (menuChoice == 2) { printf("\t\tP\tW\tD\tL\tF\tA\tT\n\n\n"); for ( i = 0; i < 12; i++) { printf("%s\t\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", teams[i].name, teams[i].played, teams[i].won,teams[i].drawn, teams[i].lost, teams[i].goalsFor, teams[i].goalsAgainst, teams[i].points); } } else if (menuChoice == 3) { printf("Enter first team playing:\n"); scanf("%d", &team1); printf("Enter second team playing:\n"); scanf("%d", &team2); printf("Enter first teams score:\n"); scanf("%d", &team1Score); printf("Enter second teams score:\n"); scanf("%d", &team2Score); calculateResult(team1, team2, team1Score, team2Score); } } return 0; } void addTeam(char *teamName, int i) { strcpy(teams[i].name, teamName); teams[i].points = 0; teams[i].goalsFor = 0; teams[i].goalsAgainst = 0; teams[i].played = 0; teams[i].won = 0; teams[i].lost = 0; teams[i].drawn = 0; } void calculateResult(int t1, int t2, int t1R, int t2R) { if (t1R > t2R) { teams[(t1-1)].points+=3; teams[(t1-1)].won++; teams[(t2-1)].lost++; } else if (t2R > t1R) { teams[(t2-1)].points+=3; teams[(t2-1)].won++; teams[(t1-1)].lost++; } else { teams[(t2-1)].points++; teams[(t1-1)].points++; teams[(t1-1)].drawn++; teams[(t2-1)].drawn++; } teams[(t1-1)].goalsFor+=t1R; teams[(t2-1)].goalsFor+=t2R; teams[(t1-1)].goalsAgainst+=t2R; teams[(t2-1)].goalsAgainst+=t1R; teams[(t1-1)].played++; teams[(t2-1)].played++; sortTable(teams); } void sortTable(team teams1[]) { team temp[1]; int i, j; for ( i = 0; i < 12; i++) { for ( j = 11; j >=0; j--) { if (teams1[j].points > teams1[(j-1)].points) { temp[1] = teams1[(j-1)]; teams1[(j-1)] = teams1[j]; teams1[j] = temp[1]; } } } }
0
#3 Nov 1st, 2009
C Syntax (Toggle Plain Text)
team temp[1];
temp[0] .temp[1] = teams1[(j-1)]; teams1[(j-1)] = teams1[j]; teams1[j] = temp[1];
Last edited by Dave Sinkula; Nov 1st, 2009 at 7:20 pm.
"One of the methods used by statists to destroy capitalism consists in establishing controls that tie a given industry hand and foot, making it unable to solve its problems, then declaring that freedom has failed and stronger controls are necessary." --Ayn Rand
![]() |
Other Threads in the C Forum
- Previous Thread: Message Box in C
- Next Thread: C program to remove duplicates
Views: 214 | Replies: 3
| Thread Tools | Search this Thread |
Tag cloud for C
#include * .net append array arrays bash binarysearch changingto char character cm copyanyfile copypdffile createprocess() database directory drawing dynamic execv feet fgets file floatingpointvalidation fork function functions getlogicaldrivestrin givemetehcodez global grade graphics gtkwinlinux histogram homework i/o ide include infiniteloop initialization input interest intmain() iso keyboard kilometer lazy license linked linkedlist linux list looping loopinsideloop. lowest matrix meter microsoft mqqueue mysql oddnumber odf open openwebfoundation overwrite pause pdf pointer pointers posix power process program programming pyramidusingturboccodes read recursion recv recvblocked reversing segmentationfault single socket socketprogramming spoonfeeding standard strchr string student suggestions system test testing threads unix urboc user whythiscodecausesegmentationfault win32api windowsapi






