Не могу проверку корректности при вводе данных написать. Вот никак не могу разобраться (
Вот код:
#include
int main()
{
int x=0;
printf("Input a letter:\n");
if (scanf_s("%c", &x)) !=1);
switch (x)
{
case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'z':
printf("soglasnaya bukva\n");
break;
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y':
printf("glasnaya bukva\n");
break;
}
return 0;
}
C/C++
Помогите дополнить код СИ, пж.
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include <ctype.h>
_Bool is_vowel(char ch) {
int i = 0, n = 6;
const char* vowel = "aeiouy";
ch = tolower(ch);
do if (ch == vowel[i]) break; while (++i < n);
return i != n;
}
_Bool is_consonant(char ch) {
int i = 0, n = 20;
const char* consonant = "qwrtpsdfghjklzxcvbnm";
ch = tolower(ch);
do if (ch == consonant[i]) break; while (++i < n);
return i != n;
}
int main(void) {
char letter;
while (true) {
printf("Letter: ");
letter = getchar();
while (getchar() != '\n');
if (letter > 0 && isalpha(letter)) {
// первый вариант: зачастую работает медленнее
if (is_consonant(letter)) puts("consonant");
else puts("vowel");
// второй вариант: как правило работает быстрее
if (is_vowel(letter)) puts("vowel");
else puts("consonant");
}
puts("");
}
system("pause > nul");
return 0;
}
#include <stdio.h>
#include <stdbool.h>
#include <ctype.h>
_Bool is_vowel(char ch) {
int i = 0, n = 6;
const char* vowel = "aeiouy";
ch = tolower(ch);
do if (ch == vowel[i]) break; while (++i < n);
return i != n;
}
_Bool is_consonant(char ch) {
int i = 0, n = 20;
const char* consonant = "qwrtpsdfghjklzxcvbnm";
ch = tolower(ch);
do if (ch == consonant[i]) break; while (++i < n);
return i != n;
}
int main(void) {
char letter;
while (true) {
printf("Letter: ");
letter = getchar();
while (getchar() != '\n');
if (letter > 0 && isalpha(letter)) {
// первый вариант: зачастую работает медленнее
if (is_consonant(letter)) puts("consonant");
else puts("vowel");
// второй вариант: как правило работает быстрее
if (is_vowel(letter)) puts("vowel");
else puts("consonant");
}
puts("");
}
system("pause > nul");
return 0;
}
https://onlinegdb.com/B1Gpe2uUdhttps://onlinegdb.com/B1Gpe2uUd
если тебя не интересуют заглавные буквы
если тебя не интересуют заглавные буквы
Для работы данной программы нужно включить заголовок .
if (scanf_s("%c", &x)) !=1);
Вы используете функцию scanf_s, когда предполагается использовать функцию scanf. Функция scanf_s дополнительно принимает как аргумент размер буффера для вводимых данных.
Используйте следующую запись:
scanf("%c", &x);
(без if)
В функции switch предусмотрен случай default, который активируется, если аргумент функции switch не вызывает какой-либо случай. Напишите вместо данных строк кода
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y':
printf("glasnaya bukva\n");
break;
следующий код
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y':
{ printf("glasnaya bukva\n"); break; }
default:
break;
Тогда выход из программы будет производится не только при 1, но и при любом введённом символе, отличном от букв латинского алфавита
if (scanf_s("%c", &x)) !=1);
Вы используете функцию scanf_s, когда предполагается использовать функцию scanf. Функция scanf_s дополнительно принимает как аргумент размер буффера для вводимых данных.
Используйте следующую запись:
scanf("%c", &x);
(без if)
В функции switch предусмотрен случай default, который активируется, если аргумент функции switch не вызывает какой-либо случай. Напишите вместо данных строк кода
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y':
printf("glasnaya bukva\n");
break;
следующий код
case 'a': case 'e': case 'i': case 'o': case 'u': case 'y':
{ printf("glasnaya bukva\n"); break; }
default:
break;
Тогда выход из программы будет производится не только при 1, но и при любом введённом символе, отличном от букв латинского алфавита
Кирилл Мариуца
Заголовок stdio h
Похожие вопросы
- Помогите переделать код на Си
- Помогите доработать код на СИ по теме строки
- С++ Помогите пожалуйста исправить, дополнить код.
- Испортил диск D: кодом (Си)
- Программирование, с++, изменить, либо дополнить код
- Помогите написать код на Си, по теме "строки".
- Помогите перевести код с С++ на Си
- Помогите с кодом C++
- Помогите с кодом с++
- Помогите с кодом С++
все равно спасибо)