В настоящее время я занимаюсь созданием моей второй основной программы на C. Я только начал изучать C, и у меня было несколько проблем, а также путаница в том, что делать дальше с этой программой.Проблемы с лотерейной программой
Идея состоит в том, чтобы в принципе разрешить пользователю вводить требуемое количество лет, тогда программа имитирует лотерейные игры, которые проводятся каждую неделю, в зависимости от того, сколько лет они входят. Затем внутри программы я хочу, чтобы два массива сравнивались друг с другом и проверяли любые номера, которые у них обоих есть одновременно. Лотерейный билет на конце пользователя остается таким же, который установлен внутри массива, и, разумеется, число случайных лотерей меняется каждую неделю.
Основы сделаны, у меня просто есть несколько проблем, а также не зная, куда идти в определенных областях.
Проблемы:
«int weeks = year * 52» не работает, говорит, что элемент инициализатора не является постоянным.
Когда я возвращаю get_lotto_draw, я просто получаю сгруппированный номер, он не разделен в любом случае, поэтому я не уверен, как это сделать.
#include <stdio.h> //Alows input/output operations
#include <stdlib.h> //Standard utility operations
//Declaring Variables
int year;
char name[15];
char option;
int lotteryPlayer[] = {5,11,15,33,42,43};
int i;
int randomNums[49];
int *lotteryPtr = lotteryPlayer;
int *randomPtr = randomNums;
int weeks = 0;
void print_array(int *lotteryPtr);
int* get_lotto_draw(int *randomPtr);
//Main Method
int main(int argc, char *argv[])
{
start: //Start of program
printf("\n---------------------------");
printf("\nProject: Jackpot Dreams ");
printf("\n---------------------------\n");
printf("\nWhat is your First Name?:> "); //Asks them for their choice
scanf("%s", &name); //Reads the input
printf("\nHow Many Years to Sleep?:> "); //Asks them for their choice
scanf("%d", &year); //Reads the input
weeks = year * 52;
printf("\nOk %s, I will play the lottery for %d years!\n",name, year);
sleep(1500);
printf("Sweet Dreams %s, don't let the bed bugs bite", &name);
sleep(1500);
printf(". ");
sleep(1500);
printf(". ");
sleep(1500);
printf(".");
sleep(2000);
printf("%d", get_lotto_draw);
system("PAUSE");
}
//Returns an array of six random lottery numbers 1-49
int* get_lotto_draw(int *randomPtr)
{
for (i=0 ; i<weeks ; i++)
return randomNums;
}
//Print out the content of an array
void print_array(int *lotteryPtr)
{
printf("Hello");
}
//Returns number of matches between two arrays
int find_matches(int * lotteryPtr, int * randomPtr)
{
}
Update:
#include <stdio.h> //Alows input/output operations
#include <stdlib.h> //Standard utility operations
//Declaring Variables
int year;
char name[15];
char option;
int lotteryPlayer[] = {5,11,15,33,42,43};
int i;
int randomNums[49];
int *lotteryPtr = lotteryPlayer;
int *randomPtr = randomNums;
int weeks = 0;
void print_array(int *lotteryPtr);
int* get_lotto_draw(int *randomPtr);
//Main Method
int main(int argc, char *argv[])
{
start: //Start of program
printf("\n---------------------------");
printf("\nProject: Jackpot Dreams ");
printf("\n---------------------------\n");
printf("\nWhat is your First Name?:> "); //Asks them for their choice
scanf("%s", name); //Reads the input
printf("\nHow Many Years to Sleep?:> "); //Asks them for their choice
scanf("%d", &year); //Reads the input
weeks = year * 52;
printf("\nOk %s, I will play the lottery for %d years!\n",name, year);
sleep(1500);
printf("Sweet Dreams %s, don't let the bed bugs bite", &name);
sleep(1500);
printf(". ");
sleep(1500);
printf(". ");
sleep(1500);
printf(".");
sleep(2000);
printf("%d", get_lotto_draw(*randomPtr));
system("PAUSE");
}
//Returns an array of six random lottery numbers 1-49
int* get_lotto_draw(int *randomPtr)
{
for (i=0 ; i<weeks ; i++)
return randomNums;
}
//Print out the content of an array
void print_array(int *lotteryPtr)
{
printf("Hello");
}
//Returns number of matches between two arrays
int find_matches(int * lotteryPtr, int * randomPtr)
{
}
'' int weeks = year * 52 "не работает, говорит, что элемент initializer не является константным.' 'Year 'еще не имеет значения (неинициализирован). – DigitalNinja
Глобальные переменные не могут быть инициализированы другими переменными. Не инициализируйте 'недели. Вместо этого добавьте 'weeks = year * 52' после' scanf ("% d", &year); '. ' get_lotto_draw() 'просто сломан. Вы возвращаетесь после первой итерации в цикле. – danyhow
' i' также uninitialized в 'get_lotto_draw()' – DigitalNinja