Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- /*
- Да се напише програма, която прави следните обработки:
- а) Въвежда данните за няколко вида риби. Броят на видовете да се фиксира с константа
- в програмата. За всеки вид риби трябва да се прочетат названието на вида,
- като то може да съдържа интервали, максималната дълбочина, до която плуват рибите
- от такъв вид, и най-голямата дължина, до която израстват.
- При въвеждането да се контролира, че дълбочината и дължината са строго положителни,
- а названието започва с голяма латинска буква.
- б) Извежда названията на всички видове риби, които плуват до половината от най-голямата
- въведена дълбочина.
- в) Извежда пълните данни за всички видове риби, чието название не съдържа интервал.
- */
- #include <iostream>
- #include <string>
- using namespace std;
- int main()
- {
- const int MAX_FISH = 50;
- struct Fish {
- string Species;
- int Depth;
- int Length;
- };
- Fish Fishes[MAX_FISH]; // не е правилно Fishes според английския език, но така решаваме да е
- int num;
- cout << "Enter number of fish: ";
- do
- {
- cin >> num;
- } while (!(num >= 2 && num <= MAX_FISH));
- for (int i = 0; i < num; i++)
- {
- cout << "Enter data for fish " << i + 1 << ": ";
- do
- {
- cout << " Enter species name: ";
- cin.ignore();
- getline(cin, Fishes[i].Species);
- } while (!(Fishes[i].Species.at(0) <= 'Z' && Fishes[i].Species.at(0) >= 'A'));
- do
- {
- cout << " Enter species max depth: ";
- cin >> Fishes[i].Depth;
- } while (Fishes[i].Depth <= 0);
- do
- {
- cout << " Enter species max length: ";
- cin >> Fishes[i].Length;
- } while (Fishes[i].Length <= 0);
- }
- int max_depth = Fishes[0].Depth;
- for (int i = 1; i < num; i++)
- if (Fishes[i].Depth > max_depth)
- max_depth = Fishes[i].Depth;
- cout << "Max depth is " << max_depth << " and these species flow tiil half ot it: ";
- for (int i = 0; i < num; i++)
- if (Fishes[i].Depth <= max_depth / 2)
- cout << Fishes[i].Species << " ";
- cout << endl;
- cout << "Species without a space in the name: ";
- for (int i = 0; i < num; i++)
- {
- size_t n = Fishes[i].Species.find(' '); // търси подниза ' ' (интервал)
- if (n == string::npos) // не е намерен интервал
- {
- cout << Fishes[i].Species << " " <<
- Fishes[i].Length << " " <<
- Fishes[i].Depth << " " << endl;
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment