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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2013, 14:49   #1
ChessMasterZ
Новичок
Джуниор
 
Регистрация: 21.03.2013
Сообщений: 3
По умолчанию Работа с массивом структур

Разработать программу, позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять дополнительную операцию в соответствии с индивидуальным заданием.


Поля структуры: тип компьютера , год выпуска, цена. Операция: удалить все компьютеры с заданным годом выпуска.

Помогите пожалуйста)
ChessMasterZ вне форума Ответить с цитированием
Старый 21.03.2013, 15:15   #2
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Господа, Вы бы хоть язык указали бы.
Да и судя по всему у Вас не массив а база данных.
Ну а дальше моих экстрасенсорных возможностей не хватает.
Короче больше вопросов, чем идей
netpolice вне форума Ответить с цитированием
Старый 21.03.2013, 17:22   #3
ChessMasterZ
Новичок
Джуниор
 
Регистрация: 21.03.2013
Сообщений: 3
По умолчанию

ой сори, забыл... язык c++
ChessMasterZ вне форума Ответить с цитированием
Старый 21.03.2013, 17:40   #4
Wishmaster1504
Пользователь
 
Аватар для Wishmaster1504
 
Регистрация: 09.10.2012
Сообщений: 11
По умолчанию

Ну вот тут накидал, вроде то что надо.
Код:
#include<conio.h>// библиотека для getch()
#include<iostream>
using namespace std;

struct comp {
	char type[20];//тип компьютера
	int god;//год выпуска
	int price;//цена
};
struct spisok{
	struct comp *mas;//основной динамический массив записей
	struct comp *tmas;//временный динамический массив записей
};
void menu(){
cout<<"++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"++                  Меню                  ++"<<endl;
cout<<"++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<"++  1. Создать список                     ++"<<endl;
cout<<"++  2. Просмотреть список                 ++"<<endl;
cout<<"++  3. Удалить комьютеры по году выпуска  ++"<<endl;
cout<<"++  4. Выход                              ++"<<endl;
cout<<"++++++++++++++++++++++++++++++++++++++++++++"<<endl;
}
void input_sp(struct comp *mas,int cnt) {	//функция ввода данных в массив
	for(int i=0;i<cnt;i++){
	cout <<"Введите тип компьютера"<< endl;
	cin >> mas[i].type;
	cout <<"Введите год выпуска"<< endl;
	cin >> mas[i].god;
	cout <<"Введите цену"<< endl;
	cin >> mas[i].price;
	};
}
//функци вывода на экран массива
void show(struct comp *mas,int cnt){
	for(int i=0;i<cnt;i++){
		cout <<"Тип компьютера: " << mas[i].type << endl;
		cout <<"Год выпуска: " << mas[i].god << endl;
		cout <<"Цена: " << mas[i].price << endl;
		cout <<"------------------------------" << endl;
	};
}
int main(){
setlocale(LC_ALL,"Russian");//русский язык
struct spisok sp;
int count,ch,gv,cnt;
ch=0;
while(ch!=4){
		//+++++++++++MENU+++++++++++
					menu();
		//++++++++++++++++++++++++++
		cout<<"Выбор: ";		cin >> ch;

		switch(ch) {
	case 1:
		//определяем размерность массива, сколько будет записей
		cout <<"Сколько записей вы хотите добавить"<< endl;
		cin >> count;
		sp.mas = (comp *)malloc(sizeof(struct comp)*count);
		input_sp(sp.mas,count);//ввод данных		
		break;
	case 2:
		show(sp.mas,count);//вывод списка на экран
		break;
	case 3:
		cout <<"Введите год выпуска: "<< endl;
		cin >> gv;
		cnt=0;
		//выделяем место для временного массива
		sp.tmas = (comp *)malloc(sizeof(struct comp)*count);

		for(int i=0;i<count;i++){
			if(sp.mas[i].god != gv) {
				sp.tmas[cnt] = sp.mas[i];
				cnt++;	}
		};//for
		
		//удаляем основной массив
		free(sp.mas);
		//заново распределяем память для основного массива
		sp.mas = (comp *)malloc(sizeof(struct comp)*cnt);
		//копируем все обратно из временного
		for(int i=0;i<cnt;i++){sp.mas[i] = sp.tmas[i];};
		//удаляем временный
		free(sp.tmas);
		
		count = cnt;
		break;
		};//sw
};//while

getch();
return 0;
};

Последний раз редактировалось Wishmaster1504; 21.03.2013 в 17:59.
Wishmaster1504 вне форума Ответить с цитированием
Старый 21.03.2013, 18:05   #5
ChessMasterZ
Новичок
Джуниор
 
Регистрация: 21.03.2013
Сообщений: 3
По умолчанию

спасибо огромное
ChessMasterZ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур с массивом, bool-ом и char-ом zorg-kirill Общие вопросы C/C++ 1 16.01.2013 12:12
листинг программы с динамическим массивом структур (и создание файлов). nata_lu Помощь студентам 2 19.12.2012 12:22
работа с массивами структур breikist Помощь студентам 5 15.12.2010 21:58
Работа с массивом GaSST Microsoft Office Excel 5 04.06.2009 07:57
Работа с массивом структур ai\ekcah^p Помощь студентам 1 26.05.2009 19:10