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

Поиск и запись в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ торрент ссылка с рабочей программой с++ http://www.cyberforum.ru/cpp-beginners/thread554917.html
Помогите мне найти нормальную ссылочку тореент для скачивания программы с++ так как мне друг дал ету программу я ее установил пытаюсь запустить нормальную простенькую програмку а компилятор ругаеться! Короче программа с глюком! Дайте пожалуйтса рабочую! Срочно нужно для работы!
C++ Напечатать различные числа, встречающиеся в обеих последовательностях Помогите составить программу: Даны две последовательности из целых чисел: a1, ..., an; b1, ..., bn. Напечатать различные числа, встречающиеся в обеих последовательностях. Тема: Одномерные массивы Вот мой вариант, но здесь печатаются не различные числа. #include <iostream> using namespace std; int main() { setlocale (LC_ALL, "rus"); http://www.cyberforum.ru/cpp-beginners/thread554915.html
Поиск под слова в тексте типу string C++
Как сделать поиск под слова в переменной типу string из рус. текстом Например если есть такое : string text = "hello world"; string word; cin >> word; // ввожу world int a = text.find(word); cout << a << endl;
Разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. C++
Здравствуйте, помогите, пожалуйста, решить данную ниже задачу. У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. Входные данные В первой строке входного файла INPUT.TXT записано число N – количество камней (1 ≤ N ≤ 18). Во второй строке через пробел перечислены массы камней W1, W2 , … WN (1 ≤ Wi ≤ 105)....
C++ Программа вводит натуральное число N и вычисляет выражение http://www.cyberforum.ru/cpp-beginners/thread554834.html
Помогите реализовать программку. Программа вводит натуральное число N и вычисляет выражение: ( всего в выражении N корней ) Вот что у меня имеется на данный момент: #include <vcl.h> #include <iostream.h> #include <conio.h>
C++ Выручайте, объяснения внутри:) Стационарный комп, после скачка напряжения, отказывается работать(на нем стояла хр-шка и работал С++ Builder 6), сейчас пользуюсь ноутом, на нем не робит билдер(в чем проблем я хз) вот ссылка http://rghost.ru/37704691 , откомпилируйте :) посмотрите робит поиск индекса числа или нет:) подробнее

Показать сообщение отдельно
bark4ss
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 11
22.04.2012, 13:17     Поиск и запись в файл
Подскажите,пожалуйста,в чем ошибка.Неправильно идет поиск.
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include <iostream>
#include <conio.h>
#include <locale>
#include <fstream>
using namespace std;
class Hotel
{
    char *country, *name;
    int n_star,n_fplace;
public:
    Hotel(char *country="\0", char *name="\0",int n_star=0, int n_fplace=0);
    Hotel(const Hotel &);
    void set_country (char*);
    void set_name (char*);
    void set_s_fp (int a,int b){n_star=a,n_fplace=b;}
    char* get_country (){return country;}
    char* get_name () {return name;}
    int get_s () {return n_star;}
    int get_fp () {return n_fplace;}
    bool isEqualCountry (char *);
    bool isEqualname (char *);
    void show() {cout<<country<<" , "<<name<<" , "<<n_star<<" звезд"<<"\t"<<n_fplace<<" свободных мест"<<endl;}
    ~Hotel () {delete[]country;delete[]name;}
};
Hotel::Hotel(char *a, char *b, int c, int d)
{
    int n=strlen(a); country=new char[n+1]; if(!country) exit(1);strcpy(country,a);
    int m=strlen(b); name=new char[m+1]; if(!name) exit(1);strcpy(name,b);
    n_star=c;
    n_fplace=d;
}
Hotel::Hotel(const Hotel &ob)
{
    int n=strlen(ob.country); country=new char[n+1]; if(!country) exit(1);strcpy(country,ob.country);
    int m=strlen(ob.name); name=new char[m+1]; if(!name) exit(1);strcpy(name,ob.name);
    n_star=ob.n_star;
    n_fplace=ob.n_fplace;
}
void Hotel::set_country(char *a)
{
    int n=strlen(a); country=new char[n+1]; if(!country) exit(1);strcpy(country,a);
}
void Hotel::set_name(char *b)
{
    int m=strlen(b); name=new char[m+1]; if(!name) exit(1);strcpy(name,b);
}
bool Hotel::isEqualCountry (char *a)
{
    if(strcmp(country,a)==0)
        return true;
            return false;
}
bool Hotel::isEqualname (char *a)
{
    if(strcmp(name,a)==0)
        return true;
            return false;
}
int main()
{
    setlocale(LC_ALL,"Russian");
    const int n=20;
    Hotel ob[n];
    char country[100],name[100],y[100];
    int n_star,n_fplace,s,i=0,f=0,q=0;
    ifstream f1("hotel.txt");
    if(!f1)
    {
        cout<<"Ошибка чтения файла\n";
        return 0;
    }
    while(!f1.eof())
    {
        f1>>country>>name>>n_star>>n_fplace;
        ob[i].set_country(country);ob[i].set_name(name);ob[i].set_s_fp(n_star,n_fplace);
        ob[i].show();
        i++;
    }
    q=i;
    f1.close();
    while( true)
    {
        cout<<"Выберите вариант поиска"<<endl;
        cout<<"Если введете 1:Выбор отелей по стране нахождения"<<endl;
        cout<<"Если введете 2:Выбор отелей по названию"<<endl;
        cout<<"Если введете 0:выход из программы!!!"<<endl;
    cin>>s;
    if(s==0)
    {
    cout<<"Спасибо,что воспользовались нашей программой!"<<endl;
    break;
    }
    switch(s)
    {
case 1:
    {
        cout<<"Введите страну для поиска:"<<endl;
        fflush(stdin);
        gets(y);f=0;
        ofstream f2("country.txt");
    for(int i=0;i<q;i++)
        {
        if(ob[i].isEqualCountry(y))
        {
            f2<<country<<" , "<<name<<" , "<<n_star<<" звезд"<<"\t"<<n_fplace<<" свободных мест"<<endl;f=1;
        }
        }
        if(f==0)
            cout<<"Введенной страны не существует!!!"<<endl;
        f2.close();
        break;
    }
case 2:
    {
        cout<<"Введите название для поиска:"<<endl;
        fflush(stdin);
        gets(y);f=0;
        ofstream f3("name.txt");
    for(int i=0;i<q;i++)
        {
        if(ob[i].isEqualname(y))
        {
            f3<<country<<" , "<<name<<" , "<<n_star<<" звезд"<<"\t"<<n_fplace<<" свободных мест"<<endl;f=1;
        }
        }
        if(f==0)
            cout<<"Введенной страны не существует!!!"<<endl;
        f3.close();
        break;
    }
default:
        cout<<"Неверно ввели вариант сортировки!!!"<<endl;
    }
    }
    return 0;
}
Добавлено через 1 час 0 минут
А вот и содержимое файла hotel.txt
Бразилия Gold_palace 5 23
Англия Crown_palace 4 12
Мексика Cactus_Hotel 2 56
Беларусь Europa 5 22
Россия Moscow_city 5 67
Беларусь Minsk 4 34
Польша Pan_Hotel 3 7
Германия Octoberfest 4 5
ОАЭ Platinum 5 0
Египет Red_sea 4 33
Турция Turkey_plaza 2 1
Мальдивы Bungalow 1 0
Тайланд Phucket_Plaza 5 6
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru