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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2011, 21:44   #1
Litoi
Пользователь
 
Регистрация: 01.01.2011
Сообщений: 19
Счастье

Создать массив структур. Каждая структура состоит из таких элементов: фамилия, номер телефона, адрес, борг по оплате. Созданный массив структур записать до файла. Предвидеть операции добавления записей к файлу и их редактирование. Исполнить запросы:1) определить фамилии абонентов у которых есть борг по оплате больше заданной пользователем; 2)извлечь фамилии абонентов, адрес которых изменился; 3) сменить номер телефона заданного абонента. Результаты записать в файл. Выполнить поиск у файле заданной фамилии, номера телефона. Определить номер байта у файле, с которого начинается найденный запис. Упорядочить записи в файле за фамилиями.

Язык С++. нуждаюсь хотя бы в примере...

предположительно этакое.
код:
Код:
#include <stdio.h>
#include <conio.h>

struct student {
char name[80];
int nomer[80];
int adres[80];
int borg[80];
};

main()
{
clrscr();
struct student students;
struct student group[5];

for (int i = 0; i < 5; i++)
{
printf("Danue %d-go studenta\n", i);
{
printf("Vvedite name: ");
scanf("%s", &group[i].name);
printf("Vvedite nomer telephonu: ");
scanf("%d", &group[i].nomer);
printf("Vvedite borg: ");
scanf("%d", &group[i].borg);
printf("Vvedite adresa: ");
scanf("%d", &group[i].adres);

}
}

for (i = 0; i < 5; i++)
{
if (group[i]. borg < 1000)
{
printf ("\n%s", group[i].name);
}}


return 0;
}
ну и еще десять раз откоректировать, но основа такова(с ошибкой)?

Последний раз редактировалось Stilet; 06.01.2011 в 14:50.
Litoi вне форума Ответить с цитированием
Старый 06.01.2011, 14:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Посмотри сюда:http://www.programmersforum.ru/showthread.php?t=105501
Тут я давал пример работы с типированным файлом. Например чтоб выполнить задание
Цитата:
сменить номер телефона заданного абонента.
Тебе нужно будет считать запись по ее номеру функцией rea, изменить некое поле - тел. и записать назад функцией wri, перед этим переставив курсор в файле на эту запись скажем строкой
Код:
fseek(БД,sizeof(rec)*(RecNum-1),SEEK_SET);
Где RecNum - та запись куда писать.

попробуй пример
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2011, 17:22   #3
Litoi
Пользователь
 
Регистрация: 01.01.2011
Сообщений: 19
По умолчанию

запись в файл вперво мне... я ничего не поняла(((
Litoi вне форума Ответить с цитированием
Старый 06.01.2011, 19:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
запись в файл вперво мне... я ничего не поняла(((
Тебе просто таки нужно почитать учебник по Классическому Си. Где описано как работать с файлами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.01.2011, 02:46   #5
Litoi
Пользователь
 
Регистрация: 01.01.2011
Сообщений: 19
По умолчанию

а если так:
код:
Код:
#include <STDIO.H>
#include <FSTREAM.H>
#include <MATH.H>
#include <CONIO.H>

const n=5;
int len=n; 
FILE *my_file;
struct zapis { int id;
char *last_name;
char *nomer;
char *adres;
char *borg;

};
zapis arr[n]; 
void add()
{
cout << "Vvedite familiju:";
cin >> arr[len].last_name;
cout << "Vvedite nomer telephonu:";
cin >> arr[len].nomer;
cout << "Vvedite adres:";
cin >> arr[len].adres;
cout << "Vvedite borg:";
cin >> arr[len].borg;

len++;
}
void del(int id) //udalenie el-ta
{
for (int i=id;i<len;i++)
{
arr[i].id=arr[i+1].id;
arr[i].last_name=arr[i+1].last_name;
arr[i].nomer=arr[i+1].nomer;
arr[i].adres=arr[i+1].adres;
arr[i].borg=arr[i+1].borg;


}
len--;
}
void save()
{
char *filename;
cout << "Vvedite filename: ";
cin >> filename;
ofstream ofs("filename");
ofs << arr;
ofs.close();
cout << "Save!";
}
/
*void load()
{
char *filename;
cout << "Vvedite filename: ";
cin >> *filename;
ifstream ifs("filename");
while (!ifs.eof())
{

ifs.close();
cout << "Load!";
} */
void main()
{
clrscr();
add();
del(0);
getch();
}
тогда проблема с выводом, и как правильно оформить вывод...

Последний раз редактировалось Stilet; 07.01.2011 в 13:23.
Litoi вне форума Ответить с цитированием
Старый 07.01.2011, 14:22   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых:
Код:
const int n=5;
Во-вторых: Не хватает #include <iostream> и возможно using namespace std;
В-третьих: Ты пишешь загодя int len=n; а потом при добавлении len++; что дает тебе вылет за пределы массива. Уж пиши len=0;
В-четвертых:
Цитата:
char *last_name;
char *nomer;
char *adres;
char *borg;
Ты даже не представляешь какую мороку преобретаешь описывая поля как указатели. Посмотри внимательнее пример, как я там поля структуры описал
В-5-х. Обрати внимание:
Код:
ofstream ofs("filename");
Имя файла то указано, а не переменка, содержащая это имя. Ковычки то убрать нужно
Да и потом у меня сомнения насчет правильности записи в ofs << arr;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.01.2011, 22:00   #7
Litoi
Пользователь
 
Регистрация: 01.01.2011
Сообщений: 19
По умолчанию

Помогите!!! Программа должна делать прямоугольный треугольник (ввод катетов с клавиатуры), а она делает трапецию.
#include <iostream.h>
#include <windows.h>
#include<math.h>
#include<stdio.h>
main ()
{
int j=0;
int i=0;
int n=0;
int m=0;
cout<<"Vvedite razmer vysoty treugolnika:";
cin>>n;
cout<<"Vvedite razmer osnovy treugolnika:";
cin>>m;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
printf("*");
m=m+1;
printf("\n");
}
return 0;
}
Litoi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур nondeadlollipop Помощь студентам 1 11.12.2010 09:28
массив структур MichaelRED Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 18.05.2010 22:55
массив структур klykovka Общие вопросы C/C++ 4 19.04.2010 16:17
массив структур Help_me_please Помощь студентам 3 16.01.2010 02:19
Массив структур velvetdust Общие вопросы C/C++ 0 21.03.2009 13:18