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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
roonmax
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 45
#1

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен - C++

25.03.2012, 11:51. Просмотров 746. Ответов 2
Метки нет (Все метки)

Вывести на экран все записи товаров, определенного ценового диапазона. Ценовой диапазон указывается пользователем.
ТОВАР: наименование товара (строка 15 символов); единицы измерения (строка 5 символов); цена (вещественное число с двумя знаками после запятой); количество (целое положительное число).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 11:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен (C++):

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в...

Ввод списка записей - C++
Нужно разработать программу, в которой осуществляется ....... ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!))

Вывод и ввод двумерного списка записей - C++
Добрый день уважаемые форумчане. Столкнулся с задачей: Необходимо создать двумерный массив\список данных типа float с заранее...

Составить программу, в которой создается массив и выполняется его обработка - C++
Пользователь вводит элементы в целочисленный массив mas с помощью функции scanf . Вывести массив на экран с помощью printf . определить...

Разработать класс Итератор, методы которого: переход в начало списка, в конец, к текущему элементу списка, к с - C++
Разработать класс Итератор, методы которого: переход в начало списка, в конец, к текущему элементу списка, к следующему элементу, к...

Ввод данного списка из файла в массив записей - Pascal ABC
Помогите мне пожалуйста. Вот моё задание: 1. Занести список , содержащий не менее 10 записей, из Работки 11 в текстовый файл TEXT.TXT...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Polikarpic
46 / 46 / 7
Регистрация: 29.06.2011
Сообщений: 174
25.03.2012, 12:41 #2
Могу дать свою старенькую лабораторку-используется массив структур.
Разобраться несложно-только функция удаления там не очень((
Модифицируйте-получите что-то похожее на вашу задачу
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;
 
struct user {
        char name[20];
        char number[20];
        char address[20];
    } num[20];
 
void add(int n, int *count);
void del(int n, int *count);
void fin(int n, int *count);
void list(int n, int *count);
 
int main() {
 
int n = 20;
int count = 0;
int change = 0;
while (true) {
cout<<"whats need to do?"<<endl;
cout<<"1-add number"<<endl;
cout<<"2-delete number"<<endl;
cout<<"3-find number"<<endl;
cout<<"4-list all numbers"<<endl;
cin>>change;
switch(change) {
    case 1: add(n, &count); break;
    case 2: del(n, &count); break;
    case 3: fin(n, &count); break;
    case 4: list(n, &count); break;
}
}
  return 0;
}
 
void add(int n, int *count) {
    if (*count == n) { cout<<"impossible adding record"<<endl;
                        return; }
    cout<<"surname: "<<endl;
    cin>>num[*count].name;
    cout<<"number:"<<endl;
    cin>>num[*count].number;
    cout<<"address:"<<endl;
    cin>>num[*count].address;
    (*count)++;
    return;
}
/* функция удаления записи
   ищет в списке нужную фамилию
   удаление-искажаем запись, тем самым исключая её 
   проверка на пустоту списка не нужна, т.к.
   цикл мы гоним до указателя на текущую запись 
   и поиск совсем маленький
   сигн. либо о нахождении и удалении, либо о том, что такой фамилии в списке нет
   Баг : когда мы удаляем, мы не можем сдвинуть указатель на тек. область памяти, тем самым теряя её
   как исправить-пока неизвестно(проблему могли бы решить связные списки)*/
void del(int n, int *count) {
    char surname[20];
    int i;
    bool flag = 0;
    cout<<"surname:"<<endl;
    cin>>surname;
    cout<<endl;
    for (i = 0; i < (*count) && i < n; i++) 
        if (!strcmp(surname,num[i].name))  { num[i].name[0]=0; flag = 1;
        cout<<"record sucessfuly deleted"<<endl; }
        if (!flag)
            cout<<"no records with such surname"<<endl;
        return;
}
/* функция нахождения элемента списка
   Багов не обнаружено*/
void fin(int n, int *count) {
    char surname[20];
    int i;
    bool flag = 0;
    cout<<"surname:"<<endl;
    cin>>surname;
    cout<<endl;
    for(i = 0; i < (*count) && i < n; i++)
        if (!strcmp(surname,num[i].name)) { cout<<"surname :"<<num[i].name<<endl;
                                            cout<<"number :"<<num[i].number<<endl;
                                            cout<<"address :"<<num[i].address<<endl;
                                            flag = 1;
                                            }
        if(!flag) cout<<"impossible find record"<<endl;
 
    return;
}
/* функция вывода списка
   выводит те элементы, которые не были испорчены(удалены)*/
void list(int n, int *count) {
    int i;
    for (i = 0; i < (*count); i++)
        if (num[i].name[0] != 0 && (*count) != 0) { cout<<"LIST:"<<endl;
                                                    cout<<endl;
                                                    cout<<num[i].name<<endl;
                                                    cout<<num[i].number<<endl;
                                                    cout<<num[i].address<<endl;
                                                    cout<<"---------------------"<<endl;
                                                    }
    return;
}
0
roonmax
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 45
25.03.2012, 15:06  [ТС] #3
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
#include <stdio.h>
#include <string.h>
 
 
 
typedef struct {
    double x,y;
} Point;
 
int main(int argc, char *argv[])
{
        printf("Enter x y: ");
    Point p;
    //scanf("%lf %lf",&p.x, &p.y);
    p.x = p.y * 10;
    printf("You entered: %lf, %lf", p.x, p.y);
 
    struct Student {
        char name[50] ;
        char group[20];
        unsigned int mark;
    } st1,st2;
    struct Student  st3;
    strcpy(st3.name,"Ivanov");
    strcpy(st3.group,"07pgs");
    st3.mark = 4;
    printf("\nStudent %s %s %d\n", st3.name, st3.group, st3.mark);
 
 
    return 0;
}
Переделать под мою!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 15:06
Привет! Вот еще темы с ответами:

1C 8.x Отбор записей динамического списка по выбранному значению отбора в виде выпадающего списка - 1С
Здравствуйте, имеется справочник с реквизитами: ДатаНачала, Продолжительность, Стоимость, Преподаватель. Нужно добавить выпадающий список,...

Ввод списка служащих и окладов. Сортировка записей и увеличение оклада на N рублей - C#
Имеется список служащих и их окладов. Составить программу, которая обеспечивает ввод этих данных в ЭВМ и выводит отсортированный по...

Создание списка, печать списка на экран, добавления элемента в начало списка, конец списка - Pascal
Построить динамическую структуру типа список . Необходимо реализовать следующие процедуры: 1. создание списка. 2. печать списка на...

Обработка списка: после каждого нуля добавить предшествующую часть списка - Haskell
Дан список чисел, нужно после каждого нуля добавить предшествующую часть списка. Написал что-то, но не работает, выдает ошибку. sp _...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru