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

Поиск в базе автомобилей по заданным параметрам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Может ли быть одинаковая хэш-сумма для разных наборов данных? http://www.cyberforum.ru/cpp-beginners/thread1212101.html
Всем привет! Есть небольшая серия вопросов по хэшам, к ому не сложно, дайте свои комменты по вопросам. Просьба не засирать тему флудом :) 1. Есть два различных набора байтов, может ли оказаться так, что хэш сумма для них окажется одинаковой? В данном вопросе не рассматриваем размерности данных и хеш сумм, а так же алгоритмы хеш сумм, чисто теория. 2. Если в п.1 такой вариант возможен, то нет...
C++ Написать программу и блок-схему вывода значения переменной по формуле помогите плиз написать саму программу и блок-схему:sorry: Добавлено через 14 секунд Вычислить и распечатать значения переменной , если x изменяется от 0 до 4 с шагом 0.2, но при этом a = 0.95, b = 1.98 и c = 0.14. http://www.cyberforum.ru/cpp-beginners/thread1212100.html
C++ Найти наибольшую и наименьшую цифры в записи данного натурального числа
Найти наибольшую и наименьшую цифры в записи данного натурального числа. В С++
C++ Связные списки: вернуть в виде целого числа позицию name из списка
Помогите сделать функцию, которая возвращает в виде целого числа позицию name из списка Функция которая меняет местами, 2 элемента списка #include <Windows.h> #include <iostream> using namespace std; struct dino { char name;
C++ Файлы. Чтение и запись http://www.cyberforum.ru/cpp-beginners/thread1212066.html
У нас есть файл текстовый, содержимое переписываем другой файл. В программе делаю проверку, но машина ругается. Подскажите в чем ошибка? #include <conio.h> #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL,"russian"); char str; char data1="H:\Програмирование\2_семестр\ind11\data1.txt";
C++ Найти периметр треугольника через функцию Ребят, сижу на зачете, помогите пожалуйста! :) Найти периметр треугольника, заданного координатами своих вершин. Определить функцию для расчета длины отрезка по координатам вершин подробнее

Показать сообщение отдельно
AirLiss
 Аватар для AirLiss
1 / 1 / 0
Регистрация: 06.06.2014
Сообщений: 95
19.06.2014, 13:43  [ТС]     Поиск в базе автомобилей по заданным параметрам
Цитата Сообщение от uhx Посмотреть сообщение
Тогда уж man.color
в ответ такая ошибка:
left of '.marka' must have class/struct/union type

уменьшила базу до 5 столбцов, тупо заменила данные
Кликните здесь для просмотра всего текста

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
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
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "string.h"
 
char * r(const char * txt){
    char s[256];
    CharToOem(txt,s);
    return s;
}
 
int main(int argc, char* argv[])
{
    int z=0,i=0,j,col,age;
    char bol[100];
    struct car
    {
        char N[100];
        int year;
        char color;
        char adress[100], marka[100];
    } man[100];
 
    FILE * f = fopen("baza2.txt","r");
    while(z!=6){
        system("cls");
        printf(r("1. Прочитать данные из файла\n2. Вывод данных\n"));
        printf(r("3. Выборка данных по болезни\n4. Выборка данных по городу\n5. Вывод результата обработки данных\n6. Выход из программы\n\n"));
        scanf("%d",&z);
 
        switch(z){
        case 1:
            i=0;
            while (!feof(f)){
                fscanf(f,"%s %d %c %[^\t] %[^\r\n]",&man[i].N,&man[i].year,&man[i].color,&man[i].adress,&man[i].marka);
                i++;
            }
            printf(r("Данные загружены из файла baza2.txt.\n"));
            break;
        case 2:
            printf(r("\n№    год цвет               Адресс\tМарка\n"));
            printf("-------------------------------------------------------------------------------\n");
            for (j=0;j<i;j++){
                printf("%10s  %d  %c  %-18s \t%s\n",man[j].N,man[j].year,man[j].color,man[j].adress,man[j].marka);
            }
            break;
        case 3:
            printf(r("Введите год : "));
            scanf("%d",man.year);
 
            printf(r("\nВведите марку: "));
            scanf("%s",man.marka);
            break;
        case 4:
            year=0;
            printf(r("\nВведите марку: "));
            scanf("%s",man.marka);
            break;
        case 5:
            col=0;
            printf(r("\n№    год цвет               Адресс\tМарка\n"));
            printf("-------------------------------------------------------------------------------\n");
            for (int j=0;j<i;j++){
                if(man[j].year>year && (year>0 && strstr((const char *)man[j].marka,marka) || year==0 && strstr((const char *)man[j].adress,marka))) {
                    printf("%10s  %d  %c  %-18s \t%s\n",man[j].N,man[j].year,man[j].color,man[j].adress,man[j].marka);
                    col++;
                }
            }
            if(year==0)
            {
                printf(r("\nКоличество машин с маркой ии цветом \"%s\": %d\n\n"),marka,col);
            }else {
                printf(r("\nКоличество машин старше %d года производства \"%s\": %d\n\n"),year,marka,col);
            }
            break;
        }
        getchar();getchar();
    }
    return 0;
}


пишет три аналогичные ошибки:
I:\С++\MyProjects\rgzz\rgzz.cpp(12) : warning C4172: returning address of local variable or temporary
I:\С++\MyProjects\rgzz\rgzz.cpp(52) : error C2228: left of '.year' must have class/struct/union type
I:\С++\MyProjects\rgzz\rgzz.cpp(55) : error C2228: left of '.marka' must have class/struct/union type
I:\С++\MyProjects\rgzz\rgzz.cpp(60) : error C2228: left of '.marka' must have class/struct/union type
Error executing cl.exe.

rgzz.exe - 3 error(s), 1 warning(s)

Добавлено через 41 минуту
программа на данном этапе:
Кликните здесь для просмотра всего текста

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
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 "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "string.h"
 
char * r(const char * txt){
    char s[256];
    CharToOem(txt,s);
    return s;
}
 
int main(int argc, char* argv[])
{
    int z=0,i=0,j,col,year;
    char marka[100];
    struct people{
        char * N[100];
        int year;
        char color;
        char * adress[100], * marka[100];
    } man[100];
 
    FILE * f = fopen("baza2.txt","r");
    while(z!=6){
        system("cls");
        printf(r("1. Ïðî÷èòГ*ГІГј Г¤Г*Г*Г*ûå ГЁГ§ ГґГ*éëГ*\n2. Âûâîä Г¤Г*Г*Г*ûõ\n"));
        printf(r("\n3. ÂûáîðêГ* Г¤Г*Г*Г*ûõ ГЇГ® Г*âòîìîáèëÿì\n4. ÂûáîðêГ* Г¤Г*Г*Г*ûõ Г® Г¬Г*ГёГЁГ*Г*Гµ\n5. Âûâîä ðåçóëüòГ*ГІГ* îáðГ*áîòêè Г¤Г*Г*Г*ûõ\n6. Âûõîä ГЁГ§ ïðîãðГ*ììû\n\n"));
        scanf("%d",&z);
 
        switch(z){
        case 1:
            i=0;
            while (!feof(f)){
                fscanf(f,"%s %d %c %[^\t] %[^\r\n]",&man[i].N,&man[i].year,&man[i].color,&man[i].adress,&man[i].marka);
                i++;
            }
            printf(r("Г„Г*Г*Г*ûå Г§Г*ãðóæåГ*Г» ГЁГ§ ГґГ*éëГ* baza2.txt.\n"));
            break;
            printf(r("\nГ”Г*ìèëèÿ    Г‹ГҐГІ Ïîë               Ãîðîä\tÁîëåçГ*Гј\n"));
            printf("-------------------------------------------------------------------------------\n");
            for (j=0;j<i;j++){
                printf("%6s  %4d  %c  %-18s \t%s\n",man[j].N,man[j].year,man[j].color,man[j].adress,man[j].marka);
            }
            break;
        case 3:
            printf(r("Ââåäèòå Г¬Г*ðêó: "));
            scanf("%d",&year);
 
            printf(r("\nÂâåäèòå öâåò: "));
            scanf("%s",&marka);
            break;
        case 4:
            col=0;
            printf(r("\nÂâåäèòå Г·Г*Г±ГІГј Г*îìåðГ*: "));
            scanf("%s",&N);
            break;
        case 5:
            col=0;
            printf(r("\nГ”Г*ìèëèÿ    Г‹ГҐГІ Ïîë               Ãîðîä\tÁîëåçГ*Гј\n"));
            printf("-------------------------------------------------------------------------------\n");
            for (int j=0;j<i;j++){
                if(man[j].marka==0 && strstr((const char *)man[j].marka,marka) || color==color && strstr((const char *)man[j].marka,color)) 
                {
                    printf("%10s  %d  %c  %-18s \t%s\n",man[j].N,man[j].year,man[j].color,man[j].adress,man[j].marka);
                    col++;
                }
            }
            if(N==0){
                printf(r("\nГЊГ*ГёГЁГ*Г» Г± Г·Г*Г±ГІГјГѕ Г*îìåðГ* \"%s\": %d\n\n"),N,col);
            }else {
                printf(r("\nÊîëè÷åñòâî Г*îìåðîâ %d  \"%s\": %d\n\n"),N,marka,col);
            }
            break;
        }
        getchar();getchar();
    }
    return 0;
}


выдает ошибки:
dr.cpp
I:\Ñ++\MyProjects\dr\dr.cpp(12) : warning C4172: returning address of local variable or temporary
I:\Ñ++\MyProjects\dr\dr.cpp(58) : error C2065: 'N' : undeclared identifier
I:\Ñ++\MyProjects\dr\dr.cpp(65) : error C2065: 'color' : undeclared identifier
Error executing cl.exe.

dr.exe - 2 error(s), 1 warning(s)

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