Для моего назначения HW мне нужно создать программу, которая выводит треугольник на основе звездочки, который зависит от ввода пользователя. Я получил свою программу для работы до тех пор, пока пользователь вводит целое число, выводящий правильный треугольник, но моя проблема заключается в том, когда вводится недопустимое значение, как я могу сделать это, чтобы пользователь повторно попытался представить значение? Я смотрел на форумах, и мне не удалось найти аналогичный вопрос.
#include int main() { int lines, a, b; //prompt user to input integer printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines >= 1 && lines <= 15) { /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } } else { printf("not valid");/* repeat code in this else statement, maybe */ } system("pause"); }
#include
вint main() { int lines, a, b; //prompt user to input integer do{ printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines < 1 || lines > 15) { printf("Error: Please Enter a Valid number!!!\n"); continue; } /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } }while(1); system("pause"); } #include
int main() { int lines, a, b; //prompt user to input integer do{ printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines < 1 || lines > 15) { printf("Error: Please Enter a Valid number!!!\n"); continue; } /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } }while(1); system("pause"); }
Если вы хотите остановить программу, если пользователь вводит допустимое значение (я имею в виду 1-15), то помещаем их для циклов в блок else и добавляем оператор break.
do{ printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines < 1 || lines > 15) { printf("Error: Please Enter a Valid number!!!\n"); continue; } else{ /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } break; } }while(1); system("pause"); }
вdo{ printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines < 1 || lines > 15) { printf("Error: Please Enter a Valid number!!!\n"); continue; } else{ /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } break; } }while(1); system("pause"); }
Вы можете использовать do .. while
loop, чтобы спросить пользователя о допустимом вводе. Код
int main() { int lines, a, b; do { //prompt user to input integer printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines >= 1 && lines <= 15) { /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } break; //break while loop after valid input } else { printf("not valid");/* repeat code in this else statement, maybe */ } }while(1); system("pause"); }
вint main() { int lines, a, b; do { //prompt user to input integer printf("Input a value from 1 to 15: "); scanf("%d", &lines); //Check if inputed value is valid if(lines >= 1 && lines <= 15) { /*create triangle based on inputed value */ for(a = 1; a <= lines; a++) { for(b=1; b<= a; b++) { printf("*"); } printf("\n"); } break; //break while loop after valid input } else { printf("not valid");/* repeat code in this else statement, maybe */ } }while(1); system("pause"); }