Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Название темы включает слова - "Помогите", "Спасите", "Срочно"
Название темы не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте >>>правила <<< и заново правильно создайте тему.
 
Опции темы
Старый 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 ты используешь имя самой структуры данных, а не конкретного объекта... потому вызвать ты в принципе ничего не можешь. В-третьих, не знаю, как тебе нравится, но лучше при инициализации строк использовать в структуре динамически выделяемую память... Имхо, проще... пока дальше не смотрел.
assasin вне форума  
Старый 30.04.2009, 15:24   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
в чём дело я не знаю
Мы тоже, поскольку текст ошибок ты не привел.
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 хоть скобки укажи
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,623
По умолчанию

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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