Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2013, 17:32   #1
DeCIIoT
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию Программа на C++!!!

Помогите с программой пожалуйста.
А. Описать структуру с именем NOTE, содержащую следущие поля:
• Фамилия, имя;
• Номер телефона;
• День рождения(массив из трех чисел).
Ввести с клавиатуры данные о 10 абонентах, записи упорядочить по трем первым цыфрам номера телефона;
Б. Написать программу, выполняющую следующие действия:
• Вывод на экран информации о человеке, чья фамилия введенна с клавиатуры;
• Если такого нет, выдать на дисплей соотвествующее сообщение.
я не пойму в чем ошибка.
Код:
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;
 
struct note
{
    char name[30];
    int telnumb;
    int date[3]; 
};
 
void input(note* pt,int n)
{
    for(int i=0;i<n;i++)
    { 
        cout<<"vvedite familiyu\n";
        cin>>pt[i].name;
        cout<<"vvedite nom telophona\n";
        cin>>pt[i].telnumb;
        cout<<"vvedite datu rozhdeniya:\n";
        for (int j=0;j<3;j++)
        {
            cin>>pt[i].date[j];
        }
 
    }
}
 
void sort(note* pt,int n)
{ 
   char m[30]; 
   char* tmp=m; 
   for (int i=0;i<n;i++)
        if (strcmp(pt[i].name,pt[i+1].name)<0)
        {
            strcpy(tmp,pt[i].name);
            strcpy(pt[i].name,pt[i+1].name);
            strcpy(pt[i+1].name,tmp);
        }
}
void output(note* pt, int n)
{
    for (int i=0;i<n;i++)
    { 
        cout<<pt[i].name<<"\n";
        cout<<pt[i].telnumb;
        for (int j=0;j<3;j++)
        cout<<pt[i].date[j]<<"\n";
    }
}
 
void otp(note* pt,int n, int month)
{
    for (int i=0;i<n;i++)
        if (pt[i].date[2]==month)
        {
        cout<<pt[i].name;
        cout<<pt[i].telnumb;
        for (int j=0;j<3;j++)
         cout<<pt[i].date[j];
        }
        else cout<<"Takih ludey net";
};
 
void main()
{    
    const int n=3;
    note* ptr=new note[n];
    input(ptr,n);
    sort (ptr,n);
    output(ptr,n);
    getch();
}
DeCIIoT вне форума Ответить с цитированием
Старый 26.04.2013, 17:42   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
я не пойму в чем ошибка.
Вопрос первый: почему Вы считаете, что ошибка есть?
Abstraction вне форума Ответить с цитированием
Старый 26.04.2013, 17:47   #3
DeCIIoT
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию

Код:
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;
 
struct note
{
    char name[30];
    int telnumb;
    int date[3]; 
};
 
void input(note* pt,int n)
{
    for(int i=0;i<n;i++)
    { 
        cout<<"vvedite familiyu\n";
        cin>>pt[i].name;
        cout<<"vvedite nom telophona\n";
        cin>>pt[i].telnumb;
        cout<<"vvedite datu rozhdeniya:\n";
        for (int j=0;j<3;j++)
        {
            cin>>pt[i].date[j];
        }
 
    }
}
 
void sort(note* pt,int n)
{ 
   char m[30]; 
   char* tmp=m; 
   for (int i=0;i<n;i++)
        if (strcmp(pt[i].name,pt[i+1].name)<0)
        {
            strcpy(tmp,pt[i].name);
            strcpy(pt[i].name,pt[i+1].name);
            strcpy(pt[i+1].name,tmp);
        }
}
void output(note* pt, int n)
{
    for (int i=0;i<n;i++)
    { 
        cout<<pt[i].name<<"\n";
        cout<<pt[i].telnumb;
        for (int j=0;j<3;j++)
        cout<<pt[i].date[j]<<"\n";
    }
}
 
void otp(note* pt,int n, int month)
{
    for (int i=0;i<n;i++)
        if (pt[i].date[2]==month)
        {
        cout<<pt[i].name;
        cout<<pt[i].telnumb;
        for (int j=0;j<3;j++)
         cout<<pt[i].date[j];
        }
        else cout<<"Takih ludey net";
};
 
void main()
{                                 \\ в этой строке ошибка
    const int n=3;
    note* ptr=new note[n];
    input(ptr,n);
    sort (ptr,n);
    output(ptr,n);
    getch();
}
DeCIIoT вне форума Ответить с цитированием
Старый 26.04.2013, 17:56   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
в этой строке ошибка
*ласковым тоном инквизитора*
Какая?..

А вообще-то, если компилятор находит синтаксическую ошибку в строке - это не обязательно то место, где ошибка: это просто то место, где компилятор вконец запутался. На три строки выше посмотрите, пожалуйста.
Abstraction вне форума Ответить с цитированием
Старый 26.04.2013, 17:58   #5
DeCIIoT
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию

все я нашел в чем ошибка была
спасибо за потраченное время)

Последний раз редактировалось DeCIIoT; 26.04.2013 в 18:03.
DeCIIoT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа как программа. вопрос leonidsm Общие вопросы C/C++ 5 02.10.2012 21:30
Программа с применением записей и программа с применение множеств smert99 Помощь студентам 0 16.06.2011 23:14
Программа открыается если есть другая программа. bookkc Паскаль, Turbo Pascal, PascalABC.NET 12 14.10.2009 20:09