Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2013, 19:38   #1
tkach_fcz
 
Регистрация: 10.09.2013
Сообщений: 7
По умолчанию Структуры (C/C++)

Задания к лабораторной работе по теме "структуры".

Общие требования:

Написать программу, которая заполняет соответствующие поля массива структур в режиме диалога.
При этом массив может быть заполнен полностью, в соответствии с размером, указанном в варианте, либо частично (до ввода признака конца файла вместо значения 1-го поля структуры).
Реально введенное количество структур запомнить в переменной целого типа.

Массив структур имеет размерность 20.
Каждая структура содержит следующие поля:
- фамилия и инициалы студента (строка не более 20 символов – может содержать пробелы и не должна повторяться – иначе повторный запрос);
- количество предметов (целое число);
- количество задолжностей (целое число);
- количество пропущенных занятий (целое число);

После заполнения данного массива структур вывести ФИО студентов, имеющих задолжности, отсортированные по алфавиту.
Запросить и ввести допустимое количество долгов и допустимое количество пропусков занятий и вывести процент студентов, удовлетворяющих, заданным условиям от всех студентов с долгами.

Код:
// laba4.cpp

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

struct student
{ 
  char fio[21];
  int pred; //переменная предметов
  int dolg; //долгов
  int prop; //пропусков
};

int main()
{
	struct student std[20];
	struct student std1[20];
	struct student s1;
	int i,j,n,k,dolg1,pr;


	for(i=0;i<=20;i++){
		n=i;
	a:
	   printf("Vvedite FIO studenta: ");
       if(gets(std[i].fio)==NULL) goto END; fflush(stdin);
	 
	   for (j=0; j<i; j++){ 
		if(strcmp(std[i].fio, std[j].fio)==0){
				printf("Erorr. Povtorite vvod FIO. ");
				goto a;
		}
		}
	
	   printf("Vvedite kolichestvo predmetov: ");
	   if(scanf_s("%i",&std[i].pred)==-1)
		goto END;
	   fflush(stdin);

	   printf("Vvedite kolichestvo dolgov: ");
	   if( scanf_s("%i",&std[i].dolg)==-1)
		goto END;
	   fflush(stdin);

       printf("Vvedite kol propuscov zanytij: ");
        if(scanf_s("%i",&std[i].prop)==-1)
		goto END;
	   fflush(stdin);
	   printf("\n");
	}
	n++;

END:

	printf("\n\n\n");
	fflush(stdin);
	j=0;
	for (i=0; i<n; i++){
		if (std[i].dolg>0)
		{
			std1[j]=std[i];
			j++;
		}
	}

	int x;
		
	for (i=0; i<j-1; i++){
		for (x=i+1; x<j; x++){
		if (strcmp(std1[i].fio, std1[j].fio)>0)
		{
			s1=std1[i];
			std1[i]=std1[x];
			std1[x]=s1;
		}
		}
	}
		
		
	printf("Vvedite kolichestvo dolgov: ");
	if(scanf_s("%i", &dolg1)==-1)
		goto END2;
	printf("Vvedite kolichestvo propuscov: ");
	scanf_s("%i", &pr);
	printf("\n\n");
	
	k=0;
	for (i=0; i<j; i++)
	{ 
		if((dolg1>=std1[i].dolg) && (pr>=std1[i].prop))
		{
			k++;
		}
	}
	printf("%d ", k*100/n);
	
	for (i = 0; i<n; i++) //вывод фио студентов
	{
		printf ("%s\n", std1[i].fio);
	}
	goto END;

END2:

	return 0;
}
Прошу помочь с тем, что в задании выделенно красным и проверить код на ошибки.
У меня вроде все работает, кроме вывода фамилий по алфавиту. Пробовала подойти к данному вопросу с разных сторон, но не получается.
Помогите. пожалуйста. Буду очень признательна
tkach_fcz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача структуры из программы на c# в dll на c++ и получение структуры из dll iukash Общие вопросы .NET 0 07.05.2013 16:03
Динамические структуры данных, списковые структуры (надо разобраться что делает программа) _4Alex4_ Помощь студентам 1 14.11.2012 07:39
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) Green Gin Фриланс 2 27.04.2012 15:26
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. Лёнка Компоненты Delphi 1 23.04.2012 15:03
С структуры TRAY Помощь студентам 1 15.06.2010 19:24