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

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

Войти
Регистрация
Восстановить пароль
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
#1

Сравнивание строк в структуре - C++

30.03.2014, 21:25. Просмотров 256. Ответов 4
Метки нет (Все метки)

Здравствуйте. Мне нужно вывести на экран структуру, в подпрограмме я ввожу данные, а в этой output вывожу данные, но сначала мне нужно найти и сложить все данные по одному продавцу, например, он повторяется 2 раза и мне все показатели его нужно сложить. У меня проблема со сравнивание строки, FIO. Подскажите, пожалуйста, как организовать сравнение. Я думала про массив, но не получилось и общее кол-во строк не известно.
C++ (Qt)
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
struct seller
{
char FIO[100];
float t, at,ot,oat;
int v, s,os,ov;
} ;
 
void output()
{
seller st;
char filename[]="sellers.dat";
int os,ov;
float ot,oat;
FILE *f;
clrscr();
f=fopen(filename,"rb+");
if(f)
{
if(strcmp(st.FIO,st.FIO)==0)
{
st.os=st.s+st.s;
st.ov=st.v+st.v;
st.ot=st.t+st.t;
st.oat=st.at+st.at;
printf("\n FIO/Weigth things/Things/Time/Service time of purchase/");
 
while(fread(&st,sizeof(st),1,f))
{
printf("\n /%25s/%2d/%2d/%f/%5.2f", st.FIO,st.ov,st.os,st.ot,st.oat);
}
}
printf("Press any key");
fflush(stdin);
fclose(f);
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 21:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнивание строк в структуре (C++):

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

сравнивание строк - C++
Здравствуйте. Обьясните пожалуйста чайнику, почему я немогу сравнить строку вот так: #include &lt;iostream&gt; using namespace std; ...

Сравнивание и присоединение строк - C++
Присоединение, проблема в том, как вывести результат присоединения: #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;alloc.h&gt; void...

Сравнение строк в структуре - C++
смысл таков- я ввожу строку char nomerP, и эта строка должна сравниться с char NO и вернуть мне 0 или отличное от 0 значение. Вот вызов...

Сравнение строк в структуре - C++
Помогите, пожалуйста. Задается структура &quot;Фильм&quot;: вводится название фильма, режиссер, год выпуска и стоимость. Это все сделано. Необходимо...

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

4
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
31.03.2014, 01:26 #2
Попробуйте использовать вектор структур. Потом, мне думается, можно его отсортировать по ФИО через алгоритм сортировки, предварительно описав предикат или оператор < в структуре. Тогда все одинаковые ФИО буду сгруппированы, а значит не нужно будет пробегать весь вектор от начала до конца в поисках очередного повтора ФИО.
0
IrineK
Заблокирован
31.03.2014, 01:30 #3
А что происходит с строке 23?
C++
1
if(strcmp(st.FIO,st.FIO)==0)
0
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 233
02.04.2014, 07:45  [ТС] #4
Wlk, Идея неплохая, но я не знаю, как сортировать.
IrineK, Здесь по идеи сравнивание строк FIO, неправильно организованное, я думаю здесь массим или что-нибудь еще, вот здесь у меня и проблема
0
IrineK
Заблокирован
02.04.2014, 07:51 #5
Цитата Сообщение от -Arabella- Посмотреть сообщение
неправильно организованное
Очень даже правильно. Подход старый как мир:

C++
1
2
3
4
if(strcmp(st.FIO,st.FIO)==0)
       какой код
else
     чистый профит
1
02.04.2014, 07:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 07:51
Привет! Вот еще темы с ответами:

Как в структуре задать массив строк фиксированного размера? - C++
Как в структуре задать массив строк фиксированного размера? я попытался так struct pupil { string a; } Оказалось я задал длину...

Сравнивание 3-х чисел - C++
Как сравнить 3 числа в с++,и вывести на экран число которое из них больше,если не сложно объясните

Сравнивание указателей - C++
Нужно подсчитать количество символов до определенной позиции, включительно, указатель на которую - begin_symbol начало подсчета с позиции...

Сравнивание CLASS1* с CLASS2 - C++
есть вектор указателей CLASS1 и мне нужно функцией std::find найти нужный указатель делаю так: find( v.begin(), v.end(), CLASS2( 3, 4 )...


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

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

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