Jump to content
СофтФорум - всё о компьютерах и не только

Nikita Skokov

Newbies
  • Content Count

    12
  • Joined

  • Last visited

Community Reputation

0

About Nikita Skokov

  1. Может кто задумывался, как сделать из монитора устройство для показа онлайн часов? Или вообще, как можно вывести онлайн время на стену (без использования компьютера)?
  2. #include <iostream>const int Max = 5;// function prototypesint fill_array(double ar[], int limit);void show_array(const double ar[], int n); // don't change datavoid revalue(double r, double ar[], int n);int main(){ using namespace std; double properties[Max]; int size = fill_array(properties, Max); show_array(properties, size); if (size > 0) { cout << "Enter revaluation factor: "; double factor; while (!(cin >> factor)) // bad input { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input; Please enter a number: "; } revalue(factor, properties, size); show_array(properties, size); } cout << "Done.\n"; // cin.get(); // cin.get(); return 0;}int fill_array(double ar[], int limit){ using namespace std; double temp; int i; for (i = 0; i < limit; i++) { cout << "Enter value #" << (i + 1) << ": "; cin >> temp; if (!cin) // bad input { cin.clear(); while (cin.get() != '\n') continue; cout << "Bad input; input process terminated.\n"; break; } else if (temp < 0) // signal to terminate break; ar[i] = temp; } return i;}// the following function can use, but not alter,// the array whose address is arvoid show_array(const double ar[], int n){ using namespace std; for (int i = 0; i < n; i++) { cout << "Property #" << (i + 1) << ": $"; cout << ar[i] << endl; }}// multiplies each element of ar[] by rvoid revalue(double r, double ar[], int n){ for (int i = 0; i < n; i++) ar[i] *= r;} Имеется код. Нужно заменить три функции обработки массивов версиями, которые работают с диапазоном значений заданными парой указателей. Функция fill_array() должна возвращать указатель на место, следующее за последним введенным элементом; прочие функции должны использовать его в качестве аргумента для идентификации конца диапазона данных.
  3. И еще очень хорошую книгу нашел "Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++"
  4. Здравствуйте, может кто знает где найти книгу "Билл Гейтс и сотворение microsoft"
  5. Задача№6. Постройте программу, которая отслеживает пожертвования в Общество Защиты Влиятельных Лиц. Она должна запрашивать у пользователя количество меценатов, а затем приглашать вводить их имена и суммы пожертвований от каждого. Информация должна сохраняться в динамически выделяемом массиве структур. Каждая структура должна иметь два члена: символьный массив (или объект string) для хранения имени и переменную-член типа double — для хранения суммы пожертвования. После чтения всех данных программа должна отображать имена и суммы пожертвований тех, кто не пожалел $10 000 и более. Этот список должен быть озаглавлен меткой "Grand Patrons". После этого программа должна выдать список остальных жертвователей. Он должен быть озаглавлен "Patrons". Если в одной из двух категорий не окажется никого,программа должна напечатать "none". Помимо отображения двух категорий,никакой другой сортировки делать не нужно. Это я сделал так: #include <iostream>#include <string>using namespace std;struct patron { string name; double donation;};int main(){ int n; cout << "Vvedite kolichestvo mecenatov: " << endl; cin >> n; cin.get(); patron * p_patron = new patron [n]; for (int i = 0; i < n; i++) { cout << "Mecenat #" << i+1 << endl; cout << "Vvedite imya " << endl; getline (cin, p_patron[i].name); cout << "I summu pozhertvovanii " << endl; cin >> p_patron[i].donation; cin.get(); } cout << "Vznosi bolshe 10000." << endl; int countgp = 0; for (int j = 0; j < n; j++) { if (p_patron[j].donation >= 10000) { cout << p_patron[j].name << " - " << p_patron[j].donation << endl; countgp++; } } if (countgp == 0) cout << "none" << endl; cout << endl; cout << "Ostalnie." << endl; int countp = 0; for (int k = 0; k < n; k++) { if (p_patron[k].donation < 10000) { cout << p_patron[k].name << " - " << p_patron[k].donation << endl; countp++; } } if (countp == 0) cout << "none" << endl; delete [] p_patron; return 0;} ну тут вроде все нормально работает. Задача№9. Выполните упражнение 6, но измените его так, чтобы данные можно было получать из файла. Первым элементом файла должно быть количество меценатов,а остальная часть состоять из пар строк, в которых первая строка содержит имя, а вторая — сумму пожертвования. То есть файл должен выглядеть примерно так: 4 Sam Stone 2000 Freida Flass 100500 Tammy Tubbs 5000 Rich Raptor 55000 #include <iostream>#include <string>#include <fstream>#include <cstdlib> //для exit(EXIT_FAILURE)using namespace std;struct patron { string name; double donation;};int main(){ string filename;fstream file; cout << "Enter name of the file: "; getline(cin, filename); file.open(filename); //вот здесь ругается if (!file.is_open()) { cout << "Could not open the file" << filename << "." << endl; exit(EXIT_FAILURE); } int n; (file >> n).get(); patron * p_patron = new patron[n]; cout << "Reading the information about patrons." << endl; for (int i = 0; i < n; i++) { cout << "Maecenas #" << i+1 << endl; cout << "Enter name " << endl; getline(file, p_patron[i].name); cout << "and the amount of donations " << endl; (file >> p_patron[i].donation).get(); } file.close(); cout << "Grand Patrons." << endl; int countgp = 0; for (int j = 0; j < n; j++) { if (p_patron[j].donation >= 10000) { cout << p_patron[j].name << " - " << p_patron[j].donation << endl; countgp++; } } if (countgp == 0) cout << "none" << endl; cout << endl; cout << "Patrons." << endl; int countp = 0; for (int k = 0; k < n; k++) { if (p_patron[k].donation < 10000) { cout << p_patron[k].name << " - " << p_patron[k].donation << endl; countp++; } } if (countp == 0) cout << "none" << endl; cin.get(); return 0;} Почему в 19-ой строке выдает ошибку не могу понять? Пишет вот это: [Error] no matching function for call to 'std::basic_fstream<char>::open(std::string&)' [Note] candidate is: [Note] void std::basic_fstream<_CharT, _Traits>::open(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base::openmode = std::_Ios_Openmode] [Note] no known conversion for argument 1 from 'std::string {aka std::basic_string<char>}' to 'const char*'
  6. Если по истории России, говорят (сам не читал, но советовали) очень неплохая книга Евгения Анисимова " История России от Рюрика до Путина. Люди. События. Даты"
  7. Г. Шилдт "Java полное руководство". ИМХО книга хорошая, очень не плохо описан язык достаточно подробно, с примерами.
  8. Спасибо, я как раз сейчас её и читаю. Мне то же она нравится все описано подробно и доходчиво. Может посоветуете еще какие - нибудь книги, которые стоило бы прочитать.
  9. Посоветуйте пожалуйста хорошую и понятную книгу по ООП.
  10. Задание такое: Разработать структуру по имени car которая будит хранить название производителя и год выпуска автомобиля. Необходимо написать программу которая запросит пользователя сколько авто включить в каталог? Затем программа должна применитьnew для создания динамического массива структур car. Далее она должна пригласить пользователя ввести производителя и год, для наполнения данными каждой структуры в массиве. И наконец, она должна отобразить содержимое каждой структуры. Вот собственно что я написал Код C++ #include <iostream> #include <string> using namespace std; struct car { string name; int year; }; int main() { cout << "Skolko avtomobilei pomestit v katalog? "; int n; cin >> n; cin.get(); car *p_car = new car; for (int i=1; i<=n; i++) { cout << "Avtomobil #" << i << ":" << endl; cout << "Vvedite proizvoditelya: " << endl; getline (cin, p_car->name); cout << "Ukahzite god vipuska: " << endl; cin >> p_car->year; cin.get(); } cout << "Vot vasha kollekciya: " << endl; cout << << endl; delete [] p_car; return 0; } А как отобразить содержимое каждой структуры никак не могу понять. Может кто объяснит, пожалуйста
×
×
  • Create New...