Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
31.05.2025
Размер:
5.8 Кб
Скачать
#include <iostream>
#include <string.h>
#include <clocale>
#include <malloc.h>
#include <cstdio>
using namespace std;
struct data
{
 char surn[25]; // Фамилия
 char name[25]; // Имя
 char Mname[25]; //Отчество
 char sex[10]; //пол
 char nat[25];// национальность
 int height;//Рост
 int weight;//вес
 int dbirth;//ДеньРожденья - Дата
 int numberm;//ТелефонМ
 int index;//Индекс
 char homel[25];//Страна
 char obl[25];//Область
 char area[25];//Район
 char sity[25];//Город
 char street[25];//Улица
 int build;//Дом
 int kvb;//Квартира
 int school;//Школа
 char obj[25];//класс
};
void scan_inform(struct data *tomas,int n)
{
	for (int i=0; i<n; i++)
	{
	 printf("В какой школе учится?\t");
	 scanf("%d",&tomas[i].school);
	 printf("В каком классе учится?\t");
	 scanf("%s",tomas[i].obj);
	 printf("Какое имя?\t");
	 scanf("%s",tomas[i].name);
	 printf("Какая фамилия?\t");
	 scanf("%s",tomas[i].surn);
	 printf("Какое отчество?\t");
	 scanf("%s",tomas[i].Mname);
	 printf("Его пол?\t");
	 scanf("%s",tomas[i].sex);
	 printf("Его национальность?\t");
	 scanf("%s",tomas[i].nat);
	 printf("Его рост?\t");
	 scanf("%d",&tomas[i].height);
	 printf("Его вес?\t");
	 scanf("%d",&tomas[i].weight);
	 printf("Его мобильный телефон?\t");
	 scanf("%d",&tomas[i].numberm);
	 printf("Его почтовый индекс?\t");
	 scanf("%d",&tomas[i].index);
	 printf("Число дня,месяца и года его рождения, написанное без пробелов?\t");
	 scanf("%d",&tomas[i].dbirth);
	 printf("Номер его квартиры?\t");
	 scanf("%d",&tomas[i].kvb);
	 printf("Номер его дома?\t");
	 scanf("%d",&tomas[i].build);
	 printf("В каком стране живет?\t");
	 scanf("%s",tomas[i].homel);
	 printf("В каком городе живет?\t");
	 scanf("%s",tomas[i].sity);
	 printf("В какой области живет?\t");
	 scanf("%s",tomas[i].obl);
	 printf("В каком районе живет?\t");
	 scanf("%s",tomas[i].area);
	 printf("На какой улице живет?\t");
	 scanf("%s",tomas[i].street);
	}
}
void show_tabl(struct data *tomas,int n)
{
	FILE *tabl =fopen("Таблицаучеников.txt","w");
	fprintf(tabl,"|*****|******|********|*******|********|**********|**************|****|*****|****************|***************|*************|**************|**********|******|*****|*******|*****|*****|\n");
	fprintf(tabl,"|Школа|Класс |Имя     |Фамилия|Отчество|Пол       |Национальность|Рост|Вес  |МобильныйТелефон|Почтовый индекс|Дата рожденья|Номер квартиры|Номер дома|Страна|Город|Область|Район|Улица|\n");
	for (int i=0; i<n;i++)
	{
	  fprintf(tabl,"|%-5d|%-6s|%-8s|%-7s|%-8s|%-10s|%-14s|%-4d|%-5d|%-16d|%-15d|%-13d|%-14d|%-10d|%-6s|%-5s|%-7s|%-5s|%-5s|\n",tomas[i].school,tomas[i].obj,tomas[i].name,tomas[i].surn,tomas[i].Mname,tomas[i].sex,tomas[i].nat,tomas[i].height,tomas[i].weight,tomas[i].numberm,tomas[i].index,tomas[i].dbirth,tomas[i].kvb,tomas[i].build,tomas[i].homel,tomas[i].sity,tomas[i].obl,tomas[i].area,tomas[i].street);	
	}
	fclose(tabl);	
}

void take_aim1(struct data *tomas,int n) {
	int per;
	printf("Список учеников какой школы вывести? Введите номер школы:\t");
	scanf("%d",&per);
    printf("|*****|******|********|*******|********|**********|**************|****|*****|****************|***************|*************|**************|**********|******|*****|*******|*****|*****|\n");
    printf("|Школа|Класс |Имя     |Фамилия|Отчество|Пол       |Национальность|Рост|Вес  |МобильныйТелефон|Почтовый индекс|Дата рожденья|Номер квартиры|Номер дома|Страна|Город|Область|Район|Улица|\n");
    for (int i=0; i<n; i++)
	{
	 if ((tomas[i].school)==(per))
	 {
     printf("|%-5d|%-6s|%-8s|%-7s|%-8s|%-10s|%-14s|%-4d|%-5d|%-16d|%-15d|%-13d|%-14d|%-10d|%-6s|%-5s|%-7s|%-5s|%-5s|\n",tomas[i].school,tomas[i].obj,tomas[i].name,tomas[i].surn,tomas[i].Mname,tomas[i].sex,tomas[i].nat,tomas[i].height,tomas[i].weight,tomas[i].numberm,tomas[i].index,tomas[i].dbirth,tomas[i].kvb,tomas[i].build,tomas[i].homel,tomas[i].sity,tomas[i].obl,tomas[i].area,tomas[i].street);
     }
    }
     	
}
void  take_aim2(struct data *tomas,int n)
{
	int k=0;
	printf("Ученики с одинаковой фамилией\n");
	printf("|*****|******|********|*******|********|**********|**************|****|*****|****************|***************|*************|**************|**********|******|*****|*******|*****|*****|\n");
    printf("|Школа|Класс |Имя     |Фамилия|Отчество|Пол       |Национальность|Рост|Вес  |МобильныйТелефон|Почтовый индекс|Дата рожденья|Номер квартиры|Номер дома|Страна|Город|Область|Район|Улица|\n");
	for (int i=0;i<n;i++)
	{
	 for (int t=0;t<n;t++)
	 {
	  if ((strcmp((tomas[i].surn),(tomas[t].surn))==0)&&((i)!=(t)))
	{
	printf("|%-5d|%-6s|%-8s|%-7s|%-8s|%-10s|%-14s|%-4d|%-5d|%-16d|%-15d|%-13d|%-14d|%-10d|%-6s|%-5s|%-7s|%-5s|%-5s|\n",tomas[t].school,tomas[t].obj,tomas[t].name,tomas[t].surn,tomas[t].Mname,tomas[t].sex,tomas[t].nat,tomas[t].height,tomas[t].weight,tomas[t].numberm,tomas[t].index,tomas[t].dbirth,tomas[t].kvb,tomas[t].build,tomas[t].homel,tomas[t].sity,tomas[t].obl,tomas[t].area,tomas[t].street);		
	k=k+1;
	}
      }  
   }
   if (0>=k)
      {
      	printf("Людей с одинаковой фамилией нет!\n");
	  }	
}
void take_aim3(struct data *tomas,int n)
{
    int max=1;
    for (int i=0;i<n;i++)
    {
    	int v=0;
    	for(int t=0;t<n;t++)
    	{
    		if ((strcmp((tomas[i].obj),(tomas[t].obj))==0))
    		{
    			v=v+1;
			}
		}
		if (max<v)
		{
		 max=v;	
		}		
	}
	printf("Максимальное число учеников в классе%d\n",  max);	
}
int main()
{
  int n;
  setlocale(LC_CTYPE,"rus");
  printf("Введите количество учеников\n");
  scanf("%d",&n);
  struct data *tomas;
  tomas = (struct data*)malloc(n*sizeof(struct data));
  scan_inform(tomas,n);
  take_aim1(tomas,n);
  take_aim2(tomas,n); 
  take_aim3(tomas,n);
  show_tabl(tomas,n); 
  
}
Соседние файлы в папке 1 практика