0 / 0 / 1
Регистрация: 22.11.2017
Сообщений: 42
1

Не получается ввести строку с пробелом

09.04.2018, 10:27. Показов 509. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
почему не могу ввести строку с пробелом
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
typedef struct worker 
{
    char *name;       
    char *pos;          
    char *year;         
    char *month;     
    int id;
} worker;
int main()
{
    setlocale(LC_ALL, "Rus");
    
    worker *people = NULL;
    char buf[64], swap[32], next;
    int i, j, n=0, road, vibor=1;
    
    printf("\n 1] Созд  [2] Смотр  [3] Сорт  [4] Возр/убыв  [5] Поиск  [0] Выход\n");
    
    while(1)
        {
            if ( kbhit() )
            {
                if ( getch() == 49 )
                {
                    printf("К-лово : ");
                    scanf("%d", &n);
                    
                    if(n > 0) 
                    {
                        people = (worker*) malloc(n * sizeof(worker));
    
                        for(i=0; i<n; i++)
                        {
                            printf("Работ [%d]\n",i); 
                            people[i].id = i;
            
                            printf("ФИО : ",i); 
                            scanf("%63s",buf);
                            people[i].name = (char*) malloc(strlen(buf) + 1);
                            strcpy(people[i].name, buf);
                            
                            printf("POS : ");
                            scanf("%63s", buf);
                            people[i].pos = (char*) malloc(strlen(buf) + 1);
                            strcpy(people[i].pos, buf);
        
                            printf("YEAR : ",i); 
                            scanf("%63s",buf);
                            people[i].year = (char*) malloc(strlen(buf) + 1);
                            strcpy(people[i].year, buf);
        
                            printf("MONTH : ");
                            scanf("%63s", buf);
                            people[i].month = (char*) malloc(strlen(buf) + 1);
                            strcpy(people[i].month, buf);
                            
                        }
                    } else printf("создайте таблицу  [1]\n");
                }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2018, 10:27
Ответы с готовыми решениями:

Ввести строку и взамен пробелов поместить запятую с пробелом
Требуется ввести строку символов, состоящую из отдельных слов, разделенных пробелами. В...

Ввести строку, в которой слова разделены одним пробелом. Подсчитать количество слов, состоящих из не более чем четырех
#include&lt;stdio.h&gt; #include&lt;string.h&gt; int main() { char ar; int i,kol=0;...

Составьте программу, которая предлагает ввести строку s, состоящую из двух слов ,разделенных пробелом, и выводит каждое слово с новой строки.
Составьте программу, которая предлагает ввести строку s, состоящую из двух слов ,разделенных...

Не получается ввести строку
Уважаемые форумчане, почему компилятор не дает ввести строку? import java.util.*; public class...

2
237 / 263 / 218
Регистрация: 14.11.2016
Сообщений: 992
09.04.2018, 13:00 2
Используй gets(можно выйти за граница массива при вводе) или fgets(можно задавать границы)
C
1
2
char str[20];
fgets(str, 20, stdin);
1
0 / 0 / 1
Регистрация: 22.11.2017
Сообщений: 42
11.04.2018, 10:02  [ТС] 3
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2018, 10:02
Помогаю со студенческими работами здесь

Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы
Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов Нашёл такую же...

Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы
Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов

Не получается успеть ввести строку по DOS прерыванию 0Ah
Есть такой код: ...................................... .DATA helloMessage DB 13,10,'Enter your...

Никак не получается вывести значение с пробелом
Здравствуйте уважаемые пользователи! Я глубокий новичок, и только учусь. В общем хочу вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru