Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<string.h>
- #include<clocale>
- #include<iostream>
- #include<fstream>
- #include<math.h>
- #include<conio.h>
- #include <stdio.h>
- #include <cstdio>
- #include <iomanip>
- #include <ctime>
- #include <windows.h>
- #define PAYMENT 2000
- using namespace std;
- void Titul() {
- HANDLE consoleOutput;
- COORD cursorPos;
- system("cls");
- consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);//
- cursorPos.X = 25;
- cursorPos.Y = 3;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- //
- cout << static_cast<char>(218) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(191) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 4;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- cout << static_cast<char>(179) << " LR 2.7 " << static_cast<char>(179) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 5;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- cout << static_cast<char>(179) << " Samara University " << static_cast<char>(179) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 6;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- cout << static_cast<char>(179) << "Faculty of electronic " << static_cast<char>(179) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 7;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- cout << static_cast<char>(179) << " Boblak I. " << static_cast<char>(179) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 8;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- cout << static_cast<char>(179) << " Group 5103 " << static_cast<char>(179) << endl;
- cursorPos.X = 25;
- cursorPos.Y = 9;
- SetConsoleCursorPosition(consoleOutput, cursorPos);
- //
- cout << static_cast<char>(192) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(196) << static_cast<char>(217) << endl;
- system("PAUSE");
- }
- void Lr1() {
- printf("Формируем из исходного массива B массива A, каждый элемент которого есть\n сумма положительных элементов в соответствующей строке матрицы.");
- const int ROWS = 4;
- const int COLS = 3;
- int B[ROWS][COLS], A[ROWS] = { 0, 0, 0, 0 };
- printf("\nArray B: \n");
- for (int i = 0; i < ROWS; i++) {
- for (int j = 0; j < COLS; j++) {
- B[i][j] = rand() % 100 - 50;
- printf("%d\t", B[i][j]);
- if (B[i][j] > 0) {
- A[i] += B[i][j];
- }
- }
- printf("\n");
- }
- printf("\nArray A\n");
- for (int i = 0; i < ROWS; i++) {
- printf("%d\t", A[i]);
- }
- system("PAUSE");
- }
- // *arr - указатель на массив, n - количество элементов массива
- int* arrInit(int *arr, int n);
- // *arr - указатель на массив, n - количество элементов массива
- void arrOut(int *arr, int n);
- // *currentArr - указатель на исходный массив, *newArr - указатель на новый массив
- int* arrOrganise(int *currentArr, int *newArr, int n);
- // *arr - указатель на массив, n - количество элементов массива
- int* arrSort(int *arr, int n);
- //
- void arrOutExcel(int *arr1, int *arr2, int n);
- void Lr3() {
- int arrSize = 0;
- printf("****************************\n");
- printf("\nEnter the array size: ");
- scanf_s("%d", &arrSize);
- printf("\n");
- printf("\n****************************\n");
- int *B = new int[arrSize];
- arrInit(B, arrSize);
- printf("\n****************************\n");
- printf("Array B:\n ");
- arrOut(B, arrSize);
- printf("\n****************************\n");
- int *A = new int[arrSize];
- arrOrganise(B, A, arrSize);
- // Вывод сразу сортированного массива A
- arrSort(A, arrSize);
- printf("Array A: \n");
- arrOut(A, arrSize);
- printf("\n****************************\n");
- //Вывод всех массивов в Excel
- arrOutExcel(B, A, arrSize);
- system("PAUSE");
- }
- int* arrInit(int *arr, int n) {
- printf("\n");
- for (int i = 0; i < n; i++) {
- // Введите элемент массива
- printf("Enter an %d array cell: ", i + 1);
- scanf_s("%d", &arr[i]);
- }
- return arr;
- }
- void arrOut(int *arr, int n) {
- for (int i = 0; i < n; i++) {
- printf("%d\t", arr[i]);
- }
- }
- int* arrOrganise(int *currentArr, int *newArr, int n) {
- for (int i = 0; i < n; i++) {
- if (currentArr[i] % 2 == 0) {
- newArr[i] = currentArr[i];
- }
- else {
- newArr[i] = 0;
- }
- }
- return newArr;
- }
- int* arrSort(int *arr, int n) {
- int min, kmin, temp;
- for (int i = 0; i < n - 1; i++) {
- min = arr[i];
- kmin = i;
- for (int j = i + 1; j < n; j++) {
- if (arr[j] <= min) {
- min = arr[j];
- kmin = j;
- }
- }
- temp = arr[i];
- arr[i] = arr[kmin];
- arr[kmin] = temp;
- }
- return arr;
- }
- void arrOutExcel(int *arr1, int *arr2, int n) {
- ofstream fout;
- fout.open("lab.csv");
- fout << "Array B" << endl;
- for (int i = 0; i < n; i++) {
- fout << i << ";" << arr1[i] << endl;
- }
- fout << endl;
- fout << "Sorted array A" << endl;
- for (int i = 0; i < n; i++) {
- fout << i << ";" << arr2[i] << endl;
- }
- fout << endl;
- fout.close();
- }
- void Lr21() {
- char s[100];
- int i = 0, k = 0;
- printf("Введите строку:\n");
- cin >> s;
- while (s[i] != '\0')
- {
- if ((s[i] == '.') || (s[i] == '!'))
- k++;
- i++;
- }
- printf("Введенная строка: %s\n", s);
- printf("\n");
- printf("Количество предложений в строке - %d", k);
- system("PAUSE");
- }
- void Lr22() {
- const int m = 100;
- int i = 0, j = 0, len;
- char str[m], slovonach[m] = "", slovocon[m] = "", *con, *nach;
- printf("****************************\n");
- printf("Введите строку:\n");
- cin >> str;
- while (str[i] != ' ')
- {
- slovonach[i] = str[i];
- i++;
- }
- len = strlen(str);
- for (i = len; i >= 0; i--)
- {
- if (str[i] == ' ')
- {
- for (j = 0; j<len - i + 1; j++)
- slovocon[j] = str[i + 1 + j];
- break;
- }
- }
- printf("Исходная строка:");
- puts(str);
- printf("Первое слово строки:");
- puts(slovonach);
- printf("Последнее слово строки:");
- puts(slovocon);
- printf("нажмите любую клавишу");
- system("PAUSE");
- }
- struct student {
- char surname[100];
- int marks[3];
- double payment;
- };
- void structInit(const int n, student *arr)
- {
- for (int i = 0; i<n; i++)
- {
- printf("Информация о студенте № %d:\n", i + 1);
- printf("Фамилия: ");
- scanf_s("%s", &arr[i].surname, 100);
- printf("Оценки за 3 предмета:\n ");
- for (int j = 0; j < 3; j++) {
- printf("Оценка за %d-й предмет: ", j + 1);
- scanf_s("%d", &arr[i].marks[j]);
- }
- if (arr[i].marks[0] == 5 && arr[i].marks[1] == 5 && arr[i].marks[2] == 5) {
- arr[i].payment = PAYMENT*1.25;
- }
- else if (arr[i].marks[0] != 3 && arr[i].marks[1] != 3 && arr[i].marks[2] != 3) {
- arr[i].payment = PAYMENT;
- }
- else {
- arr[i].payment = 0;
- }
- }
- }
- void structOut(const int n, student *arr) {
- for (int i = 0; i < n; i++) {
- printf("\nСтудент %d:\n", i + 1);
- //for (int s = 0; s < arr[i].surname.length(); s++) {
- // cout » arr[i].surname[s];
- //}
- cout << arr[i].surname << endl;
- printf("Оценки по 3-м предметам: \t");
- for (int j = 0; j < 3; j++) {
- printf("%d\t", arr[i].marks[j]);
- }
- printf("\nСтипендия студента: %f\n", arr[i].payment);
- }
- }
- void structOutExcel(const int n, student *arr) {
- ofstream fout("arr.csv");
- fout << "Список студентов" << endl;
- fout << "№" << "Фамилия" << ";" << "Оценки" << ";" << "Стипендия" << endl;
- for (int i = 0; i < n; i++) {
- fout << i + 1 << ";" << arr[i].surname << ";";
- for (int j = 0; j < 3; j++) {
- fout << arr[i].marks[j] << " ";
- }
- fout << ";" << arr[i].payment << endl;
- }
- fout.close();
- }
- void Lr4() {
- setlocale(LC_ALL, "Russian");
- int n, k = 0;
- char s[100] = "";
- printf("Введите количество студентов: ");
- scanf_s("%d", &n);
- student *Sk = new student[n];
- if (Sk == NULL) {
- printf("Ошибка");
- }
- structInit(n, Sk);
- structOut(n, Sk);
- structOutExcel(n, Sk);
- system("PAUSE");
- }
- void main() {
- setlocale(LC_ALL, "Russian");
- int N;
- do {
- system("cls");
- printf("1. Титульная рамка\n");
- printf("2. Матрицы\n");
- printf("3. Динамические массивы\n");
- printf("4. Символьные строки 1\n");
- printf("5. Символьные строки 2\n");
- printf("6. Структура\n");
- printf("7. Выход\n");
- printf("\n\n Выберите пункт меню: ");
- scanf_s("%d", &N);
- switch (N) {
- case 1: printf("Выбран пункт 1\n"); Titul(); break;
- case 2: printf("Выбран пункт 2\n"); Lr1(); break;
- case 3: printf("Выбран пункт 3\n"); Lr3(); break;
- case 4: printf("Выбран пункт 4\n"); Lr21(); break;
- case 5: printf("Выбран пункт 5\n"); Lr22(); break;
- case 6: printf("Выбран пункт 6\n"); Lr4(); break;
- case 7:break;
- default: printf("Неизвестная операция\n"); break;
- }
- }
- while (N != 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement