p align="left">36. if (ps != NULL) 37. cout << ps; 38. else 39. cout << «Нет такой подстроки!»; 40. // На экране будет DEXYZ 41. Функция char *strlwr(char *s); - конвертирует строку к нижнему регистру (т.е. переводит строку в строчные символы). Например, 42. char str[30] = “ABCDE_123_ijk_XYZ”; 43. cout << strlwr(str); 44. // на экране будет abcde_123_ijk_xyz 45. Функция char *strupr(char *s); - конвертирует строку к верхнему регистру (т.е. переводит строку в прописные символы). 46. Функция char *strset(char *s, int ch); - заменяет ВСЕ символы в строке s на символ ch. Например, 47. char str[30] = «ABCDE»; cout << strset(str, 'x'); // на экране будет xxxxx 48. Функция char *strnset(char *s, int ch, int n); - заменяет первые n символов в строке s на символ ch. 49. Функция char *strrev(char *s); - меняет порядок следования символов в строке на противоположный (меняет первый символ с последним, второй символ с предпоследним и т.д.). Например, 50. char str[30] = «12345»; cout << strrev(str); // на экране будет 54321 4.1.3 Описание разработанных функций Сортировка студентов по успеваемости. Алгоритм Из элемента массива типа student котрый содержит в себе массив с оценками ball с помощью функции sortirovka находится средний балл (сумма балов по предметам делится на количество предметов). Затем этот балл в зависимости от балла пишется список студентов имеющих разные средние баллы. void one (student student1[100])//функция первого пункта меню { for (i=0;i<kolvo_student;i++) { if ((base[i].srednyi_ball>=0)&&(base[i].srednyi_ball<=60)) { cout<<"\n ---------------------------------------------------------------"; cout<<"\n studenty imeyshie sredniy ball nizhe 60:"; cout<<"\n ---------------------------------------------------------------"; cout<<endl; cout<<student1[i].familia<<" "; cout<<student1[i].imya<<" "; cout<<student1[i].otchestvo<<" "; cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl; cout<<"\n ---------------------------------------------------------------"; } if ((base[i].srednyi_ball>=60)&&(base[i].srednyi_ball<=75)) { cout<<"\n ---------------------------------------------------------------"; cout<<"\n studenty imeyshie sredniy ball bolshe 60 i nizhe 75:"; cout<<"\n ---------------------------------------------------------------"; cout<<endl; cout<<student1[i].familia<<endl; cout<<student1[i].imya<<endl; cout<<student1[i].otchestvo<<endl; cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl; cout<<"\n ---------------------------------------------------------------"; } if ((base[i].srednyi_ball>=75)&&(base[i].srednyi_ball<=90)) { cout<<"\n ---------------------------------------------------------------"; cout<<"\n studenty imeyshie sredniy ball bolshe 75 i nizhe 90:"; cout<<"\n ---------------------------------------------------------------"; cout<<endl; cout<<student1[i].familia<<endl; cout<<student1[i].imya<<endl; cout<<student1[i].otchestvo<<endl; cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl; cout<<"\n ---------------------------------------------------------------"; } if ((base[i].srednyi_ball>=90)&&(base[i].srednyi_ball<=100)) { cout<<"\n ---------------------------------------------------------------"; cout<<"\n studenty imeyshie sredniy ball bolshe 90 nizhe 100:"; cout<<"\n ---------------------------------------------------------------"; cout<<endl; cout<<student1[i].familia<<endl; cout<<student1[i].imya<<endl; cout<<student1[i].otchestvo<<endl; cout<<"srednyi ball:"<<base[i].srednyi_ball<<endl; cout<<"\n ---------------------------------------------------------------"; } } k++; } Вот функция для нахождения среднего балла float sortirovka(int ball[100], int kolvo_predmetov) { float sum=0; for (int i=0;i<kolvo_predmetov;i++) { sum+=ball[i];//Сумма баллов по предметам } return sum/kolvo_predmetov;//Возврат среднего балла } Рисунок 1 - работа 1 пункта меню 4.1.2 Вывод таблицы успеваемости студента по предметам Алгоритм Для выполнения данного пункта меня было создано три строки. В эти строки пользователь вносит данные о студенте таблицу успеваемости которого он хочет получить char familia[30]; char imya[30]; char otchestvo[30]; Далее эти строки с помощью функции strcmp сравнивает введенные данные с уже существующими. Если во всех 3 случаях функция возвращает 0, то выводится таблица успеваемости студента. void two(student student1[100],predmety predmety1[100]) { char familia[30]; char imya[30]; char otchestvo[30]; cout<<"\n vvedite familiy stydenta :"; cin>>familia; cout<<"\n vvedite imya studenta:"; cin>>imya; cout<<"\n vvedite otchestvo studenta:"; cin>>otchestvo; for (i=0;i<kolvo_student;i++) { if ((strcmp(familia,student1[i].familia)==NULL)&&(strcmp(imya,student1[i].imya)==NULL)&&(strcmp(otchestvo,student1[i].otchestvo)==NULL)) { cout<<"\n Ocenki studenta:"<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo; cout<<endl; for (j=0;j<kolvo_predmetov;j++) for (k=0;k<kolvo_predmetov;k++) { cout<<predmety1[j].nazvanie_predmeta; cout<<" ocenka:"<<student1[i].ball[k]; cout<<endl; j++; } } } } Рисунок 2- работа 2 пункта меню 4.1.3 Вывод списка иногородних студентов . Алгоритм Вводится название города, где находится институт. Затем с помощью функции strcmp программа сравнивает поле char gorod[30]; каждого элемента массива типа student с введенным названием города если функция возвращает не 0, то выводится имя, фамилия, отчество иногородних студентов и результат счетчика их количества. void three(student student1[100]) { int inogorodnie=0; char gorod[20]; cout<<"\n vvedite nazvani goroda gde naxoditsya instityt:"; cin>>gorod; cout<<"\n inogorodnie studenty:"; for (i=0;i<kolvo_student;i++) { if (strcmp(gorod,student1[i].gorod)!=0) { cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl; inogorodnie++; } } cout<<"\n colichestvo inogorodnyx stydentov:"<<inogorodnie; } Рисунок 3-работа 3 пункта меню 4.1.4 Вывод списка городских студентов Алгоритм Вводится название города, где находится институт. Затем с помощью функции strcmp программа сравнивает поле char gorod[30]; каждого элемента массива типа student с введенным названием города если функция возвращает 0, то выводится имя, фамилия, отчество городских студентов и результат счетчика их количества. void four(student student1[100]) { int gorodskie=0; char gorod[20]; cout<<"\n vvedite nazvani goroda gde naxoditsya instityt:"; cin>>gorod; cout<<"\n inogorodnie studenty:"; for (i=0;i<kolvo_student;i++) { if (strcmp(gorod,student1[i].gorod)==0) { cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl; gorodskie++; } } cout<<"\n colichestvo gorodskix stydentov:"<<gorodskie; } Рисунок 4-работа 4 пункта меню 4.1.5 Вывод количества бюджетников. Алгоритм При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 1 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество. void five(student student1[100]) { cout<<"\n budzhetniki:"<<endl; int budzhet=0; for (i=0;i<kolvo_student;i++) { if(student1[i].budzhet_ili_contract==1) { cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl; budzhet++;} } cout<<"\n colichestvo budzhetnicow:"<<budzhet; } Рисунок 5-работа 5 пункта меню 4.1.6 Вывод количества контрактников Алгоритм При вводе информации о студентах программа требовала ввести 0, если контрактник и 1- если бюджетник. В данном пункте меню если элемент массива student с полем int budzhet_ili_contract; содержит 0 , то на экран выводится имя, фамилия, отчество студентов бюджетников,а также их количество. void six(student student1[100]) { cout<<"\n kontraktnici:"<<endl; int contract=0; for (i=0;i<kolvo_student;i++) { if(student1[i].budzhet_ili_contract==0) { cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl; contract++; } } cout<<"\n colichestvo kontraktnikow:"<<contract; } Рисунок 6-работа 6 пункта меню 4.1.7 Вывод студентов одного года рождения Алгоритм Программа в данном пункте меню сравнивает поле int god_rozhdenia ; каждого элемента массива student с таким же полем следующего элемента меню. Если они равны, то выводится их фамилии имена и отчества. void seven(student student1[100]) { cout<<"\n spisok studentov odnogo goda rozhdenia:"; for (i=0;i<kolvo_student;i++) { if (student1[i].god_rozhdenia==student1[i+1].god_rozhdenia) { cout<<student1[i].familia<<" "<<student1[i].imya<<" "<<student1[i].otchestvo<<endl; cout<<student1[i+1].familia<<" "<<student1[i+1].imya<<" "<<student1[i+1].otchestvo; cout<<endl; } } } Рисунок 7-работа 7 пункта меню 4.1.8 Поиск студента в базе и вывод полной информации о нем. Алгоритм Для работы данного пункта необходимо ввести фамилию, имя, отчество искомого студента. Для этого предназначены строки char familia1[30]; char imya1[30]; char otchestvo1[30];
Страницы: 1, 2, 3, 4
|