1

Тема: Питання використання функції string в Сі

Програма має друкувати стать робітника після введення перших букв (Ч- чоловік, Ж - жінка). А вона не хоче цього робити, а чому - не можу зрозуміти (заклинило). Хелп, пліз.
<#include <cs50.h>
#include <stdio.h>
//*Друкується повна назва після введення ініціалів*//
int main (void)
{
    printf ("Введіть стать (ч/ж)");
    string stat = GetString ();
    switch (stat)
    {
        case ч:
        printf ("ЧОЛОВІК\n");
       
        case ж:
        printf ("ЖІНКА\n");
        break;
       
        default:
        printf ("НЕМАЄ ТАКОЇ СТАТІ!\n");
        break;
    }
}>

2

Re: Питання використання функції string в Сі

break ;
після
   printf ("ЧОЛОВІК\n");
постав

Подякували: mityaev1

3

Re: Питання використання функції string в Сі

Описуйте те, що програма робить, а не тільки що ви від неї очікуєте. Якщо є повідомлення про помилки від компілятора - наводьте їх.

Подякували: mityaev1

4

Re: Питання використання функції string в Сі

І так, в Сі немає функції string.

Подякували: Betterthanyou1

5

Re: Питання використання функції string в Сі

вам обовязково на с чи можна на с++

6 Востаннє редагувалося c3c (01.02.2017 21:32:48)

Re: Питання використання функції string в Сі

я не коджу на с .
тому що в scanf("%", stat); після відсотку що треба ставити незнаю але код паше *WALL*
подивись тут
http://ua-referat.com/%D0%9E%D0%BF%D0%B … 0%A1%D1%96

#include <stdio.h>
#include <iostream>//це з с++
#include <windows.h>//для підключення кирилиці
//*Друкується повна назва після введення ініціалів*//
using namespace std;
int main(void)
{ 
    /*підключення кирилиці*/
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);


    printf("Введіть стать (ч/ж) ");

    char stat;
    //scanf("%", stat);
    std::cin >> stat;//це з с++

    switch (stat)
    {
    case 'ч':
        printf("ЧОЛОВІК\n");
        break;
    case 'ж':
        printf("ЖІНКА\n");
        break;

    default:
        printf("НЕМАЄ ТАКОЇ СТАТІ!\n");
        break;
    }
    system("pause");
}
Подякували: Yola1

7 Востаннє редагувалося mityaev (01.02.2017 21:51:35)

Re: Питання використання функції string в Сі

чомусь не підключається кирилиця, тому М/Ж замінив на M/W, тип даних змінив на "char" і все заработало! Дякую за допомогу, друзі!


Компілятор повідомляє наступне "mw.c:9:5: error: statement requires expression of integer type ('string' (aka 'char *') invalid)
    switch (stat)
    ^       ~~~~
mw.c:11:14: error: character too large for enclosing character literal type
        case 'ч':
             ^
mw.c:14:14: error: character too large for enclosing character literal type
        case 'ж':
             ^
3 errors generated.
make: *** [mw] Error 1"

koala написав:

Описуйте те, що програма робить, а не тільки що ви від неї очікуєте. Якщо є повідомлення про помилки від компілятора - наводьте їх.

8 Востаннє редагувалося c3c (01.02.2017 21:48:02)

Re: Питання використання функції string в Сі

попробуй мій код

#include <stdio.h>
#include <iostream>//це з с++
#include <windows.h>//для підключення кирилиці
//*Друкується повна назва після введення ініціалів*//
using namespace std;
int main(void)
{ 
    /*підключення кирилиці*/
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);


    printf("Введіть стать (ч/ж) ");

    char stat;
    //scanf("%", stat);
    std::cin >> stat;//це з с++

    switch (stat)
    {
    case 'ч':
        printf("ЧОЛОВІК\n");
        break;
    case 'ж':
        printf("ЖІНКА\n");
        break;

    default:
        printf("НЕМАЄ ТАКОЇ СТАТІ!\n");
        break;
    }
    system("pause");
}
Подякували: mityaev1

9

Re: Питання використання функції string в Сі

<#include <cs50.h>

проходите курси прометеус CS50 ?

10

Re: Питання використання функції string в Сі

Так, проходжу...