![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 03.03.2011
Сообщений: 1
|
![]()
здравтвуйте)
мне необходимо было написать програму на Си позволяющую вводить элементы массива структур (размерность массива не более 20 элементов), содержащие сведения о имеющихся в наличии товарах, наименованиях товара, его количество в штуках и цену единицы товара и определяющую суммарную цену всех товаров имеющихся в наличии. я попросил приятеля и он мне написал, но получилось так что она написана на С++ #include <iostream> #include <iomanip> using namespace std; const int max_goods = 20; const int max_name_lng = 24; int usedRecords = 0; //сколько элементов занято struct TGoods //объявление пользовательского типа TGoods //далее спецификация типа: { //элементы структуры: char name[ max_name_lng ]; int amount; float price; }; //конец спецификации и объявления типа TGoods goods[ max_goods ]; //создание массива объектов типа TGoods /* Можно ещё так: struct TGoods { // ... } goods[ max_goods ]; или просто struct { //... } goods[ max_goods ]; но так нежелательно. */ int main() { char buffer[8] = {0}; while( 1 ) { cout << "Enter name:" << endl; cin.getline( goods[ usedRecords ].name, max_name_lng ); // goods[ usedRecords ] - обращение к элементу массива структур, // то есть к конкретной структуре // .name - обращение к элементу name конкретной структуры cout << "Enter amount:" << endl; cin >> goods[ usedRecords ].amount; cout << "Enter price:" << endl; cin >> goods[ usedRecords ].price; usedRecords++; cin.ignore(); //сбросить поток ввода, чтобы убрать \n в конце if( usedRecords < max_goods - 1 ) { cout << "Do you want to enter another goods? [Y/N]" << endl; cin.getline( buffer, 8 ); if( buffer[0] == 'N' || buffer[0] == 'n' ) break; } else break; } cout << "\n--- You have ----------------------------------------" << endl; float summ = 0.0f; for( int i = 0; i < usedRecords; i++ ) { cout << setw( max_name_lng ) << left << goods[i].name << right << setw(6) << goods[i].amount << << setw(6) << setprecision(3) << goods[i].price << '$' << endl; summ += goods[i].price * float( goods[i].amount ); } cout << "Total price: " << setprecision(10) << summ << endl; return 0; } и выдает ошибку в строчке << setw(6) << setprecision(3) << goods[i].price << '$' << endl; что бы я не делал у меня не получалось устранить ошибку... кто может подсказать в чем дело и как её устранить? и еще бы хотелось что бы она была в С а не в С++ |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 11
|
![]()
А какую ошибку выдает?
|
![]() |
![]() |
![]() |
#3 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]()
В Си нет cout. Библиотек <iostream> и <iomanip> там тоже нету.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 16.09.2009
Сообщений: 11
|
![]()
А кто мешает написать вместо cout и cin printf и scanf?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа со структурами (C++) | DragoonSki | Помощь студентам | 6 | 03.03.2013 02:00 |
[C++] Работа со структурами... | max382 | Помощь студентам | 30 | 05.05.2011 15:56 |
Работа со структурами | tae1980 | Microsoft Office Excel | 2 | 26.11.2010 23:27 |
Работа со структурами (СИ) | Александр Елис | Помощь студентам | 0 | 03.05.2010 14:45 |
C++ Работа со структурами | Ekatharina | Помощь студентам | 0 | 18.01.2010 19:25 |