Я новичок в программировании, и в настоящее время я использую visual studio 2013 для программирования c, вопрос в том, когда я запускал код, он спрашивает меня, что я хочу выбрать, поэтому я выбираю номер 1, затем он спрашивает я «Anna korkeus» (значит, даю мне высоту), тогда я пишу 1, он продолжает давать мне что-то на вечность, но я хочу, когда я пишу 1, он должен напечатать это = 'printf («Pienin mitta на 5 см ja suurin 50 см, anna uudelleen \ n "); ', и после этого, потому что число, которое я дал, было неправильным, оно должно снова задать мне тот же вопрос «Anna korkeus», пока я не дам правильное число между 5> h || ч> 50while loop in c language
Спасибо заранее, извините английский не мой родной язык
#include < stdio.h>
#define PII 3.14
void main(void)
{
char rivi[128]; /* sy”tetty rivi luetaan t„h„n */
/* mahdollinen ylim„„r„inen sy”te */
float pii;
float h;
float r;
float v;
float kartio;
float luku;
int number;
system("cls");
printf("1 ympyr„lieri” \n");
printf("2 ympyr„kartio \n");
printf("Lasketaan tilavuutta, valitse tuotteista: \n");
scanf_s("%d", &number);
if (number == 1){
printf("Valitsit ympyr„lieri”n \n");
luku=printf("Anna korkeus: \n");
scanf_s("%f", &h);
while (5 > h || h > 50){
printf("Pienin mitta on 5 cm ja suurin 50cm, anna uudelleen \n");
printf("Anna korkeus: \n");
}
printf("Anna sade: \n");
scanf_s("%f", &r);
if (5 > r || r > 50){
printf("Pienin mitta on 5 cm ja suurin 50cm, anna uudelleen \n");
}
v = PII*r*r*h;
printf("Ympyralierion tilavuus on: %f\n", v);
}
else if (number == 2){
printf("Valitsit ympyr„kartion \n");
printf("Anna korkeus: ");
scanf_s("%f", &h);
if (5 > h || h > 50){
printf("Pienin mitta on 5 cm ja suurin 50cm, anna uudelleen \n");
}
printf("Anna sade: ");
scanf_s("%f", &r);
if (5 > r || r > 50){
printf("Pienin mitta on 5 cm ja suurin 50cm, anna uudelleen \n");
}
v = (PII*r*r*h)/3;
printf("Ympyrakartion tilavuus on: %f\n", v);
}
}
У вас есть цикл while, который петли, пока значение h не находится между 5 и 50, но которое никогда не изменяет значение h в цикле, чтобы оно никогда не кончилось. –
Я был бы счастлив, если бы вы исправили код:) – waleedd32
Как @PaulTomblin уже писал: положите ваш printf/scanf внутри цикла и проверите «h < 5 || h > 50», возможно, будет проще читать ... Как это будет перевод От финского до английского тоже ;-) – Marged