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

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

Войти
Регистрация
Восстановить пароль
 
Dgaizer
41 / 41 / 1
Регистрация: 25.03.2014
Сообщений: 361
#1

Работа с файлами необходима функция или просто счетчик С++ - C++

22.11.2014, 14:46. Просмотров 263. Ответов 7
Метки нет (Все метки)

Здравствуйте задача состоит в слудующем есть файл база знаний в которой написаны автомобили и критерии к этому автомобилю
База знаний
1 Мазда=Япония Справо Быстрый Музыка
2 Тойота=Япония Справо Спокойный Вместимость
3 Бмв=Германия Слево Педаль газа в пол Многофункциональность
4 Лада=Россия Слево Режим пенсионер Музыка
5 Додж=Америка Слево Спокойный Комфорт


Пользователь проходит тест.
1)Какая страна производства?
2)Руль с какой стороны?
3)Как вы водите?
4)Что в машине главное ?

Его ответы записываются в текстовый файл.

И следующее что надо сделать это считать с файла ответы пользователя сравнить их с Базой знаний и вывести результат какие машины подходят больше или меньше ( необязательно % соотношении можно )

Помогите пожалуйста с реализацией данного задания
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 14:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Работа с файлами необходима функция или просто счетчик С++ (C++):

Просто позарез необходима поммощь! Молю, спасайте! Завтра зачёт... - C++
такая прогарамма о графах и выскакивает всего одна ошибка на 1-ю строчку(#include "stdafx.h") Не удается открыть файл include: stdafx.h:...

Работа с файлами: найти сотрудников, чей возраст старше 45 или стаж превышает 20 лет - C++
работа с файлами поместить в файл n записей, содержащих сведения о сотрудниках: ФИО, год рождения, стаж работы. Найти сотрудников, чей...

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

Простейшая функция. Нужно объяснить просто - C++
Здравствуйте, братья-программисты. У меня такая проблемулина: перехожу с delphi на cpp, решаю упражнения всякие, но вот с этим не понимаю...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект - C++
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

Как минимально просто использовать функция std::find с последовательность типа : list<myClass*> - C++
Добрый день. Как минимально просто использовать функция std::find с последовательность типа : list&lt;myClass*&gt;,если в классе перегружен...

7
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
22.11.2014, 16:21 #2
В чём сложность? Записал, считал, сравнил. Чем больше совпало, тем лучше.
1
Dgaizer
41 / 41 / 1
Регистрация: 25.03.2014
Сообщений: 361
22.11.2014, 16:26  [ТС] #3
nmcf, может по циклам не правильно бегаю или вообще не то написал
Ну что то вообще не получается что не так пишу???
http://www.cyberforum.ru/attachment....1&d=1416662676 записанные ответы теста

http://www.cyberforum.ru/attachment....1&d=1416662676 база знаний
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
#include <clx.h>
#pragma hdrstop
#include <iostream.h>
#include <fstream.h>
#include <string.h>
//---------------------------------------------------------------------------
 
 struct ES{char vopros1; char vopros2; char vopros3 ; char vopros4 ; char vopros5;char vopros6 ;} ;
 struct RES{char otvet1; char otvet2; char otvet3 ; char otvet4 ; char otvet5;char otvet6 ;};
 #pragma argsused
 
int main(int argc, char* argv[])
{  char mashina; int i, j , n=0 , d=0;
string temp;
 
ifstream in("база_знаний.txt");
   while(!in.eof())
     {
       getline(in,temp);
        n++;
      }
    in.clear();
    in.seekg(0 ,ios::beg);
    ES* a=new ES[n]; //динамический массив струтур
    n=0;
    while(!in.eof())
        {
        in>>temp>>mashina>>temp>>a[n].vopros1>>a[n].vopros2>>a[n].vopros3>>a[n].vopros4>>a[n].vopros5>>a[n].vopros6;
        n++;
        }
 
 
 
       ifstream f("rezultat.txt");
       while(!f.eof())
     {
       getline(f,temp);
        d++;
      }
    f.clear();
    f.seekg(0 ,ios::beg);
    RES* b=new RES[d]; //динамический массив структур
    d=0;
    while(!f.eof())
        {
        in>>b[d].otvet1>>b[d].otvet2>>b[d].otvet3>>b[d].otvet4>>b[d].otvet5>>b[d].otvet6;
        d++;
        }
  //сравниваем
    for(i=0;i<n;i++)
 
       for(j=0;j<d;j++)
   if(a[n].vopros1==b[d].otvet1 &&
   a[n].vopros2==b[d].otvet2 &&
   a[n].vopros3==b[d].otvet3 &&
    a[n].vopros4==b[d].otvet4 &&
    a[n].vopros5==b[d].otvet5 &&
     a[n].vopros6==b[d].otvet6)
     cout<<"Mashina 100% vam podhodit"<<mashina;
 
 
 
 
 
 
 
 
 
 
 
 
     system("pause");
        return 0;
}
1
Вложения
Тип файла: txt rezultat.txt (53 байт, 1 просмотров)
Тип файла: txt база_знаний.txt (230 байт, 2 просмотров)
Dgaizer
41 / 41 / 1
Регистрация: 25.03.2014
Сообщений: 361
22.11.2014, 16:30  [ТС] #4
nmcf, если можно проще как то написать покажите как?
1
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
22.11.2014, 16:40 #5
Структура у тебя неправильная, каждое поле из 1-го символа. Надо массивы.
1
Dgaizer
41 / 41 / 1
Регистрация: 25.03.2014
Сообщений: 361
22.11.2014, 16:49  [ТС] #6
nmcf, можете привести пример ?
записать в структуры массивы типа
C++
1
char vopros1[100]
??
йо т.е
C++
1
ES* a=new ES[n];
изменить?
0
nmcf
6206 / 5517 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
22.11.2014, 18:50 #7
Цитата Сообщение от Dgaizer Посмотреть сообщение
записать в структуры массивы типа
Код C++
1
char vopros1[100]
Да.
1
Dgaizer
41 / 41 / 1
Регистрация: 25.03.2014
Сообщений: 361
22.11.2014, 19:18  [ТС] #8
nmcf, переделал код не много считываю не слова а индесы все равно ничего не выводит почему?

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
#include <clx.h>
#pragma hdrstop
#include <iostream.h>
#include <fstream.h>
#include <string.h>
//---------------------------------------------------------------------------
 
 struct RES{int v1;int v2;int v3;int v4;int v5;int v6;} ;
 struct ES{char mashina[100]; int o1;int o2;int o3;int o4;int o5;int o6;};
 #pragma argsused
 
int main(int argc, char* argv[])
{ int i,j;
 string temp;
  ifstream in("rezultat.txt");
  int n=0;
   while(!in.eof())
    {
      getline(in,temp);
      n++;
      }
    in.clear();
    in.seekg(0,ios::beg);
   RES* a=new RES[n];
    n=0;
      while(!in.eof())
       {
       in>>a[n].v1>>temp>>a[n].v2>>temp>>a[n].v3>>temp>>a[n].v4>>temp>>a[n].v5>>temp>>a[n].v6;
       n++ ;
       }
 
 
       ifstream f("ГЎГ*Г§Г*_Г§Г*Г*Г*ГЁГ©.txt");
  int d=0;
   while(!f.eof())
    {
      getline(f,temp);
      d++;
      }
    f.clear();
    f.seekg(0,ios::beg);
    ES* b=new ES[d];
    d=0;
      while(!f.eof())
       {
       f>>b[d].mashina>>b[d].o1>>temp>>b[d].o2>>temp>>b[d].o3>>temp>>b[d].o4>>temp>>b[d].o5>>temp>>b[d].o6>>temp;
       d++;
       }
         //Г±Г°Г*ГўГ*ГЁГўГ*Г*ГЁГҐ
       for(i=0;i<n;i++)
 
         for(j=0;j<d;j++)
 
         if(a[n].v1==b[d].o1 &&
         a[n].v2==b[d].o2 &&
         a[n].v3==b[d].o3 &&
         a[n].v4==b[d].o4 &&
         a[n].v5==b[d].o5 &&
         a[n].v6==b[d].o6)
         cout<<"Mashina 100 vam podhodit:"<<b[d].mashina;
 
 
 
         return 0;
         }
1
Вложения
Тип файла: txt rezultat.txt (80 байт, 1 просмотров)
Тип файла: txt база_знаний.txt (434 байт, 1 просмотров)
22.11.2014, 19:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2014, 19:18
Привет! Вот еще темы с ответами:

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout&lt;&lt;Rus(&quot;введите текст&quot;)&lt;&lt;endl; cin&gt;&gt;f; cout&lt;&lt;Rus(&quot;введите выходной...

Необходимо найти счетчик (или просто набор чисел) для сайта - JavaScript
Здравствуйте. Итак, мне необходимо поставить счетчик на сайт, чтобы это число росло с определенной частотой. Всегда растет и растет...

Необходима функция или метод копирования макросов!! - VBA
Пожалуйста! Срочно необходима функция и/или алгоритм копирования макросов в среде Word и Excel. Это необходимо для копирования одного...


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

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

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