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

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

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


Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 30.04.2009, 13: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 в 20:40.
Dimarik вне форума
Старый 30.04.2009, 14:17   #2
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

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

Цитата:
в чём дело я не знаю
Мы тоже, поскольку текст ошибок ты не привел.
Stilet вне форума
Старый 30.04.2009, 14: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 в 20:40.
Dimarik вне форума
Старый 30.04.2009, 14:41   #5
assasin
Форумчанин
 
Регистрация: 27.04.2009
Сообщений: 123
По умолчанию

в if хоть скобки укажи
assasin вне форума
Старый 30.04.2009, 14: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 в 20:41.
Dimarik вне форума
Старый 30.04.2009, 19:39   #7
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

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

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

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

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

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840