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

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

Восстановить пароль Регистрация
 
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 20:16     Ошибка в программе (Описать структуру с именем NOTE) #1
Описать структуру с именем 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2013, 20:16     Ошибка в программе (Описать структуру с именем NOTE)
Посмотрите здесь:

Описать структуру с именем NOTE C++
C++ Описать структуру с именем NOTE
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++
C++ Описать структуру с именем NOTE
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hofmn
Helter Skelter
 Аватар для hofmn
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
17.04.2013, 20:22     Ошибка в программе (Описать структуру с именем NOTE) #2
Где ошибка-то?
alex_04
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 20:23     Ошибка в программе (Описать структуру с именем NOTE) #3
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;
}
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 20:36  [ТС]     Ошибка в программе (Описать структуру с именем NOTE) #4
Алекс, вот что выдает в ответ
Миниатюры
Ошибка в программе (Описать структуру с именем NOTE)  
alex_04
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 20:51     Ошибка в программе (Описать структуру с именем NOTE) #5
"%c"поменяй на "%s"

Добавлено через 6 минут
и for (i=1; i<=3; i++) на for (i=0; i<3; i++) в обоих циклах
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
17.04.2013, 20:54     Ошибка в программе (Описать структуру с именем NOTE) #6
Цитата Сообщение от 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/download/book.../14/strcmp.htm
Цитата Сообщение от hacker13a Посмотреть сообщение
printf ("\n%nomer", A[i].nomer);
nomer массив !!!
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 20:58  [ТС]     Ошибка в программе (Описать структуру с именем NOTE) #7
alex_04, после того как вводишь имя, он выдает цифры 124558 и т.д..))
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
17.04.2013, 21:02     Ошибка в программе (Описать структуру с именем NOTE) #8
Цитата Сообщение от hacker13a Посмотреть сообщение
alex_04, после того как вводишь имя, он выдает цифры
потому что портишь стек

Цитата Сообщение от hacker13a Посмотреть сообщение
char F;
Цитата Сообщение от hacker13a Посмотреть сообщение
scanf ("%s", &F);
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 21:04  [ТС]     Ошибка в программе (Описать структуру с именем NOTE) #9
ValeryS,
можете написать исправленную версию, ибо я в пока том сильно слаб... как видите))
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
17.04.2013, 21:09     Ошибка в программе (Описать структуру с именем NOTE) #10
Цитата Сообщение от hacker13a Посмотреть сообщение
можете написать исправленную версию,
нет
Цитата Сообщение от hacker13a Посмотреть сообщение
ибо я в пока том сильно слаб...
учись
помочь всегда помогу
для начала объяви F массивом
char F [20];
во вторых вынеси описание структуры из функции (не хорошо это)
в третьих решай нужную задачу

Цитата Сообщение от hacker13a Посмотреть сообщение
вывод на экран информации о человеке, номер телефона которого введен с клавиатуры;
а ты что вводишь?
Цитата Сообщение от hacker13a Посмотреть сообщение
printf ("vvedite imya");
* *scanf ("%s", &F);
имя
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
17.04.2013, 21:27  [ТС]     Ошибка в программе (Описать структуру с именем NOTE) #11
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 минуты
а как вынести описание структуры из функции я не знаю(. или не понимаю что это означает
alex_04
2 / 2 / 0
Регистрация: 27.01.2013
Сообщений: 5
17.04.2013, 21:33     Ошибка в программе (Описать структуру с именем NOTE) #12
Цитата Сообщение от hacker13a Посмотреть сообщение
for (i=1; i<=3; i++)
выход за пределы массива происходит, необходимо for (i=0; i<3; i++) т.к индексация начинается с 0

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


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

Добавлено через 20 часов 35 минут
ValeryS, ПОЖАЛУЙСТА, напишите программу, я весь инет перекопал мне просто на аттестацию сдавать) чем быстрее тем лучше, и конечно должен все объяснять что да как получил))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2013, 19:29     Ошибка в программе (Описать структуру с именем NOTE)
Еще ссылки по теме:

Описать структуру с именем Note C++
C++ Описать структуру с именем NOTE
Описать структуру с именем NOTE C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
18.04.2013, 19:29     Ошибка в программе (Описать структуру с именем NOTE) #17
Цитата Сообщение от hacker13a Посмотреть сообщение
просто на аттестацию сдавать)
не вижу логики
Цитата Сообщение от hacker13a Посмотреть сообщение
ValeryS, ПОЖАЛУЙСТА, напишите программу,
мне что ли аттестацию сдавать?

Цитата Сообщение от hacker13a Посмотреть сообщение
я весь инет перекопал
А что ты там искал???
это твои данные как решишь так и будет
уже есть два варианта
целое длинное число
строка
можно еще собственную структуру
решай из чего делать будешь
Yandex
Объявления
18.04.2013, 19:29     Ошибка в программе (Описать структуру с именем NOTE)
Ответ Создать тему

Метки
note, note c++, описать структуру note c++, описать структуру note, описать структуру с именем note c++, описать структуру с именем note, структура note, структура note c++, структуры данных, структуры данных c++
Опции темы

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