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

Проблемма при работе с массивами структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выявление двух самых больших чисел из ряда http://www.cyberforum.ru/cpp-beginners/thread821759.html
задача такова мы вводим любые числа от одного до десяти, задача программы найти два наибольших числа.цикл заканчивается если введенное число равно нулю на паскале я уже написал а с C++ великие проблемы вот так примерно выглядит это позорище но в принципе пофиг ибо для новичка и это уже неплохо #include<iostream> using namespace std; int main(){ int a,max,max2; do{cin>>a;
C++ iterator to count Возможно ли как-то получить порядковый номер вместо итератора не используя локальны счетчик. Для примера: std::string Monster::GetFirstWordOfDescription() { std::cout << description_.c_str() << std::endl; // DELETE std::string first_word; std::string::iterator space_of_first_world; space_of_first_world = std::find(description_.begin(),description_.end(),' '); for (... http://www.cyberforum.ru/cpp-beginners/thread821753.html
Вывести порядковый номер элемента массива C++ Builder C++
Есть одномерный массив из 10 символов , нужно вывести минимальный элемент массива и его порядковый номер . С минимальным элементом проблем нет , а вот с порядковым номером непонятно , помогите пожалуйста вот мой код : //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h"...
C++ Считать определенную строку из файла
Такое дело. Пользователь вводит определенную команду в TextBox, и нужно что бы программа считала определенную строку из файла, которая привязана к этой команде. Например: Пользователь ввел: "Привет", программа проверила файл и нашла введенное слово, при этом вывела пользователю привязанную к этой программе строчку: "И тебе привет". P.S Если такое лень писать такую программу, хоть подскажите,...
C++ Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной и шестнадцатеричной в десятичную) http://www.cyberforum.ru/cpp-beginners/thread821746.html
Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной и шестнадцатеричной в десятичную). Спасибо большое.
C++ Разработать класс Ttime 1 Разработать класс Ttime для работы со значениями времени. Класс должен содержать следующие элементы. Поля (скрытые): одно единственное поле, соответствующее количеству секунд, содер-жащихся в заданном значении времени Методы: конструктор по умолчанию, заполняющий поле текущим значением системного времени; конструктор, параметрами которого являются заданные значения часов, минут и... подробнее

Показать сообщение отдельно
4uba4ok
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 11
29.03.2013, 01:41     Проблемма при работе с массивами структур
Разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять дополнительную операцию в соответствии с индивидуальным заданием.
Поля структуры: тип компьютера, год выпуска, цена. Операция: удалить все компьютеры с заданным годом выпуска.
Проблема именно с операцией я походу чего-то не понимаю. До этого все сделал, проверил все работает, а удоляться компы из списка отказываются сперва он мне вместо удоления лепил утда какуюто гадость а тепеьр и вовсе последний кусок отказывается обрабатывать (как будто он просто обрабатывает но слишком уж это долго длится).
Кидаю весь код, то место где косяк выделено жирным.
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <Windows.h>
 
struct PC 
{ 
    char type[10];
    char year[5];
    float price;
};
 
void enterPC(PC *computer);
void printPC(PC computer [], int n);
 
int main()
{
    printf("Enter amount of computers you'd like to add: ");
    int n;
    scanf("%i",&n);
 
    PC* computer= new PC[n];
    
    getchar();
    for (int i=0; i<n; i++)
    {printf("\n-----Computer%i-----\n",(i+1));
    enterPC(&computer[i]);}
 
    printf("\n-----List of Computers:-----\n");
    printPC(computer,n);        
    
    char yr[5];
    printf("\nEnter what year computers remove from the list: ");
    gets(yr);
    PC* temp = new PC[255] ;
    for (int i=0; i<n; i++ )
    if(strcmp(computer[i].year,yr)) 
    {
    strcpy(temp[i].type,computer[i].type);
    strcpy(temp[i].year,computer[i].year);
    temp[i].price=computer[i].price;
    }
    
    ZeroMemory(computer,n);
    n=sizeof(temp);
    
    for (int i=0; i<n; i++)
    {
    strcpy(computer[i].type,temp[i].type);
    strcpy(computer[i].year,temp[i].year);
    computer[i].price=temp[i].price;
    }
 
    
    delete [] temp;
    printf("\n-----New List of Computers:-----\n");
    printPC(computer,n);
 
getch();
return 0;
}
 
void enterPC(PC *computer)
{
    printf("Enter type: ");
    gets(computer->type);
    printf("Enter year: ");
    gets(computer->year);
    printf("Enter price: ");
    scanf("%f",&(*computer).price);
    getchar();
}
 
void printPC(PC computer [], int n)
{
for (int i=0; i<n; i++)
        printf("%s %s %.2f\n",computer[i].type,computer[i].year,computer[i].price);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru