Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855

Нет вывода и неправильная запись (запись)

19.10.2012, 09:33. Показов 1411. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Есть программка записывающая студентов.
При записи ФИО через пробел, происходит ошибка.
При выводе информации, происходит ошибка.

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
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
struct sport
{
 char fio[30];
 char vid[30];
 char fak[30];
 char spc[30];
 int lvl;
};
 
void ChangeNumber(sport*obj,int n)
{
    int number;
    cout<<"\n\n Введите номер для изменения: ";cin>>number;
    cout<<"Введите новые данные Ф.И.О.: ";cin>>obj[number].fio;
    cout<<"Введите новые данные о спорте: ";cin>>obj[number].vid;
    cout<<"Введите новуе данные о факультете: ";cin>>obj[number].fak;
    cout<<"Введите новуе данные о специальности: ";cin>>obj[number].spc;
    cout<<"Введите новые данные о возрасте: ";cin>>obj[number].lvl;
    cout<<endl;
}
 
int main ()
{
setlocale(0,"Rus");
int n,i;
printf("\n Введите кол-во студентов => ");
scanf("%d",&n);
sport* mas_struct=new sport[n];
 
for (i=0;i<n;i++)
{
    cout<<"Введите данные Ф.И.О.: ";cin>>mas_struct[i].fio;
    cout<<"Введите данные о спорте: ";cin>>mas_struct[i].vid;
    cout<<"Введите данные о факультете: ";cin>>mas_struct[i].fak;
    cout<<"Введите данные о специальности: ";cin>>mas_struct[i].spc;
    cout<<"Введите данные о возрасте: ";cin>>mas_struct[i].lvl;
}
 
printf("\n    Ф.И.О.   |   Спорт   |  Факультет  |  Специальность  |  Возраст  ");
for (i=0;i<n;i++)
printf("\n  %s  %s  %s  %s %d",mas_struct[i].fio,mas_struct[i].vid,mas_struct[i].fak,cin>>mas_struct[i].spc,mas_struct[i].lvl);
 
ChangeNumber(mas_struct,n);
 
getch();
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2012, 09:33
Ответы с готовыми решениями:

Неправильная запись в файл
void Registration() { system(&quot;cls&quot;); cout &lt;&lt; &quot;Введите логин:&quot;; char Login; cin &gt;&gt; Login; cout &lt;&lt; &quot;Введите пароль:&quot;; ...

Неправильная запись в текстовый файл
При записи в файл вместе с данными (логином и паролем), которые я ввожу, записываются непонятный мусор (лишние буквы МММ). Скажите...

Неправильная запись const char* в std::string
Привет, делаю Web-Парсер на плюсах и Python (на Питоне только Web пока что). В данный момент занимаюсь запросами. Решил пойти по-простому...

11
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
19.10.2012, 10:00
Для ввода строки, содержащей пробелы, используйте функцию std::istream::getline().
C++
1
cin.getline( obj[number].fio, 30 );
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
20.10.2012, 21:31  [ТС]
Не сработало.
0
 Аватар для StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
20.10.2012, 22:22
вот немного переделанный с использованием string вместо char
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <string>
using namespace std;
 
struct sport
{
 string fio;
 string vid;
 string fak;
 string spc;
 int lvl;
};
 
void ChangeNumber(sport * obj, int n)
{
    int number;
    cout << endl;
    cout << "Ââåäèòå íîìåð äëÿ èçìåíåíèÿ: ";
    cin >> number;
    cin.get();
    cout << "Ââåäèòå íîâûå äàííûå Ô.È.Î.:: ";
    getline(cin, obj[number].fio);
    cout<<"Ââåäèòå íîâûå äàííûå î ñïîðòå: ";
    getline(cin, obj[number].vid);
    cout<<"Ââåäèòå íîâûå äàííûå î ôàêóëüòåòå: ";
    getline(cin, obj[number].fak);
    cout<<"Ââåäèòå íîâûå äàííûå î ñïåöèàëüíîñòè: ";
    getline(cin, obj[number].spc);
    cout<<"Ââåäèòå íîâûå äàííûå î âîçðàñòå: ";
    cin >> obj[number].lvl;
    cout << endl;
}
 
int main ()
{
    system("chcp 1251");
 
    int n,i;
    cout << "Ââåäèòå êîë-âî ñòóäåíòîâ => ";
    cin >> n;
    cin.get();
 
    sport* mas_struct=new sport[n];
 
    for (i=0; i < n; i++)
    {
        cout << "Ââåäèòå äàííûå Ô.È.Î.: ";
        getline(cin, mas_struct[i].fio);
        cout << "Ââåäèòå äàííûå î ñïîðòå: ";
        getline(cin, mas_struct[i].vid);
        cout << "Ââåäèòå äàííûå î ôàêóëüòåòå: ";
        getline(cin, mas_struct[i].fak);
        cout << "Ââåäèòå äàííûå î ñïåöèàëüíîñòè: ";
        getline(cin, mas_struct[i].spc);
        cout << "Ââåäèòå äàííûå î âîçðàñòå: ";
        cin >> mas_struct[i].lvl;
    }
 
    cout << endl;
 
    for (i = 0; i < n; i++)
    {
        cout << "Ô.È.Î.: " << mas_struct[i].fio << endl;
        cout << "Ñïîðò: " << mas_struct[i].vid << endl;
        cout << "Ôàêóëüòåò: " << mas_struct[i].fak << endl;
        cout << "Ñïåöèàëüíîñòü: " << mas_struct[i].spc << endl;
        cout << "Âîçðàñò: " << mas_struct[i].lvl;
    }
    ChangeNumber(mas_struct,n);
 
    system("pause");
    return 0;
}
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.10.2012, 20:03  [ТС]
StanislavUA, вариант хороший но, если ввести к примеру 2 студента и задать параметры для первого, то у второго пропускается данные о ФИО... как исправить?
0
 Аватар для StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
21.10.2012, 20:09
Цитата Сообщение от StanislavUA Посмотреть сообщение
int n,i;
* * cout << "Введите кол-во студентов => ";
* * cin >> n;
* * cin.get();
уберите здесь cin.get() и вставьте его после for
C++
1
2
3
4
 for (i=0; i < n; i++)
    {
          cin.get()
          *************
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.10.2012, 20:35  [ТС]
Осталась последняя проблема: вместо русских букв выводятся непонятные символы.
0
 Аватар для StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
21.10.2012, 20:38
кликаете пкм на консоли, выбираете пункт "Умолчания" и ставите шрифт Consolas, после этого если в программе есть строчка system("chcp 1251") программа отлично работает с русским языком(ввод/вывод)
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.10.2012, 20:43  [ТС]
Работаю в Dev C++ не могу найти такого.
0
 Аватар для StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
21.10.2012, 20:49
для этого не обязательно это делать в компиляторе
пуск->cmd->enter
Миниатюры
Нет вывода и неправильная запись (запись)  
1
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.10.2012, 20:57  [ТС]
Во время изменения параметров программа останавливается и начинается поиск решения.
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
22.10.2012, 21:04  [ТС]
Поможет кто?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.10.2012, 21:04
Помогаю со студенческими работами здесь

Запрограммировать возможность вывода с видом правления, введенным пользователем, запись данных в фа
Создать массив, элементами которого являются структуры – список стран. В записи должны содержаться название страны, столица, ФИО главы...

Запись в файл, которого нет
в чём дело, почему после этого кода пишет, будто не найдена директори файла вместо out вставлял и app но результат тот же, файл в...

люди добрые! нужно программа инверсная запись чисел, запись из инверсной в обычную
помогите сделать программа или датьсходник, можно на с++ или на паскале спасибо вам за раннее огромное!!!!!

Дана строка, изображающая двоичную запись целого положительного числа. Вывести строку, изображающую десятичную запись эт
Не врубаюсь вообще. Прошу использовать только библиотекu &lt;cstring&gt; ну и стандартные тоже можно Заранее спасибо!

[Файлы] Запись-чтение-запись. Почему не прокатывает?
Сначала записываю в файл &quot;а&quot; запись &quot;makulatura&quot;, потом читаю ее в строку h. Все ок. Но потом когда открываю файл &quot;a&quot; опять для...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru