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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 14:39   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию ошибка в синтаксисе

Код:
# include <iostream.h>
#include <windows.h>
        char bufRus[256];
        char*Rus(const char*text)
        {
        CharToOem(text, bufRus);
        cout<<bufRus;
        return bufRus;
        }

struct city
{
char nazv[];
char kod[];
float price;
unsigned int k;
float h;
} ;
float cost ( char na,char ko,float pr, unsigned short kol,float ho);//прототим функции
main()
{
unsigned short n;
Rus("Программе известны Москва, Санкт-Петербург, Краснодар, Ростов(4 города).\n\n");;

city Moscow;
city Piter, Krasnodar, Rostov;
        Moscow.nazv[] = "Москва";
        Moscow.kod[]="495";
        Moscow.price=5;
        Piter.nazv[]="Санкт-Петербург";
        Piter.kod[]="862";
        Piter.price=10;
        Krasnodar.nazv[]="Краснодар";
        Krasnodar.kod[]="861";
        Krasnodar.price=2;
        Rostov.nazv[]="Ростов";
        Rostov.kod[]="555";
        Rostov.price=4;
   float cost (city.nazv, city.kod,city.price, city.k,city.h);


}
               float cost ( char na,char ko,float pr, unsigned short kol,float ho)
                {
                Rus("Введите название города и количество минут:\n");
                char[] b;
                for(int i=0,i<5;i++)
                        {
                        if b[i]==Moscow.nazv[i]
                                {
                                cin>>Moscow.k;
                                Moskow.h=Moscow.price*Moscow.k;
                                return Moscow.h
                                };
                        if b[i]=Piter.nazv[i]
                                {
                                cin>>Piter.k;
                                Piter.h=Piter.price*Piter.k;
                                return Piter.h
                                };
                        if b[i]=Krasnodar.nazv[i]
                                {
                                cin>>Krasnodar.k;
                                Krasnodar.h=Krasnodar.price*Krasnodar.k;
                                return Krasnodar.h}    ;
                        if b[i]=Rostov.h[i]
                                {
                                cin>>Rostov.k;
                                Rostov.h=Rostov.price*Rostov.k;
                                return Rostov.h};
                        }

какие-то ошибки в синтаксисе идут. в чём дело я не знаю

Последний раз редактировалось MaTBeu; 30.04.2009 в 21:40.
Dimarik вне форума
Старый 30.04.2009, 15:17   #2
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

Пишу в visual studio, потому перечислю некоторые ошибки для него... Во-первых хорошо бы указать перед main тип int, во-вторых в вызове функции cost ты используешь имя самой структуры данных, а не конкретного объекта... потому вызвать ты в принципе ничего не можешь. В-третьих, не знаю, как тебе нравится, но лучше при инициализации строк использовать в структуре динамически выделяемую память... Имхо, проще... пока дальше не смотрел.
<= P.S. если я тебе помог нажми весы слева <=
assasin вне форума
Старый 30.04.2009, 15:24   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в чём дело я не знаю
Мы тоже, поскольку текст ошибок ты не привел.
I'm learning to live...
Stilet вне форума
Старый 30.04.2009, 15:36   #4
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Код:
# include <iostream.h>
#include <windows.h>
char bufRus[256];
char*Rus(const char*text)
{
CharToOem(text, bufRus);
cout<<bufRus;
return bufRus;
}

struct city
{
char nazv[];
char kod[];
float price;
unsigned int k;
float h;
} ;
float cost ( char na,char ko,float pr, unsigned short kol,float ho);//прототим функции
main()
{
unsigned short n;
Rus("Программе известны Москва, Санкт-Петербург, Краснодар, Ростов(4 города).\n\n");;

city Moscow;
city Piter, Krasnodar, Rostov;
Moscow.nazv[] = "Москва";//ошибка
Moscow.kod[]="495";//ошибка и т.д. аналогичные ошибки
Moscow.price=5;
Piter.nazv[]="Санкт-Петербург";
Piter.kod[]="862";
Piter.price=10;
Krasnodar.nazv[]="Краснодар";
Krasnodar.kod[]="861";
Krasnodar.price=2;
Rostov.nazv[]="Ростов";
Rostov.kod[]="555";
Rostov.price=4;
float cost (city.nazv, city.kod,city.price, city.k,city.h);


}
float cost ( char na,char ko,float pr, unsigned short kol,float ho)
{
Rus("Введите название города и количество минут:\n");
char[] b;
for(int i=0,i<5;i++)
{
if b[i]==Moscow.nazv[i]
{
cin>>Moscow.k;
Moskow.h=Moscow.price*Moscow.k;
return Moscow.h
};
if b[i]=Piter.nazv[i]
{
cin>>Piter.k;
Piter.h=Piter.price*Piter.k;
return Piter.h
};
if b[i]=Krasnodar.nazv[i]
{
cin>>Krasnodar.k;
Krasnodar.h=Krasnodar.price*Krasnodar.k;
return Krasnodar.h} ;
if b[i]=Rostov.h[i]
{
cin>>Rostov.k;
Rostov.h=Rostov.price*Rostov.k;
return Rostov.h};
}
не очень понятно, зачем перед main указывать тип int
наоборот без него ИМХО даже лучше... не надо писать return 0, который впринципе ниче не делает полезного. ток ресурсы кушает

Последний раз редактировалось MaTBeu; 30.04.2009 в 21:40.
Dimarik вне форума
Старый 30.04.2009, 15:41   #5
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

в if хоть скобки укажи
<= P.S. если я тебе помог нажми весы слева <=
assasin вне форума
Старый 30.04.2009, 15:46   #6
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Код:
# include <iostream.h>
#include <windows.h>
        char bufRus[256];
        char*Rus(const char*text)
        {
        CharToOem(text, bufRus);
        cout<<bufRus;
        return bufRus;
        }

struct city
{
char nazv[];
char kod[];
float price;
unsigned int k;
float h;
} ;
float cost ( char na,char ko,float pr, unsigned short kol,float ho);//прототим функции
main()
{
unsigned short n;
Rus("Программе известны Москва, Санкт-Петербург, Краснодар, Ростов(4 города).\n\n");;

city Moscow;
city Piter, Krasnodar, Rostov;
        Moscow.nazv[] = "Москва";//ошибка
        Moscow.kod[]="495";//ошибка и т.д. аналогичные ошибки
        Moscow.price=5;
        Piter.nazv[]="Санкт-Петербург";
        Piter.kod[]="862";
        Piter.price=10;
        Krasnodar.nazv[]="Краснодар";
        Krasnodar.kod[]="861";
        Krasnodar.price=2;
        Rostov.nazv[]="Ростов";
        Rostov.kod[]="555";
        Rostov.price=4;
   float cost (city.nazv, city.kod,city.price, city.k,city.h);


}
               float cost ( char na,char ko,float pr, unsigned short kol,float ho)
                {
                Rus("Введите название города и количество минут:\n");
                char[] b;
                for(int i=0,i<5;i++)
                        {
                        if (b[i]==Moscow.nazv[i])
                                {
                                cin>>Moscow.k;
                                Moskow.h=Moscow.price*Moscow.k;
                                return Moscow.h
                                };
                        if (b[i]=Piter.nazv[i])
                                {
                                cin>>Piter.k;
                                Piter.h=Piter.price*Piter.k;
                                return Piter.h
                                };
                        if (b[i]=Krasnodar.nazv[i])
                                {
                                cin>>Krasnodar.k;
                                Krasnodar.h=Krasnodar.price*Krasnodar.k;
                                return Krasnodar.h}    ;
                        if (b[i]=Rostov.h[i])
                                {
                                cin>>Rostov.k;
                                Rostov.h=Rostov.price*Rostov.k;
                                return Rostov.h};
                        }

Последний раз редактировалось MaTBeu; 30.04.2009 в 21:41.
Dimarik вне форума
Старый 30.04.2009, 20:39   #7
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Moscow.nazv[] = "Москва";//ошибка
Moscow.kod[]="495";//ошибка и т.д. аналогичные ошибки
Dimarik вне форума
Старый 30.04.2009, 21:43   #8
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

2Dimarik
У вас страшный диагноз - вы сами не знаете, чего хотите. Мямлите непонятно что. В чем ошибка, где именно?

Тема закрыта, за непонятность.
MaTBeu вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44
ошибка blackstersl Общие вопросы Delphi 3 19.09.2008 21:09
Ошибка Devourer12345 Microsoft Office Access 2 10.08.2008 20:24