Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
17 / 15 / 10
Регистрация: 08.03.2012
Сообщений: 126
1

Считать строку в Visual C++

29.10.2013, 01:08. Показов 1496. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stdio.h>
#include <conio.h>
#include "cstring"
#include "clocale"
using namespace std;
 
struct student
{
    char Name[100];
    int Group[4];
    float Ses;
} Stud[1000];
 
void Vvod(student * a, int n);
 
int main()
{
    int n;
    setlocale(LC_ALL,"Rus");
    cout<<"Введiть к-ть студентiв: ";
    cin>>n;
    Vvod(Stud,n);
    cout<<"П.I.Б.    Група "<<endl;
    Vivod(Stud,n);
    cout<<endl;
    system("pause");
}
 
void Vvod(student * a, int n)
{ 
    int j=1;
    for (int i=0; i<n; i++)
    {
        cin>>a[i].Name;
        if (j>4) j=1;
        *a[i].Group=j;
        j++;
    }
}
На входе считывает строки Ф.И.О., но при выводе почему-то считает отдельно фамилию имя и отчество, а мне надо чтобы все это было в одной переменной. Как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2013, 01:08
Ответы с готовыми решениями:

Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а
Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а,...

Считать строку до пробела
Как считать строку до пробела

Считать строку из файла
Как считать вторую строку из файла до пробела в элемент N, а после пробела в элемент K Пример...

Считать строку с пробелами
Опишите функцию, выводящую на экран HelloWorld. Но напишите её под функцией main, а из функции main...

3
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
29.10.2013, 08:16 2
а если так в 37 строке:

C++
1
cin.getline(a[i].Name,100);
?
1
17 / 15 / 10
Регистрация: 08.03.2012
Сообщений: 126
29.10.2013, 23:05  [ТС] 3
Работает почти отлично, но почему-то ввожу что 4 элемента массива буду использовать, а использует вместо этого три, и просит ввести только 3 ФИО вместо четырех, но зато выводит все четыре, правда первый без ФИО, только № группы, почему так?
0
17 / 15 / 10
Регистрация: 08.03.2012
Сообщений: 126
04.11.2013, 22:45  [ТС] 4
http://savepic.org/4698587.png
вот как-то так получается, ввожу двох но первого почему-то пропускает, и так всегда первого пропускает

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stdio.h>
#include <conio.h>
#include "cstring"
#include "clocale"
using namespace std;
 
struct student
{
    char Name[200];
    int Group[4];
    float Ses;
} Stud[1000];
 
void Vvod(student * a, int n);
void Vivod(student * a, int n);
 
 
int main()
{
    system("chcp 1251");
    system("cls");
    int n;
    setlocale(LC_ALL,"Rus");
    cout<<"Введiть к-ть студентiв: ";
    cin>>n;
    Vvod(Stud,n);
    cout<<"    П.I.Б.      Група "<<endl;
    Vivod(Stud,n);
    cout<<endl;
    system("pause");
}
 
void Vvod(student * a, int n)
{ 
    int j=1;
    for (int i=0; i<n; i++)
    {
        gets(a[i].Name);
    //  cin.getline(a[i].Name,200);
        //cin>>d; cin>>b;
    //  a[i].Name=d+' '+b;
        if (j>4) j=1;
        *a[i].Group=j;
        j++;
    }
    
}
 
 
void Vivod(student * a, int n)
{
    for (int i=0; i<n; i++)
        cout<<a[i].Name<<" "<<*a[i].Group<<" "<<endl;
}
Добавлено через 11 минут
надо просто дописать перед gets(); вот это:
C++
1
cin.sync();
Можно закрывать тему.
0
04.11.2013, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2013, 22:45
Помогаю со студенческими работами здесь

Считать строку с пробелами
Проблема такая пытаюсь передать строку в файле в переменную str, но все что идет после пробела не...

Считать строку с файла
Может дыбильный вопрос, но все же хочу считать строку с файла, при этом хочу что бы на выходе...

Не получается считать строку с gets
Имеется (казалось бы доведенная до ума более или менее) программа: #include &quot;stdio.h&quot;...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru