Can someone help me find the errors in my codes and fix them... There are mistakes on the raffle
portions. These are my codes so far:
NOTE: Only use void functions if possible, please...
#include
#include
//MAXRAFFLE is the maximum number of available raffle tickets
#define MAXSIZE 100
#define MAXAUCTIONITEMS 1000
#define MAXRAFFLE 1000
//Function prototypes - do not change these
void initRaffle(int raffles[MAXRAFFLE]);
void initAuction(float auction[2][MAXAUCTIONITEMS]);
void buyTickets(float * totalRevenue, int * ticketsSold, int numTickets, float price);
void buyRaffle(float * totalRevenue, int raffles[MAXRAFFLE], int availTickets, int
numTickets, int person);
void bid(float auction[2][MAXAUCTIONITEMS], float bid, int auctionNumber, int person, int
flag);
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber);
void awardRaffle(int raffles[MAXRAFFLE], int raffleNumber, int winner);
//Main function
int main() {
FILE * ifp;
char filename[MAXSIZE], event[MAXSIZE], item[MAXSIZE];
float presale, dayOf, totalRevenue = 0;
float auctions[2][MAXAUCTIONITEMS];
int raffles[MAXRAFFLE];
int numPresale, numAuctions, numRaffle, numPrizes, numEvents;
int i, ticketsSold = 0, auctionFlag = 1;
printf(\"Please enter the input file name.\ \");
scanf(\"%s\", filename);
ifp = fopen(filename, \"r\");
fscanf(ifp, \"%f%f%d\", &presale, &dayOf, &numPresale);
totalRevenue += numPresale * presale;
ticketsSold = numPresale;
fscanf(ifp, \"%d\", &numAuctions);
fscanf(ifp, \"%d%d\", &numRaffle, &numPrizes);
fscanf(ifp, \"%d\", &numEvents);
initRaffle(raffles);
initAuction(auctions);
for (i=0; iauction[0][auctionNumber]) {
auction[0][auctionNumber]=bid;
auction[1][auctionNumber]=person;
printf(\"\ BIDITEM %d ACCEPTED for PERSON %d at %0.2f
DOLLARS\",auctionNumber,person, bid);
}
else {
printf(\"\ BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS\",auctionNumber,person, bid);
}
}
else
printf(\"\ BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS\",auctionNumber,person, bid);
}
// Pre-conditions: auction is an 2D array that holds the current highest bid and the person with
// the highest bid
// auctionNumber is the numerical identifier for the item being awarded
// Post-condition: Returns the value of the highest bid for the auction specified by auction
number
//
// What to do in this function: Check to see if the auction identified by auctionNumber has any
// bids. If so, award the auction to the person with the highest bid. If not, print out that
// there have been no bids for this item. Return the appropriate value to be added to totalRevenue
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber) {
if(auction[0][auctionNumber]!= EOF) {
printf(\"\ AUCTION ITEM %d WON BY PERSON %.2f for $%.2f\",auctionNumber,
auction[1][auctionNumber],auction[0][auctionNumber]);
return auction[0][auctionNumber];
}
printf(\"\ NO BIDS FOR AUCTION ITEM %d\", auctionNumber);
return 0;
}
// Pre-conditions: raffles is an array of all possible raffle tickets
// .
Trauma-Informed Leadership - Five Practical Principles
Can someone help me find the errors in my codes and fix them... Ther.pdf
1. Can someone help me find the errors in my codes and fix them... There are mistakes on the raffle
portions. These are my codes so far:
NOTE: Only use void functions if possible, please...
#include
#include
//MAXRAFFLE is the maximum number of available raffle tickets
#define MAXSIZE 100
#define MAXAUCTIONITEMS 1000
#define MAXRAFFLE 1000
//Function prototypes - do not change these
void initRaffle(int raffles[MAXRAFFLE]);
void initAuction(float auction[2][MAXAUCTIONITEMS]);
void buyTickets(float * totalRevenue, int * ticketsSold, int numTickets, float price);
void buyRaffle(float * totalRevenue, int raffles[MAXRAFFLE], int availTickets, int
numTickets, int person);
void bid(float auction[2][MAXAUCTIONITEMS], float bid, int auctionNumber, int person, int
flag);
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber);
void awardRaffle(int raffles[MAXRAFFLE], int raffleNumber, int winner);
//Main function
int main() {
FILE * ifp;
char filename[MAXSIZE], event[MAXSIZE], item[MAXSIZE];
float presale, dayOf, totalRevenue = 0;
float auctions[2][MAXAUCTIONITEMS];
int raffles[MAXRAFFLE];
int numPresale, numAuctions, numRaffle, numPrizes, numEvents;
int i, ticketsSold = 0, auctionFlag = 1;
printf("Please enter the input file name. ");
scanf("%s", filename);
ifp = fopen(filename, "r");
fscanf(ifp, "%f%f%d", &presale, &dayOf, &numPresale);
totalRevenue += numPresale * presale;
ticketsSold = numPresale;
fscanf(ifp, "%d", &numAuctions);
2. fscanf(ifp, "%d%d", &numRaffle, &numPrizes);
fscanf(ifp, "%d", &numEvents);
initRaffle(raffles);
initAuction(auctions);
for (i=0; iauction[0][auctionNumber]) {
auction[0][auctionNumber]=bid;
auction[1][auctionNumber]=person;
printf(" BIDITEM %d ACCEPTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
else {
printf(" BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
}
else
printf(" BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
// Pre-conditions: auction is an 2D array that holds the current highest bid and the person with
// the highest bid
// auctionNumber is the numerical identifier for the item being awarded
// Post-condition: Returns the value of the highest bid for the auction specified by auction
number
//
// What to do in this function: Check to see if the auction identified by auctionNumber has any
// bids. If so, award the auction to the person with the highest bid. If not, print out that
// there have been no bids for this item. Return the appropriate value to be added to totalRevenue
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber) {
if(auction[0][auctionNumber]!= EOF) {
printf(" AUCTION ITEM %d WON BY PERSON %.2f for $%.2f",auctionNumber,
auction[1][auctionNumber],auction[0][auctionNumber]);
return auction[0][auctionNumber];
}
printf(" NO BIDS FOR AUCTION ITEM %d", auctionNumber);
return 0;
3. }
// Pre-conditions: raffles is an array of all possible raffle tickets
// winner is the winning ticket number
// raffleNumber is the current raffle being held
//
// Post-condition: prints out the numerical identifier of the person who
// holds the winning ticket number
void awardRaffle(int raffles[MAXRAFFLE], int raffleNumber, int winner) {
while (raffles[winner] != EOF) {
printf (" RAFFLE %d WON BY PERSON %d", raffleNumber,raffles[winner]);
break;
}
}
INPUT:
15 25 200
3
100 4
27
BUY TICKET 8
BUY RAFFLE 30 22
BIDITEM 0 2 5
BIDITEM 0 3 20
BUY TICKET 10
BUY RAFFLE 40 209
BUY TICKET 1
BIDITEM 1 17 50
BIDITEM 2 5 30
BUY RAFFLE 26 123
BUY TICKET 3
BIDITEM 1 16 65
BUY RAFFLE 19 211
BIDITEM 1 17 70
BIDITEM 2 200 45
BIDITEM 2 201 54
BUY RAFFLE 1 27
CLOSEAUCTION
4. BIDITEM 1 100 10000
AWARD RAFFLE 0 13
AWARD RAFFLE 1 98
AWARD RAFFLE 2 30
AWARD RAFFLE 3 85
AWARD AUCTION 0
AWARD AUCTION 1
AWARD AUCTION 2
TOTAL REVENUE
CORRECT OUTPUT:
SOLD TICKETS 200 - 207
RAFFLE TICKETS 0 - 29 given to PERSON 22
BIDITEM 0 ACCEPTED for PERSON 2 at 5.00 DOLLARS
BIDITEM 0 ACCEPTED for PERSON 3 at 20.00 DOLLARS
SOLD TICKETS 208 - 217
RAFFLE TICKETS 30 - 69 given to PERSON 209
SOLD TICKETS 218 - 218
BIDITEM 1 ACCEPTED for PERSON 17 at 50.00 DOLLARS
BIDITEM 2 ACCEPTED for PERSON 5 at 30.00 DOLLARS
RAFFLE TICKETS 70 - 95 given to PERSON 123
SOLD TICKETS 219 - 221
BIDITEM 1 ACCEPTED for PERSON 16 at 65.00 DOLLARS
RAFFLE TICKETS 96 - 99 given to PERSON 211
BIDITEM 1 ACCEPTED for PERSON 17 at 70.00 DOLLARS
BIDITEM 2 ACCEPTED for PERSON 200 at 45.00 DOLLARS
BIDITEM 2 ACCEPTED for PERSON 201 at 54.00 DOLLARS
NO RAFFLE TICKETS given to PERSON 27
CLOSEAUCTION
BIDITEM 1 REJECTED for PERSON 100 at 10000.00 DOLLARS
RAFFLE 0 WON BY PERSON 22
RAFFLE 1 WON BY PERSON 211
RAFFLE 2 WON BY PERSON 209
RAFFLE 3 WON BY PERSON 123
AUCTION ITEM 0 WON BY PERSON 3 for $20.00
AUCTION ITEM 1 WON BY PERSON 17 for $70.00
AUCTION ITEM 2 WON BY PERSON 201 for $54.00
5. TOTALREVENUE is $3894.00
Solution
#include
#include
//MAXRAFFLE is the maximum number of available raffle tickets
#define MAXSIZE 100
#define MAXAUCTIONITEMS 1000
#define MAXRAFFLE 1000
//Function prototypes - do not change these
void initRaffle(int raffles[MAXRAFFLE]);
void initAuction(float auction[2][MAXAUCTIONITEMS]);
void buyTickets(float * totalRevenue, int * ticketsSold, int numTickets, float price);
void buyRaffle(float * totalRevenue, int raffles[MAXRAFFLE], int availTickets, int
numTickets, int person);
void bid(float auction[2][MAXAUCTIONITEMS], float bid, int auctionNumber, int person, int
flag);
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber);
void awardRaffle(int raffles[MAXRAFFLE], int raffleNumber, int winner);
//Main function
int main() {
FILE * ifp;
char filename[MAXSIZE], event[MAXSIZE], item[MAXSIZE];
float presale, dayOf, totalRevenue = 0;
float auctions[2][MAXAUCTIONITEMS];
int raffles[MAXRAFFLE];
int numPresale, numAuctions, numRaffle, numPrizes, numEvents;
int i, ticketsSold = 0, auctionFlag = 1;
printf("Please enter the input file name. ");
scanf("%s", filename);
6. ifp = fopen(filename, "r");
fscanf(ifp, "%f%f%d", &presale, &dayOf, &numPresale);
totalRevenue += numPresale * presale;
ticketsSold = numPresale;
fscanf(ifp, "%d", &numAuctions);
fscanf(ifp, "%d%d", &numRaffle, &numPrizes);
fscanf(ifp, "%d", &numEvents);
initRaffle(raffles);
initAuction(auctions);
for (i=0; iauction[0][auctionNumber]) {
auction[0][auctionNumber]=bid;
auction[1][auctionNumber]=person;
printf(" BIDITEM %d ACCEPTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
else {
printf(" BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
}
else
printf(" BIDITEM %d REJECTED for PERSON %d at %0.2f
DOLLARS",auctionNumber,person, bid);
}
// Pre-conditions: auction is an 2D array that holds the current highest bid and the person with
// the highest bid
// auctionNumber is the numerical identifier for the item being awarded
// Post-condition: Returns the value of the highest bid for the auction specified by auction
number
7. //
// What to do in this function: Check to see if the auction identified by auctionNumber has any
// bids. If so, award the auction to the person with the highest bid. If not, print out that
// there have been no bids for this item. Return the appropriate value to be added to totalRevenue
float awardAuction(float auction[2][MAXAUCTIONITEMS], int auctionNumber) {
if(auction[0][auctionNumber]!= EOF) {
printf(" AUCTION ITEM %d WON BY PERSON %.2f for $%.2f",auctionNumber,
auction[1][auctionNumber],auction[0][auctionNumber]);
return auction[0][auctionNumber];
}
printf(" NO BIDS FOR AUCTION ITEM %d", auctionNumber);
return 0;
}
// Pre-conditions: raffles is an array of all possible raffle tickets
// winner is the winning ticket number
// raffleNumber is the current raffle being held
//
// Post-condition: prints out the numerical identifier of the person who
// holds the winning ticket number
void awardRaffle(int raffles[MAXRAFFLE], int raffleNumber, int winner) {
while (raffles[winner] != EOF) {
printf (" RAFFLE %d WON BY PERSON %d", raffleNumber,raffles[winner]);
break;
}
}