Я относительно новичок в области программирования. Я попробовал несколько языков, но поселился на C, чтобы начать с него из-за поддержки и легкости начала работы. В настоящее время я пытаюсь написать простую текстовую игру на основе завоевания. С этим есть большое количество мест или территорий, чтобы выбрать атаку, а что нет. Я дал каждой территории числовой идентификатор 1-50, где моя проблема. Единственный способ, которым я могу придумать, проверить, какой идентификатор введен пользователем, - написать 50, если утверждения, которые являются очень утомительными и раздражающими. Есть ли более простой способ сделать это?C как скрыть, если утверждения
AttackTrue(){
int AmountOfTroops;
int TerrToAttack;
//List of territories with their id
// example: int California = 1;
printf("You have %d troops\n");
printf("Enter the number of troops you want to use.");
scanf(" %d",&AmountOfInfantry);
printf("Enter the ID of the territory you want to attack.\n");
scanf(" %d",&TerrToAttack);
/*HERE IS WHERE ALL THE IF STATEMENTS WOULD GO*/
}
}
Как насчет 'strtol()' или 'atoi()'? – rodrigo
Опубликовать фрагмент того, что у вас есть (используйте [edit], чтобы добавить его). Как бы то ни было, все, что я могу сказать, «возможно». – usr2564301
Это зависит от того, как вы его структурировали, как упомянуто @Jongware. Например, если вы используете 'struct' для представления' территории', и у вас есть массив 'Territory', вы можете просто индексировать его в массив и называть' attack (domains [user_input]) ' – Alejandro