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

Ошибка в программе (Описать структуру с именем NOTE)

17.04.2013, 20:16. Показов 1313. Ответов 16

Студворк — интернет-сервис помощи студентам
Описать структуру с именем NOTE, содержащую следующие поля:
- фамилия, имя;
- номер телефона;
- дата рождения
Написать программу, выполняющую следующие действия:
- вывод на экран информации о человеке, номер телефона которого введен с клавиатуры;
- если такого нет, выдать на дисплей соответствующее сообщение.

Добавлено через 55 секунд
а вот и сама программа
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
#include <iostream.h>
#include <conio.h>
#include <string.h>
int main() {
    int i;
   char F;
   struct Note {
   char sname_imya [20];
   int nomer [20];
   int data ;
};
    Note A[3];
   for (i=1; i<=3; i++)
   {
   printf("imya"); scanf("%s", & A[i].sname_imya);
   printf("nomer"); scanf("%d", A[i].nomer);
   printf("data"); scanf("%d", & A[i].data);
   }
   printf ("vvedite imya");
   scanf ("%s", &F);
   for (i=1; i<=3; i++)
   {
    if (F == A[i].sname_imya){
      printf ("\n%nomer", A[i].nomer);
      printf ("\n%d", & A[i].data);
      }
   }
   getch();
   return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2013, 20:16
Ответы с готовыми решениями:

Описать структуру с именем NOTE
1. Описать структуру с именем NOTE, содержащую следующие поля: Фамилия, имя; Номер телефона; День рождения(массив из 3 чисел) 2....

Описать структуру с именем NOTE
Помогите с программой пожалуйста. А. Описать структуру с именем NOTE, содержащую следущие поля: Фамилия, имя; Номер телефона; День...

Описать структуру с именем NOTE
Описать структуру с именем NOTE, содержащую поля: -фамилия и имя; -номер телефона; -дата рождения (массив из трех чисел). ...

16
Helter Skelter
 Аватар для hofmn
64 / 64 / 19
Регистрация: 19.09.2012
Сообщений: 133
17.04.2013, 20:22
Где ошибка-то?
0
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 20:23
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
#include <conio.h>
#include <stdio.h>
 
int main() {
    int i;
   char F[20];
   struct Note {
   char sname_imya [20];
   int nomer [20];
   int data ;
};
    Note A[3];
   for (i=1; i<=3; i++)
   {
   printf("imya"); scanf("%c", & A[i].sname_imya);
   printf("nomer"); scanf("%d", A[i].nomer);
   printf("data"); scanf("%d", & A[i].data);
   }
   printf ("vvedite imya");
   scanf ("%c", &F);
   for (i=1; i<=3; i++)
   {
    if (F == A[i].sname_imya){
      printf ("\n%nomer", A[i].nomer);
      printf ("\n%d", & A[i].data);
      }
   }
   getch();
   return 0;
}
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 20:36  [ТС]
Алекс, вот что выдает в ответ
Миниатюры
Ошибка в программе (Описать структуру с именем NOTE)  
0
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 20:51
"%c"поменяй на "%s"

Добавлено через 6 минут
и for (i=1; i<=3; i++) на for (i=0; i<3; i++) в обоих циклах
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
17.04.2013, 20:54
Цитата Сообщение от hacker13a Посмотреть сообщение
int nomer [20];
массив !!!!
Цитата Сообщение от hacker13a Посмотреть сообщение
printf("nomer"); scanf("%d", A[i].nomer);
вводим одно число в nomer[0]
Цитата Сообщение от hacker13a Посмотреть сообщение
char F;
один char

Цитата Сообщение от hacker13a Посмотреть сообщение
scanf ("%s", &F);
вводим строку
как минимум 2 char

Цитата Сообщение от hacker13a Посмотреть сообщение
if (F == A[i].sname_imya)
если думаешь что этим сравниваешь строки, то глубоко ошибаешься
для сравнения строк strcmp
http://lord-n.narod.ru/downloa... strcmp.htm
Цитата Сообщение от hacker13a Посмотреть сообщение
printf ("\n%nomer", A[i].nomer);
nomer массив !!!
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 20:58  [ТС]
alex_04, после того как вводишь имя, он выдает цифры 124558 и т.д..))
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
17.04.2013, 21:02
Цитата Сообщение от hacker13a Посмотреть сообщение
alex_04, после того как вводишь имя, он выдает цифры
потому что портишь стек

Цитата Сообщение от hacker13a Посмотреть сообщение
char F;
Цитата Сообщение от hacker13a Посмотреть сообщение
scanf ("%s", &F);
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 21:04  [ТС]
ValeryS,
можете написать исправленную версию, ибо я в пока том сильно слаб... как видите))
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
17.04.2013, 21:09
Цитата Сообщение от hacker13a Посмотреть сообщение
можете написать исправленную версию,
нет
Цитата Сообщение от hacker13a Посмотреть сообщение
ибо я в пока том сильно слаб...
учись
помочь всегда помогу
для начала объяви F массивом
char F [20];
во вторых вынеси описание структуры из функции (не хорошо это)
в третьих решай нужную задачу

Цитата Сообщение от hacker13a Посмотреть сообщение
вывод на экран информации о человеке, номер телефона которого введен с клавиатуры;
а ты что вводишь?
Цитата Сообщение от hacker13a Посмотреть сообщение
printf ("vvedite imya");
* *scanf ("%s", &F);
имя
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 21:27  [ТС]
ValeryS, printf ("vvedite nomer"); вот здесь, и if (F == A[i].nomer){
printf ("\n%name", & A[i].sname_imya); здесь кажись я правильно исправил. и char F[20];
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
#include <conio.h>
#include <stdio.h>
 
int main() {
    int i;
   char F[20];
   struct Note {
   char sname_imya [20];
   int nomer [20];
   int data ;
};
    Note A[3];
   for (i=1; i<=3; i++)
   {
   printf("imya"); scanf("%c", & A[i].sname_imya);
   printf("nomer"); scanf("%d", A[i].nomer);
   printf("data"); scanf("%d", & A[i].data);
   }
   printf ("vvedite nomer");
   scanf ("%s", &F);
   for (i=1; i<=3; i++)
   {
    if (F == A[i].nomer){
      printf ("\n%name", & A[i].sname_imya);
      printf ("\n%d", & A[i].data);
      }
   }
   getch();
   return 0;
}
Добавлено через 2 минуты
а как вынести описание структуры из функции я не знаю(. или не понимаю что это означает
0
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 21:33
Цитата Сообщение от hacker13a Посмотреть сообщение
for (i=1; i<=3; i++)
выход за пределы массива происходит, необходимо for (i=0; i<3; i++) т.к индексация начинается с 0

Цитата Сообщение от hacker13a Посмотреть сообщение
а как вынести описание структуры из функции я не знаю(. или не понимаю что это означает
вынести структуру из ф-ции main
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
17.04.2013, 21:44
поехали дальше
зачем тебе
Цитата Сообщение от hacker13a Посмотреть сообщение
int nomer [20];
массив на двадцать(телефонные номера 10 значные) интов(каждый может быть до 2 милиардов)
подумай как поменять
и подумай как поменяется логика программы
Цитата Сообщение от hacker13a Посмотреть сообщение
if (F == A[i].nomer){
массивы так не сравнивают
тем более что nomer массив интов а F чаров
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 22:02  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
массив на двадцать(телефонные номера 10 значные) интов(каждый может быть до 2 милиардов)
подумай как поменять
т.е нужно просто int nomer;?


Цитата Сообщение от ValeryS Посмотреть сообщение
массивы так не сравнивают
хотите сказать что здесь нужно использовать функцию strcmp?
C++
1
 if(strcmp(F, A[i].nomer))
?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
17.04.2013, 22:08
Цитата Сообщение от hacker13a Посмотреть сообщение
т.е нужно просто int nomer;?
можно int только unsigned(отрицательных номеров не бывает) и long, в простой int десять цифр не влезут
можно строку так же как для имени
Цитата Сообщение от hacker13a Посмотреть сообщение
хотите сказать что здесь нужно использовать функцию strcmp?
уже нет у тебя типы массивов разные
подумай как будешь хранить номер и после этого будем думать как сравнивать
1
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
18.04.2013, 18:55  [ТС]
ValeryS, вот честно, не знаю(. поищу в интернете(.

Добавлено через 20 часов 35 минут
ValeryS, ПОЖАЛУЙСТА, напишите программу, я весь инет перекопал мне просто на аттестацию сдавать) чем быстрее тем лучше, и конечно должен все объяснять что да как получил))
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,869
18.04.2013, 19:29
Цитата Сообщение от hacker13a Посмотреть сообщение
просто на аттестацию сдавать)
не вижу логики
Цитата Сообщение от hacker13a Посмотреть сообщение
ValeryS, ПОЖАЛУЙСТА, напишите программу,
мне что ли аттестацию сдавать?

Цитата Сообщение от hacker13a Посмотреть сообщение
я весь инет перекопал
А что ты там искал???
это твои данные как решишь так и будет
уже есть два варианта
целое длинное число
строка
можно еще собственную структуру
решай из чего делать будешь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2013, 19:29
Помогаю со студенческими работами здесь

Описать структуру с именем NOTE
Вот такого рода задание: Программа должна запрашивать все необходимые параметры, отслеживая правильность формата ввода. Упорядочивание...

Описать структуру с именем NOTE
Создать однофайловое консольное приложение (проект). В этом проекте описать структуру, соответствующую предметной области вашего...

Описать структуру с именем NOTE
Описать структуру с именем NOTE, содержанию следующие поля: 1) фамилия, имя; 2) номер телефона; 3) дата рождения (массив из трех...

Описать структуру с именем NOTE
Народ почти не знаю С++ но нужно написать вот прогу желательно на Буилдере 1. Описать структуру с именем NOTE, содержащую следующие...

Описать структуру с именем NOTE
Описать структуру с именем NOTE, с полями: фамилия, номер телефона, год рождения. Сформировать односвязный список. Реализовать про-смотр...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru