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

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

Восстановить пароль Регистрация
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
30.03.2014, 21:25     Сравнивание строк в структуре #1
Здравствуйте. Мне нужно вывести на экран структуру, в подпрограмме я ввожу данные, а в этой 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);
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 21:25     Сравнивание строк в структуре
Посмотрите здесь:

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

C++
1
2
3
4
if(strcmp(st.FIO,st.FIO)==0)
       какой код
else
     чистый профит
Yandex
Объявления
02.04.2014, 07:51     Сравнивание строк в структуре
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru