gpt4 book ai didi

c - 有没有类似于字符串比较但针对整数的函数?

转载 作者:行者123 更新时间:2023-11-30 20:32:39 25 4
gpt4 key购买 nike

我想允许用户输入可变金额,然后将该金额与我的百分比数组进行比较。然后在我的百分比数组中显示等于或大于用户输入的数字的所有金额。我也想以较低的金额来做这件事,但我认为它们应该是相同的。如果有人可以提供任何见解,我将不胜感激!代码将附在下面..(如果我可以澄清任何事情,请告诉我)

/*
10/31/2017
FOOTBALL STATS
*/

#include <stdio.h>

#define NUM_TEAM 30
#define LEN_NAME 40

void displayWelcome(void);
void calcPercent(double percentages[], int elements, int wins[], int losses[], int ties[]);
void showAll (char name[], char league[], char division[], int wins, int losses, int ties, double percentages);
void displayExit(void);

int main (void)
{
//Display welcome message
displayWelcome();

char name[NUM_TEAM][LEN_NAME] = {0};
char division[NUM_TEAM][LEN_NAME] = {0};
char league[NUM_TEAM][LEN_NAME] = {0};
char line[LEN_NAME];
char menu, again;

int wins[NUM_TEAM] = {0};
int losses[NUM_TEAM] = {0};
int ties[NUM_TEAM] = {0};
int i = 0, count, sum, percentQuery;

double percentages[NUM_TEAM] = {0};
;

FILE * filePtr;

filePtr = fopen("C:\\Users\\thoma\\NFLTeams.txt", "r");
if (filePtr == NULL)
{
printf("Unable to open file\n");
}
else
{
while (i < NUM_TEAM && fgets( line, sizeof(line), filePtr) != NULL)
{
sscanf(line, "%s%s%s%i%i%i",name[i], league[i], division[i], &wins[i], &losses[i], &ties[i]);
i++;
}
fclose(filePtr);
count = i;
}
//^ end reading in file

//Calculate win percentages
calcPercent( percentages, count, wins, losses, ties);

//Main menu loop
do
{
//Ask user how they would like to search
printf("Please choose an option from the following menu:"
"\n-Enter 'a' to display all information contained in the database"
"\n-OR Enter 'b' to search by league"
"\n-OR Enter 'c' to search by division"
"\n-OR Enter 'd' to search by wins above a certain percentage"
"\n-OR Enter 'e' to search by wins below a certain percentage: ");
scanf("\n%c", &menu);

//If user chooses a
if (menu == 'a')
{
//Display all of database
for (i = 0; i <= count - 1; i = i + 1)
{
showAll(name[i], league[i], division[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
//If user chooses b
else if (menu == 'b')
{
// Propmt user to choose AFC or NFC
printf("\nPlease choose from the following menu:\nEnter 'a' to search for teams in the AFC league \nOR enter 'b' to search for teams in the NFC league: ");
// scan for what the user entered
scanf("\n%c", &menu);
//Display option for AFC
if (menu == 'a')
{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (league[i], "AFC") == 0)
{
printf("Here are the standings for the teams in the AFC division:\n");
printf("Team Name: %s \nLeague: %s\nDivision: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], division[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}
else
//Display option for NFC
{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (league[i], "NFC") == 0)
{
printf("Here are the standings for the teams in the NFC division:\n");
printf("Team Name: %s \nLeague: %s\nDivision: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], division[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}
}
//If user chooses c
else if (menu == 'c')
{
printf("\nPlease choose an option from the following menu: \nEnter 'a' if you would like to search for North division standings\n"
"OR enter 'b' to search for East division standings\nOR enter 'c' to search for South division standings\nOR enter"
" 'd' to search for West division standings: ");
scanf("\n%c", &menu);

if (menu == 'a')
{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (division[i], "North") == 0)
{
printf("Here are the standings for the teams in the North division:\n");
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}
else if (menu == 'b')

{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (division[i], "East") == 0)
{
printf("Here are the standings for the teams in the East division:\n");
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}
else if (menu == 'c')

{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (division[i], "South") == 0)
{
printf("Here are the standings for the teams in the South division:\n");
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}
else if (menu == 'd')

{
for (i = 0; i < count; i = i + 1 )
{
if (strcmp (division[i], "West") == 0)
{
printf("Here are the standings for the teams in the West division:\n");
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}
}

}
//if user chooses d
else if (menu == 'd')
{
/* UNFINISHED.. COULD NOT FIGURE OUT SYNTAX
My goal was to compare my percentages array to the value that the user inputted (which was stored in the variable 'percentQuery' and display values that were greater than or equal to my percent
Query
printf("In this menu, you may search for a win percentage above a certain amount.\n"
"Please enter the amount you would like to search ABOVE: ");
scanf("\n%d", &percentQuery);

for (i = 0; i < count; i = i + 1 )
{
//I could not figure out the syntax for comparing to see if it was greater than or equal to percentQuery
if (strcmp (percentages[i], percentQuery) == 0)
{
printf("Here are the standings for the teams with a win percent above %i%%"), percentQuery;
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}*/
}
//if user chooses e
else if (menu == 'e')
{
/* UNFINISHED.. COULD NOT FIGURE OUT SYNTAX
My goal was to compare my percentages array to the value that the user inputted (which was stored in the variable 'percentQuery' and display values that were less than or equal to my percent
Query
printf("In this menu, you may search for a win percentage below a certain amount.\n"
"Please enter the amount you would like to search BELOW: ");
scanf("\n%d", &percentQuery);
for (i = 0; i < count; i = i + 1 )
{
// I could not figure out the syntax for comparing to see if it was less than or equal to percentQuery
if (strcmp (percentages[i], percentQuery) == 0)
{
printf("Here are the standings for the teams with a win percent below %i%%"), percentQuery;
printf("Team Name: %s \nLeague: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name[i], league[i], wins[i], losses[i], ties[i], percentages[i]);
}
}*/
}

//Prompt user for replay of main menu
printf("\nWould you like to return to the main menu?\n"
"Enter (y)es or (n)o: ");
scanf("\n%c", &again);

}
while (again == 'y');



//whatever the user types in, strcmp to our data base and set it equal to that.
displayExit();
return 0;
}

void displayWelcome(void)
{
printf("Welcome to my Football Stats.\n\n");
}

void calcPercent(double percentages[], int count, int wins[], int losses[], int ties[])
{
int i, sum;
for (i = 0; i <= count -1; i = i + 1)
{
sum = wins[i] + losses[i] + ties[i];
percentages[i] = ((double) wins[i] / sum) * 100;
}
}
void showAll (char name[], char league[], char division[], int wins, int losses, int ties, double percentages)
{
printf("Team Name: %s \nLeague: %s\nDivision: %s\nWins: %i Losses: %i Ties: %i\nWin Rate: %.2lf%%\n\n", name, league, division, wins, losses, ties, percentages);
}

void displayExit(void)
{
printf("\nThese results were brought to you by.");
}

最佳答案

只需使用 >= “高于或等于”运算符和 <对于“以下”:

if (percentages[i] >= percentQuery) {
/* ... */
}

percentages是 double 组,而不是字符串。

关于c - 有没有类似于字符串比较但针对整数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47209767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com