Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.06.2016, 23:17   #1
allex19
 
Регистрация: 08.06.2016
Сообщений: 3
Сообщение в чем ошибка подскажите пожалуйста.

#include<iostream.h>
#include<windows.h>
#include<string.h>
#include<iomanip.h>
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text,bufRus);
return bufRus;
}

class ADRES
{
char siti[20],street[20];
int hous,index;
public:
void enter();
void out();
int cmp_siti(char a[20]);
int cmp_street(char b[20]);
int cmp_hous(int c);
int cmp_index(int d);
};
void ADRES::enter()
{
cout<<Rus("Введите город");cin>>siti;
cout<<Rus("Введите улицу");cin>>street;
cout<<Rus("Введите дом");cin>>hous;
cout<<Rus("Введите индекс");cin>>index;
cout<<endl;
}
void ADRES:ut()
{
cout<<setw(20)<<siti<<setw(20)<<str eet<<setw(20)<<hous<<setw(20)<<inde x<<endl;
}
int ADRES::cmp_siti (char a[20])
{
if (strcmp(siti, a)==0)
return 0;
else
return 1;
}
int ADRES::cmp_street(char b[20])
{
if(strcmp(street, b)==0)
return 0;
else
return 1;
}
int ADRES::cmp_hous(int c)
{
if(hous==c)
return 0;
else
return 1;
}
int ADRES::cmp_index(int d)
{
if(index==d)
return 0;
else
return 1;
}
void main()
{
int n,i,del,change,W,Q,f1=0,f2=0;
ADRES lib[100];
char siti[20],street[20];
do
{
cout<<Rus("\tМЕНЮ:\n");
cout<<Rus("[1]-ВВОД АДРЕСА\n");
cout<<Rus("[2]-ВЫВОД АДРЕСА\n");
cout<<Rus("[3]-ИЗМЕНЕНИЕ АДРЕСА\n");
cout<<Rus("[4]-СОЗДАНИЕ АДРЕСА\n");
cout<<Rus("[5]-УДАЛЕНИЕ АДРЕСА\n");
cout<<Rus("[6]-ВЫХОД В МЕНЮ\n");
cout<<Rus("ВАШ ВЫБОР-");
cin>>W;
switch (W)
{
case 1:
{
cout<<Rus("\tВВЕДИТЕ КОЛИЧЕСТВО АДРЕСОВ");
cin>>n;
for(i=1;i<=n;++i)
{
cout<<Rus("ВВЕДИТЕ ИНФОРМАЦИЮ О")<<i;
cout<<Rus("АДРЕСЕ:\n");
lib[i].enter();
}
f1=1;
break;
}
case 2:
int w,q,v,num;
do
{
v=0;
w=0;
cout<<Rus("\t\tМЕНЮ ВЫВОДА АДРЕСОВ:\n");
cout<<Rus("\t[1]-ВЫВОД ВСЕХ АДРЕСОВ\n");
cout<<Rus("\t[2]-ВВЫВОД АДРЕСА ПО НОМЕРУ\n");
cout<<Rus("\t[3]-ВОЗВРАТ В ГЛАВНОЕ МЕНЮ\n");
cout<<Rus("\tВАШ ВЫБОР-");
cin>>w;
switch (w)
{
case 1:
{
if(f1==1)
{
cout<<setw(20)<<Rus("ГОРОД");
cout<<setw(20)<<Rus("УЛИЦА");
cout<<setw(20)<<Rus("ДОМ\n");
cout<<setw(20)<<Rus("ИНДЕКС\n");
for(i=1;i<=n;++n)
{
lib[i].out();
}
cout<<endl;
}
else cout<<Rus("НЕТ ДАННЫХ!\n");
break;
}
case 2:
{
if(f1==1)
{
cout<<Rus("УКАЖИТЕ НОМЕР АДРЕСА-");
cin>>num;
if(num||num<1)
cout<<Rus("НЕТ ТАКОГО АДРЕСА!\n");
else
{
cout<<setw(20)<<Rus("ГОРОД");
cout<<setw(20)<<Rus("УЛИЦА");
cout<<setw(20)<<Rus("ДОМ\n");
cout<<setw(20)<<Rus("ИНДЕКС\n");
lib[num].out();
cout<<endl;
}
}
else cout<<Rus("НЕТ ДАННЫХ!\n");
break;
}
case 3:
{
v=1;
q=0;
break;
}
default:cout<<Rus("ВЫБЕРЕТИ ДЕЙСТВИЯ ИЗ МЕНЮ!\n");
}
if(v==0)
{
cout<<Rus("ПОВТОРИТЬ?(1/0)-");
cin>>q;
}
}
while(q==1);
break;
}
case 3:
{
if(f1==0)
cout<<Rus("НЕТ ДАННЫХ!\n");
else
{
int q;
do
{
cout<<Rus("ВВЕДИТЕ ГОРОД ДЛЯ ИЗМЕНЕНИЯ-");
cin>>change;
if(change>n||change<1)
cout<<Rus("НЕТ ТАКОГО АДРЕСА!\n");
else
{
for(i=change;i<=n;++i)
{
lib[change]=lib[i+1];
}
--n;
cout<<Rus("АДРЕС ИЗМЕНЁН\n");
}
cout<<Rus("ИЗМЕНИТЬ ДРУГОЙ АДРЕС?(1/0)-");
cin>>q;
}
while(q==1);
}
break;
}
case 4:
{
int q;
do
{
cout<<Rus("ВВЕДИТЕ НОВЫЙ АДРЕС:\n");
n++;
lib[n].enter();
cout<<("АДРЕС ДОБАВЛЕН\n");
cout<<Rus("ДОБАВИТЬ ЕЩЁ ОДИН АДРЕС?(1/0)-");
cin>>q;
}
while(q==1);
break;
}
case 5:
{
if(f1==0)
cout<<Rus("НЕТ ДАННЫХ!\n");
else
{
int q;
do
{
cout<<("УКАЖИТЕ НОМЕР ДЛЯ УДАЛЕНИЯ-");
cin>>del;
if(del>n||del<1)
cout<<Rus("НЕТ ТАКОГО АДРЕСА!\n");
else
{
for(i=del;i<n;++i)
{
lib[del]=lib[i=1];
}
--n;
cout<<Rus("АДРЕС УДАЛЁН\n");
}
cout<<Rus("УДАЛИТЬ ДРУГОЙ АДРЕС?(1/0)-");
cin>>q;
}
while(q==1);
}
break;
}
case 6:;
default:cout<<Rus("ВЫБЕРИТЕ ДЕЙСТВИЕ ИЗ МЕНЮ!\n");
}
cout<<Rus("ПОВТОРИТЬ?(1/0)-");
cin>> Q;
} while; (Q==1);
allex19 вне форума
Старый 08.06.2016, 23:36   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

2хЯть! Как же я обожаю такую формулировку вопроса!




Молодцом!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Старый 08.06.2016, 23:50   #3
Nanoanon
Новичок
Джуниор
 
Регистрация: 08.06.2016
Сообщений: 2
По умолчанию

Скобку в свиче продолбал, не указал using namespace std. Плюсовые заголовки без .h на конце вроде. После этих правок код хотя бы компилится и запускается, забыл правда как бороться с кодировкой, так что выводит кракозябры...

Код:
#include <iostream>     //!
#include<windows.h>
#include<string.h>
#include<iomanip>       //!
using namespace std; //!

char bufRus[256];

char* Rus(const char* text) {
    CharToOem(text, bufRus);
    return bufRus;
}

class ADRES {
    char siti[20], street[20];
    int hous, index;
public:
    void enter();
    void out();
    int cmp_siti(char a[20]);
    int cmp_street(char b[20]);
    int cmp_hous(int c);
    int cmp_index(int d);
};

void ADRES::enter() {
    cout << Rus("Введите город");
    cin>>siti;
    cout << Rus("Введите улицу");
    cin>>street;
    cout << Rus("Введите дом");
    cin>>hous;
    cout << Rus("Введите индекс");
    cin>>index;
    cout << endl;
}

void ADRES::out() {
    cout << setw(20) << siti << setw(20) << street << setw(20) << hous << setw(20) << index << endl;
}

int ADRES::cmp_siti(char a[20]) {
    if (strcmp(siti, a) == 0)
        return 0;
    else
        return 1;
}

int ADRES::cmp_street(char b[20]) {
    if (strcmp(street, b) == 0)
        return 0;
    else
        return 1;
}

int ADRES::cmp_hous(int c) {
    if (hous == c)
        return 0;
    else
        return 1;
}

int ADRES::cmp_index(int d) {
    if (index == d)
        return 0;
    else
        return 1;
}

int main() { //!
    int n, i, del, change, W, Q, f1 = 0, f2 = 0;
    ADRES lib[100];
    char siti[20], street[20];
    system("chcp 1251 > nul");
    
    do {
        cout << Rus("\tМЕНЮ:\n");
        cout << Rus("[1]-ВВОД АДРЕСА\n");
        cout << Rus("[2]-ВЫВОД АДРЕСА\n");
        cout << Rus("[3]-ИЗМЕНЕНИЕ АДРЕСА\n");
        cout << Rus("[4]-СОЗДАНИЕ АДРЕСА\n");
        cout << Rus("[5]-УДАЛЕНИЕ АДРЕСА\n");
        cout << Rus("[6]-ВЫХОД В МЕНЮ\n");
        cout << Rus("ВАШ ВЫБОР-");
        cin>>W;
        switch (W) {
            case 1:
            {
                cout << Rus("\tВВЕДИТЕ КОЛИЧЕСТВО АДРЕСОВ");
                cin>>n;
                for (i = 1; i <= n; ++i) {
                    cout << Rus("ВВЕДИТЕ ИНФОРМАЦИЮ О") << i;
                    cout << Rus("АДРЕСЕ:\n");
                    lib[i].enter();
                }
                f1 = 1;
                break;
            }
            case 2:
            {                      //!
                int w, q, v, num;
                do {
                    v = 0;
                    w = 0;
                    cout << Rus("\t\tМЕНЮ ВЫВОДА АДРЕСОВ:\n");
                    cout << Rus("\t[1]-ВЫВОД ВСЕХ АДРЕСОВ\n");
                    cout << Rus("\t[2]-ВВЫВОД АДРЕСА ПО НОМЕРУ\n");
                    cout << Rus("\t[3]-ВОЗВРАТ В ГЛАВНОЕ МЕНЮ\n");
                    cout << Rus("\tВАШ ВЫБОР-");
                    cin>>w;
                    switch (w) {
                        case 1:
                        {
                            if (f1 == 1) {
                                cout << setw(20) << Rus("ГОРОД");
                                cout << setw(20) << Rus("УЛИЦА");
                                cout << setw(20) << Rus("ДОМ\n");
                                cout << setw(20) << Rus("ИНДЕКС\n");
                                for (i = 1; i <= n; ++n) {
                                    lib[i].out();
                                }
                                cout << endl;
                            } else cout << Rus("НЕТ ДАННЫХ!\n");
                            break;
                        }
                        case 2:
                        {
                            if (f1 == 1) {
                                cout << Rus("УКАЖИТЕ НОМЕР АДРЕСА-");
                                cin>>num;
                                if (num || num < 1)
                                    cout << Rus("НЕТ ТАКОГО АДРЕСА!\n");
                                else {
                                    cout << setw(20) << Rus("ГОРОД");
                                    cout << setw(20) << Rus("УЛИЦА");
                                    cout << setw(20) << Rus("ДОМ\n");
                                    cout << setw(20) << Rus("ИНДЕКС\n");
                                    lib[num].out();
                                    cout << endl;
                                }
                            } else cout << Rus("НЕТ ДАННЫХ!\n");
                            break;
                        }
                        case 3:
                        {
                            v = 1;
                            q = 0;
                            break;
                        }
                        default:cout << Rus("ВЫБЕРЕТИ ДЕЙСТВИЯ ИЗ МЕНЮ!\n");
                    }
                    if (v == 0) {
                        cout << Rus("ПОВТОРИТЬ?(1/0)-");
                        cin>>q;
                    }
                } while (q == 1);
                break;
            }
            case 3:
            {
                if (f1 == 0)
                    cout << Rus("НЕТ ДАННЫХ!\n");
                else {
                    int q;
                    do {
                        cout << Rus("ВВЕДИТЕ ГОРОД ДЛЯ ИЗМЕНЕНИЯ-");
                        cin>>change;
                        if (change > n || change < 1)
                            cout << Rus("НЕТ ТАКОГО АДРЕСА!\n");
                        else {
                            for (i = change; i <= n; ++i) {
                                lib[change] = lib[i + 1];
                            }
                            --n;
                            cout << Rus("АДРЕС ИЗМЕНЁН\n");
                        }
                        cout << Rus("ИЗМЕНИТЬ ДРУГОЙ АДРЕС?(1/0)-");
                        cin>>q;
                    } while (q == 1);
                }
                break;
            }
            case 4:
            {
                int q;
                do {
                    cout << Rus("ВВЕДИТЕ НОВЫЙ АДРЕС:\n");
                    n++;
                    lib[n].enter();
                    cout << ("АДРЕС ДОБАВЛЕН\n");
                    cout << Rus("ДОБАВИТЬ ЕЩЁ ОДИН АДРЕС?(1/0)-");
                    cin>>q;
                } while (q == 1);
                break;
            }
            case 5:
            {
                if (f1 == 0)
                    cout << Rus("НЕТ ДАННЫХ!\n");
                else {
                    int q;
                    do {
                        cout << ("УКАЖИТЕ НОМЕР ДЛЯ УДАЛЕНИЯ-");
                        cin>>del;
                        if (del > n || del < 1)
                            cout << Rus("НЕТ ТАКОГО АДРЕСА!\n");
                        else {
                            for (i = del; i < n; ++i) {
                                lib[del] = lib[i = 1];
                            }
                            --n;
                            cout << Rus("АДРЕС УДАЛЁН\n");
                        }
                        cout << Rus("УДАЛИТЬ ДРУГОЙ АДРЕС?(1/0)-");
                        cin>>q;
                    } while (q == 1);
                }
                break;
            }
            case 6:;
            default:cout << Rus("ВЫБЕРИТЕ ДЕЙСТВИЕ ИЗ МЕНЮ!\n");
        }
        cout << Rus("ПОВТОРИТЬ?(1/0)-");
        cin>> Q;
    } while (Q == 1); //!

    return 0;
}
Nanoanon вне форума
Старый 09.06.2016, 03:57   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Nanoanon Посмотреть сообщение
забыл правда как бороться с кодировкой, так что выводит кракозябры...
Можно вот так попробовать: http://www.biz-for.ru/books/handbook...tion/index.php
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума
Старый 09.06.2016, 06:20   #5
allex19
 
Регистрация: 08.06.2016
Сообщений: 3
По умолчанию

спаибо, исправил всё работает
allex19 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста в чем ошибка Antony22 C# (си шарп) 7 20.01.2014 13:53
Подскажите, в чем ошибка? St@ter Помощь студентам 3 29.09.2013 15:02
Подскажите, в чем ошибка. V888 Общие вопросы C/C++ 1 19.12.2009 12:44
Пожалуйста, подскажите в чем у меня ошибка? wepoTWR Помощь студентам 8 09.12.2009 22:34
Подскажите, в чем ошибка? Cannibal Помощь студентам 1 23.11.2008 12:50