Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создать двоичный файл в виде таблицы, программирование на С 
:(
    Опции темы
ФЕкЛА
  Дата 1.4.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет



дан файл ,содержащий сведения о багаже пассажиров в виде:
ФИО / Кол-во вещей / Общий вес багажа

Один пассажир может провести бесплатно багаж весом не более 20 кг.За каждый лишний кг веса берется дополнительная платав размере а рублей.Выдать список пассажиров у которых вес превышает 20 кг в виде таблицы:
ФИО / Вес багажа сверх нормы / Стоимость провоза багажа в рублях 

Прораму нужно написать ипользуя структуру и нужно чтоб можно было вносить изменения в файл ,те делать вставки в разные места,(в начало,серединку куда нить и конец)
Я начала писать функцию ввода данных,ну создания файла,а она мне ошибки выдает,я не могу понять чего ей не нравиться.Укажи в чем проблема,пожалуйсто

вот код:
Код
#include <string.h>
#include <iostream>
using namespace std;
struct Stud{
    char fio[30];
    int koll;
    float obv[30];
    };

void vvod (char *name);

int main()
{
char *file = "file.txt";
vvod (file);
}

void vvod (char *name){
    FILE *f;
    Stud st;
    float sum;
    int i=1,k,j,ves[k];
    f = fopen(name,"wb");
    if (f == NULL){printf ("Error!");exit(1);}
    printf("vvedite kol-vo passashirov");
    scanf("%d",&st.koll);
    while ((st.koll--)>0)
    {
        printf ("vvedite fio");
        scanf("%s ",&st.fio[i]);
        printf ("vvedite kol-vo ego veschej");
        scanf("%d",&j);
        for (;;j--)
        {
            printf("vvedite ves veschi");
            scanf("%f ,"&ves[k]);
            sum = sum + ves[k];
            k++;
        }
        st.obv[i] = sum;
    }
    fclose(f);
    printf("file bil sohranen");
    
}


Модератор: пользуйся кнопкой "Код"

Это сообщение отредактировал(а) bsa - 1.4.2009, 21:00
PM MAIL   Вверх
EvilsInterrupt
Дата 1.4.2009, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



ФЕкЛА
Какие именно ошибки ? Приведите текст того, что выплюнул вам компиллер или линкер
PM MAIL WWW ICQ Jabber   Вверх
ФЕкЛА
Дата 1.4.2009, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет



'k' : undeclared identifier
'&' : illegal, left operand has type 'const char [5]'
'&' : illegal, right operand has type 'float'
PM MAIL   Вверх
ФЕкЛА
Дата 1.4.2009, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет



ща я исправила чуть код и получила вот
Код
#include <string.h>
#include <iostream>
using namespace std;
struct Stud{
    char fio[30];
    int koll;
    float obv[30];
    float ves[100];
};

void vvod (char *name);

int main()
{
char *file = "file.txt";
vvod (file);
}

void vvod (char *name){
    FILE *f;
    Stud st;
    float sum;
    int i=1,j,k;
    f = fopen(name,"wb");
    if (f == NULL){printf ("Error!");exit(1);}
    printf("vvedite kol-vo passashirov");
    scanf("%d",&st.koll);
    while ((st.koll--)>0)
    {
        printf ("vvedite fio");
        scanf("%s ",&st.fio[i]);
        printf ("vvedite kol-vo ego veschej");
        scanf("%d",&j);
        for (;;j--)
        {
            printf("vvedite ves veschi");
            scanf("%f,"&st.ves[k]);
            sum = sum + st.ves[k];
            k++;
        }
        st.obv[i] = sum;
    }
    fclose(f);
    printf("file bil sohranen");
    
}


теперь он ругается на строку scanf("%f,"&st.ves[k]); 
и выдает вот что
'&' : illegal, left operand has type 'const char [4]'
'&' : illegal, right operand has type 'float'



Модератор: пользуйся кнопкой "Код"

Это сообщение отредактировал(а) bsa - 1.4.2009, 21:01
PM MAIL   Вверх
zim22
Дата 1.4.2009, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



ФЕкЛА, оформите код тегами CODE


--------------------
PM MAIL   Вверх
ФЕкЛА
Дата 1.4.2009, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет





Код

#include <string.h>
#include <iostream>
using namespace std;
struct Stud{
    char fio[30];
    int koll;
    float obv[30];
    float ves[100];
};

void vvod (char *name);

int main()
{
char *file = "file.txt";
vvod (file);
}

void vvod (char *name){
    FILE *f;
    Stud st;
    float sum;
    int i=1,j,k;
    f = fopen(name,"wb");
    if (f == NULL){printf ("Error!");exit(1);}
    printf("vvedite kol-vo passashirov");
    scanf("%d",&st.koll);
    while ((st.koll--)>0)
    {
        printf ("vvedite fio");
        scanf("%s ",&st.fio[i]);
        printf ("vvedite kol-vo ego veschej");
        scanf("%d",&j);
        for (;;j--)
        {
            printf("vvedite ves veschi");
            scanf("%f,"&st.ves[k]);
            sum = sum + st.ves[k];
            k++;
        }
        st.obv[i] = sum;
    }
    fclose(f);
    printf("file bil sohranen");
    
}

PM MAIL   Вверх
zim22
Дата 1.4.2009, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Код

 scanf("%f,"&st.ves[k]);

Код

 scanf("%f",&st.ves[k]);




--------------------
PM MAIL   Вверх
ФЕкЛА
Дата 1.4.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет



я понимаю что у меня ошибка в этой строчке,только исправить ее у меня не получается((
PM MAIL   Вверх
Anikmar
Дата 1.4.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(ФЕкЛА @  1.4.2009,  21:11 Найти цитируемый пост)
я понимаю что у меня ошибка в этой строчке,только исправить ее у меня не получается(( 

Запятую поставьте  smile 
PM MAIL ICQ   Вверх
zim22
Дата 1.4.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



ФЕкЛА, присмотритесь внимательней к моему предыдущему сообщению. буквально читайте по буквам. (подсказка: вы запятую не туда влепили).
если вопросов нет - не забывайте пометить тему решённой.


--------------------
PM MAIL   Вверх
ФЕкЛА
Дата 1.4.2009, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.2.2009

Репутация: нет
Всего: нет



ой,точно))
а уменя чето с вводом данных неправвильно идет))он позволяет ввести 2-е фамили выдает точто в функции печати прописано,выдает ошибку что-то неладное с "к"  и отказывается дальше работать.не пойму чего ему не нравится((
PM MAIL   Вверх
mes
Дата 1.4.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(ФЕкЛА @  1.4.2009,  21:43 Найти цитируемый пост)
а уменя чето с вводом данных неправвильно идет))он позволяет ввести 2-е фамили выдает точто в функции печати прописано,выдает ошибку что-то неладное с "к"  и отказывается дальше работать.не пойму чего ему не нравится(( 

не смотрел всеь код,
но тут:

Цитата(ФЕкЛА @  1.4.2009,  19:08 Найти цитируемый пост)
struct Stud{
    char fio[30];
    int koll;
    float obv[30];
    float ves[100];
};

под фио выделено всего 30 символов, т.е как я понимаю на одну фамилию..  или это 30 фамилий по одному символу ? Ну тогда напрашивается, что Вы пишите мимо отведенной памяти.. 
smile



Это сообщение отредактировал(а) mes - 1.4.2009, 23:02


--------------------
PM MAIL WWW   Вверх
bsa
Дата 1.4.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



ФЕкЛА, если не секрет, зачем ты подключаешь хидер <iostream>, раз не используешь потоки?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1395 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.