Форум программистов, компьютерный форум CyberForum.ru

Ввод и вывод элементов структуры - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
08.04.2013, 20:17     Ввод и вывод элементов структуры #1
Не получается ввести и вывести на экран элементы структуры после второго.
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
#include <stdio.h>
#include <iostream>
#include <string.h>
struct form
       { char surname[20];
         int phone;
         char address[20];
       };
       
void Create (form*p)
     { printf ("Enter surname: ");
       scanf ("%s", p->surname);
       printf ("Enter phone number: ");
       scanf ("%d", &p->phone);
       printf ("Enter address: ");
       scanf ("%s", p->address);
     }
 
void Print (form*p)
     { printf ("%s\n", p->surname);
       printf ("%d\n", p->phone);
       printf ("%s\n", p->address);
     }
 
int main (void)
    { int n, i, j; form temp;
      printf ("Enter n\n");
      scanf ("%d", &n);
      form a[n];
      for (i=0; i<n; i++)
          Create (&a[i]);
      for (i=0; i<n; i++)
          Print (&a[i]);
system ("pause");
return 0;
}
Что в коде не так ? Первый элемент спокойно записывается и выводится на экран, после второго выводит на экран сразу две подсказки, а потом числа случайные. В чем проблема ? Помогите пожалуйста. Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
08.04.2013, 20:24     Ввод и вывод элементов структуры #2
Ввод и вывод элементов структуры
Может Вы в поле phone number вводите буквы или какие-то символы, вместо цифр?
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
08.04.2013, 20:31  [ТС]     Ввод и вывод элементов структуры #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Вложение 253785
Может Вы в поле phone number вводите буквы или какие-то символы, вместо цифр?
Интересно получается. Запустил напрямую через .exe и всё сработало. Почему-то раз 5 пробовал с компилятора запускать - не получалось.

И ещё вопросик, мне нужно вывести на экран в алфавитном порядке те фамилии, номер телефона которых начинается с цифры 2.

1) Для начала мне нужно прогнать анкеты каждого человека и отобрать всех, у кого номер начинается на 2.
2) А потом отдельно выстраивать в алфавитном порядке фамилии этих людей.

После того как я сделаю шаг 1, куда я могу скинуть выбранных людей ? (тех, у которых номера начинаются на 2)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
08.04.2013, 20:48     Ввод и вывод элементов структуры #4
Цитата Сообщение от edw1n Посмотреть сообщение
После того как я сделаю шаг 1, куда я могу скинуть выбранных людей ?
Например в вектор

А лучше, отсортируйте по фамилии весь массив, а потом просто проходите по порядку и выводите фамилии людей, номера у которых начинаются на 2. Получите отсортированный вывод и ничего никуда дополнительно сохранять не придется
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
08.04.2013, 20:53  [ТС]     Ввод и вывод элементов структуры #5
Цитата Сообщение от Croessmah Посмотреть сообщение
Например в вектор

А лучше, отсортируйте по фамилии весь массив, а потом просто проходите по порядку и выводите фамилии людей, номера у которых начинаются на 2. Получите отсортированный вывод и ничего никуда дополнительно сохранять не придется
Согласен с Вами, но такой алгоритм хороший для небольших n, то есть в моем случае. Скорее всего я так и сделаю, но вопрос уже с другой стороны, если у меня к примеру не один номер не начинается с 2, то смысл сортировать весь массив ?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
08.04.2013, 20:55     Ввод и вывод элементов структуры #6
Цитата Сообщение от edw1n Посмотреть сообщение
то смысл сортировать весь массив ?
а смысл хранить подобные данные в не отсортированном виде? Затрудняется поиск, удаление одинаковых элементов и т.д., да и просто вывод в алфавитном порядке всех данных намного приятнее и удобнее, чем бегать глазами по всему списку и искать где же потерялся Иванов Иван
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2013, 20:57     Ввод и вывод элементов структуры
Еще ссылки по теме:

Организовать режим записи append (структуры, файловый ввод/вывод) C++
C++ Объяснить работу программы (структуры, файловый ввод/вывод)
C++ Найти причины и способы устранения ошибок в коде (структуры, файловый ввод/вывод)

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

Или воспользуйтесь поиском по форуму:
edw1n
 Аватар для edw1n
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 114
08.04.2013, 20:57  [ТС]     Ввод и вывод элементов структуры #7
Цитата Сообщение от Croessmah Посмотреть сообщение
а смысл хранить подобные данные в не отсортированном виде? Затрудняется поиск, удаление одинаковых элементов и т.д., да и просто вывод в алфавитном порядке всех данных намного приятнее и удобнее, чем бегать глазами по всему списку и искать где же потерялся Иванов Иван
Я понял. Спасибо за помощь.
Yandex
Объявления
08.04.2013, 20:57     Ввод и вывод элементов структуры
Ответ Создать тему
Опции темы

Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru