Создание меню на С и использование кириллицы - PullRequest
0 голосов
/ 04 января 2019

Я пишу простую программу на C, которая дает пользователю возможность выбрать тип кода для выполнения, однако я получаю сообщение об ошибке (Ошибка отладки!).Я также пытаюсь использовать кириллицу, но также получаю сообщение об ошибке.

Я пытался использовать else if() вместо switch, но безрезультатно, и я не знаю, где искать дальше.Для кириллицы я пробовал ConsoleOutputCP(1251), а также ConsoleCP(1251), но ни один из них не работал.

#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<string.h>

int choice(void);
int first (void);
int second(void);
int third(void);
int fourth(void);

int i;
int main() {

  do {
  choice();
  printf("%d", i);

    switch (i) {
    case 1: first();
        break;
    case 2: second();
        break;
    case 3: third();
        break;
    case 4: fourth();
    }
  } while (i != 5);

  system("pause");
  return 0;
}

int choice(void) {
  printf("izberete komanda\n");
  printf("1.chetene na programa ot fail i zapis na rezultata vuv fail\n");
  printf("2.chetene na programa ot fail i izvejdane na rezultata\n");
  printf("3.chetene na progarma ot klavietura i izvejdane vuv fail\n");
  printf("4.chetene na programa ot klavietura i izvejdane na ekrana\n ");
  printf("5.izhod\n");

  do {
    wscanf_s("%d", i);
    //i != getchar();
  } while (i < 1 || i>5);

  return i;
}

1 Ответ

0 голосов
/ 04 января 2019

Во-первых: вам нужно включить функцию choice () внутри do, пока loop.
Второе: нет необходимости в i != getchar();.И вы можете опубликовать свою проблему с кириллицей в качестве второго вопроса.Таким образом, вы могли бы получить ответы быстрее.

#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<string.h>

int choice(void);
int first (void);
int second(void);
int third(void);
int fourth(void);

int i;

int main(void) {
    do
    {
        i = choice();
        switch (i)
        {
        case 1:first();
            break;
        case 2:second();
            break;
        case 3:third();
            break;
        case 4:fourth();
        }
    } while (i != 5);


    system("pause");
    return 0;
}

int choice(void) {
    printf("izberete komanda\n");
    printf("1.chetene na programa ot fail i zapis na rezultata vuv fail\n");
    printf("2.chetene na programa ot fail i izvejdane na rezultata\n");
    printf("3.chetene na progarma ot klavietura i izvejdane vuv fail\n");
    printf("4.chetene na programa ot klavietura i izvejdane na ekrana\n ");
    printf("5.izhod\n");

    scanf("%d", &i);
    return i;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...