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

Использование классов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ найти функцию Аккермана http://www.cyberforum.ru/cpp-beginners/thread35648.html
Подскожите где ошибка. Здесь надо найти функцию Аккермана. #include "stdafx.h" int main () { int m,n,t; int ackr(int, int); scanf("%d %d ",&n,&m); t=ackr(n,m); printf("%d",t); }
C++ Ряды (задача) Задан текст, в котором присутствующие скобки. Проанализировать его с целью выявления и локализации ошибок в использовании скобок. Возможны три типа ошибок : а) несоответствие скобок по количествам; б) закрывающая скобка расположена к открывающей; в) отсутствующий текст между скобками. Результатом работы программы должно быть сообщение о типах допущенных ошибок и их место в тексте... http://www.cyberforum.ru/cpp-beginners/thread35618.html
Массивы C++
Добрый вечер,прошу помочь с задачей По квадратной матрице А построить матрицу B той же размерности. Элемент bij определяется таким способом: через aij проводятся диагонали, параллельные главной и побочной; Заранее благодарен за помощь...
C++ (Вопрос) Базовые понятия. Реализация разветвленных вычислительных процессов.
Добрый вечер прошу помочь с задачей: Определить, можно ли построить треугольник по заданным длинам сторон a, b, c. Если построение возможно, то определить тип треугольника: прямоугольный, тупоугольный, остроугольный, равносторонний, равнобедренный и тому подобное Для равностороннего треугольника – вычислить его высоту, для равнобедренного - медиану к основе. Заранее благодарен за помощь
C++ Разложить функцию f (x) в ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread35600.html
Добрый вечер,прошу помочь с двумя задачами... Для заданных n и m вычислить значение функции в, разложив функцию f(x) в ряд Тейлора. Аргумент функции f(x) изменяется от хn к хк с шагом D. Для вычисления факториала использовать рекурсивную функцию. Определить погрешность вычисления значения функции f(x). y=(1/((x^2)-1)^1/2);f(x)=x^(1/2);xn=-2;xk=2;delt=0.5;...
C++ Динамический массив такая задача... задать два вектора А и В , в вектор С поместить отрицательные элементы этих векторов, в вектор D положительные в возростающем порядке, а вектор Е - нулевые, найти минимальные по модулю элементы векторов А и В, в конце нужно заменить элементы вектора А - умножить на скаляр а - квадратный корень из индекса элемента...вот кое-что набросала..... #include <stdio.h> #include <conio.h>... подробнее

Показать сообщение отдельно
Alik-Soldier
9 / 9 / 0
Регистрация: 01.05.2009
Сообщений: 127

Использование классов - C++

22.05.2009, 11:40. Просмотров 1175. Ответов 10
Метки (Все метки)

Здравствуйте господа программисты. Помогите мне пожалуста. В Курсовой есть такое задание: "Создать телефонную книгу"
Программный проект представляет собой автоматизированную версию телефонной книги. Структура данных в телефонной книге имеет следующие поля:
• фамилия, имя, отчество абонента;
• адрес абонента;
• год установки телефона;
• номер телефона.
Телефонная книга содержит не более 5000 записей и сохраняется в файле telefon.fam.
Прикладная программа содержит следующие процедуры и функции:
• Добавить (добавляет данные о новом абоненте в телефонную книгу);
• Удалить (удаляет сведения о выбывшем абоненте из телефонной книги);
• НайтиПоИмени (по введенной фамилии, инициалам и адресу ищет и выводит на экран телефон абонента. Если адрес абонента не введен ,и абонентов с указанной фамилией несколько, выводятся сведения обо всех таких абонентах);
• Анализ (провести анализ о количестве установленных телефонов в определенном году);
• Конец (выход из программы).

Ввод данных в программу осуществляется в диалоге по запросам программы. Оператор программы инициирует запуск той или иной процедуры нажатием функциональных клавиш.

Вывод результатов выполнения программы осуществляется согласно описаниям процедур, приведенным выше.

ОШИБКИ
Ошибки ввода при диалоге должны приводить к повторению диалога.
Если при поиске абонент с указанной фамилией не найден, то выдается сообщение "Абонент не найден" и процедура поиска завершается без выхода из программы.
Вот мой код:
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <CyrIOS.h>
#include <conio.h>
 
FILE *f=fopen("c:\\telephon.txt", "w");
class Telephon
{
public:
    Telephon();
    void Dobavit();
    void Ydalit();
    void Naity();
    void Analiz();
private:
    struct FIO
    {
        char surname[50];
        char name[50];
        char second_name[50];
    };
    FIO fio;
    char adress[100];
    int year;
    int number;
};
Telephon tel;
Telephon::Telephon()
{
    year=number=0;
}
void Telephon::Dobavit()
{
    cout<<"Введите фамилию, имя, отчество абонента: "<<endl;
    cin>>tel.fio.surname>>tel.fio.name>>tel.fio.second_name;
    cout<<"Введите адрес абонента: "<<endl;
    cin>>tel.adress;
    cout<<"Введите год установки телефона: "<<endl;
    cin>>tel.year;
    cout<<"Введите номер телефона: "<<endl;
    cin>>tel.number;
    fprintf(f,"%s %s %s\n",tel.fio.surname,tel.fio.name,tel.fio.second_name);
    fprintf(f,"%s\n",tel.adress);
    fprintf(f,"%d\n",tel.year);
    fprintf(f,"%d\n",tel.number);
}
void Telephon::Ydalit()
{
}
void Telephon::Naity()
{
    char surname[50];
    cout<<"Введите фамилию нужного абонента"<<endl;
    cin>>surname;
    while(!feof(f))
    {
        if(surname==tel.fio.surname)
    {
        printf("%s %s %s\n",tel.fio.surname,tel.fio.name,tel.fio.second_name);
        printf("%d\n",tel.number);
    }
    }
}
void Telephon::Analiz()
{ 
    
}
int main()
{
    int control;
    cout<<"================================================================================"<<endl;
    cout<<"================================================================================"<<endl;
    cout<<"                       Programmu razrabotal Metlikin Alexey           \n"<<endl;
    cout<<"                                  Gruppa: NZD-107           \n"<<endl;
    cout<<"================================================================================"<<endl;
    cout<<"================================================================================"<<endl;
    cout<<"Выбирите нужную операцию из меню: "<<endl;
    cout<<"\nMENU:\n1. Добавить абонента\n2. Удалить абонента\n3. Нафти абонента\n4. Анализ\n5. Выход\n"<<endl;
    cin>>control;
    for(;;)
    {
        if(control==1)
            tel.Dobavit();
        if(control==)
            tel.Naity();
        cout<<"Выберите строку из меню"<<endl;
        cin>>control;
        if(control==5)break;
    }
    fclose(f); //закрываем файл
    return 0;
}
Объясните мне пожалуйста, как добавить нового абонента в файл не стирая данных в этом файле и как организовать поиск и удаление из телефонной книги. Функцию поиска я в принципе написал, но после ввода фамилии программа ничего не делает...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru