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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структуры и файлы 
:(
    Опции темы
kaizer131
Дата 21.2.2010, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть задача
Дан файл Tovar, содержащий сведения об экспортируемых товарах: указывается наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках. Составить список стран, в которые экспортируется данный товар, и общий объем его экспорта.

и файл с содержимым:

Fish Japan 590
Vodka Russia 345
Fish Poland 65
Milk USA 190
Fish England 75
Chiz China 565
Сначала пользователь вводит название товара, а дальше идет поиск и вывод, код недоработан,
он не выводит товар при совпадении.
Код:
Код


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>

void main ()
{
clrscr();
typedef struct _tovar
{
char name[10];
char strana[10];
int kolvo;

} tovar;

FILE *f = fopen("tovar.txt", "r");

 tovar  item[5];

 if (f==NULL)
{
 cout << "File not found";

}


char poisk[10];

cout << "Chto isem :";
cin >>poisk;



int templ=0;

int i = -1;
while(!feof(f)) {
i++;
fscanf(f, "%s%d%s", item[i].name, &item[i].kolvo, item[i].strana);
}

for (int j = 0; j <= i; j++) {
    
if (strcmp(item[j].name, poisk)) {

printf("Srtana:\n%s postavlyaet %s v kolve %d shtuk.", item[max].name, item[max].strana, item[max].kolvo)
}
}
;
fclose(f);

getch();

}




И как в целом правильней реализовать эту задачу? 
PM MAIL   Вверх
feosr
Дата 21.2.2010, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



PM MAIL WWW ICQ   Вверх
kaizer131
Дата 21.2.2010, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Прочел , но не совсем понял, там запись производят а не сравнение ... или не уловил смысл 
PM MAIL   Вверх
borisbn
Дата 22.2.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



1. Если в файле записано
Цитата(kaizer131 @  21.2.2010,  18:07 Найти цитируемый пост)
Fish Japan 590
Vodka Russia 345

то считывать надо не
Цитата(kaizer131 @  21.2.2010,  18:07 Найти цитируемый пост)
fscanf(f, "%s%d%s", item[i].name, &item[i].kolvo, item[i].strana);

а
Код

fscanf(f, "%s%d%s", item[i].name, item[i].strana, &item[i].kolvo);

2. 
Цитата(kaizer131 @  21.2.2010,  18:07 Найти цитируемый пост)
printf("Srtana:\n%s postavlyaet %s v kolve %d shtuk.", item[max].name, item[max].strana, item[max].kolvo)

что это за max ?
думаю ты хотел так:
Код

int summ = 0;
for (int j = 0; j <= i; j++)
{
    if ( strcmp(item[j].name, poisk) )
    {
         printf("Srtana:\n%s postavlyaet %s v kolve %d shtuk.", item[j].strana, item[j].name, item[j].kolvo);
         summ += item[j].kolvo;
    }
}
printf("Общий объем экспорта = %d\n", summ );



Это сообщение отредактировал(а) borisbn - 22.2.2010, 09:20


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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