#c
#c
Вопрос:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
char code, name[50];
int bal_paid, balance, bal_rem, tennis = 0, swimming = 0, Badminton = 0;
printf("T for Tennisn");
printf(" B for Badmintonn");
printf(" S for Swimmingn");
printf("please enter your name:");
scanf("%s", name);
do {
printf("nPlease enter the amount you paid for the feesn");
scanf("%d", amp;bal_paid);
printf("Please select a code : n");
scanf("%c", amp;code);
scanf("%c", amp;code);
if (code == 'T' || code == 't')
{
balance = 18000;
bal_rem = balance - bal_paid;
tennis = tennis 1;
printf("Hello %s your sport event is tennis. Your balance remaining is $%d", name, bal_rem);
}
else if (code == 'B' || code == 'b')
{
balance = 14000;
bal_rem = balance - bal_paid;
Badminton = Badminton 1;
printf("Hello %s your sport event is Badminton. Your balance remaining is $%d", name, bal_rem);
}
else if (code == 'S' || code == 's')
{
balance = 16000;
bal_rem = balance - bal_paid;
swimming = swimming 1;
printf("Hello %sc your sport event is swimming. Your balance remaining is $%d", name, bal_rem);
}
else if (code != 'T' || code != 't' || code != 'B' || code != 'b' || code != 'S' || code != 's')
{
printf("invalid code");
}
} while (code != 'T' || code != 't' || code != 'B' || code != 'b' || code != 'S' || code != 's');
printf("the amount of people doing tennis is %dn", tennis);
printf("the amount of people doing tennis is %dn", Badminton);
printf("the amount of people doing tennis is %dn", swimming);
return 0;
}
Комментарии:
1. Редактор включает в себя инструменты редактирования и форматирования. Символ для правильно отформатированного исходного кода — это символ. (т. Е. Он не будет правильно форматировать ваш код, но сделает правильно отформатированный и отформатированный код похожим на правильно отформатированный и отформатированный код.)
{...}
2. Ваш тест
code != 'T' || code != 't' ...
неверен. Кода либо не будетT
, либо не будетt
, например, так что это всегда будет верно, следовательно, бесконечный цикл. Это не может быть одновременноT
иt
одновременно. Измените логическое или на логическое и .3. Я обновил сообщение, чтобы сделать код, по крайней мере, помеченным как код. Но он по-прежнему едва читаем из-за непоследовательных отступов и чрезмерного использования ненужных пустых строк. Пожалуйста, отредактируйте дальше, чтобы сделать код читаемым.
4. @kaylum добавил некоторые улучшения с помощью онлайн-форматера C.
Ответ №1:
Измените этот тест:
while (code != 'T' || code != 't' || code != 'B' || code != 'b' ...)
к этому:
while (code != 'T' amp;amp; code != 't' amp;amp; code != 'B' amp;amp; code != 'b' ...)
Первое всегда будет давать значение true , независимо от значения code
.