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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2009, 20:31   #1
Petruha-nsk
Пользователь
 
Аватар для Petruha-nsk
 
Регистрация: 10.04.2009
Сообщений: 69
По умолчанию проблема со структурой

Мне нужно написать прогу со структурой.
Структурированный тип: Фирма
Поля: название фирмы, ФИО директора, кол-во сотрудников, адрес, уставной капиталл
Функции:
- ввод кол-ва фирм;
- заполнение массива структур с клавы;
- печать массива структур на экране;
- вычисление среднего уставного капиталла;
- поиск структуры с заданными ФИО директор

Код:
#include<stdio.h>
#include<conio.h>
#define m 100

struct firma{char name_firm[m]; char FIO_direktora[m]; int kolvo_sotrudnikov; char adress[m]; float kapitall;};

void main()
{
  clrscr();
  int i,j,n,F,P; // n - kol-vo firm
  firma all_firms[10];
  float sum; //dlya vychisleniya srednego ustavnogo kapitalla

  printf("\n Vvedite kol-vo firm=");
  scanf("%d",&n);

  if (n>0)
  {
	i=0; sum=0;
	while (i<n) // Zikl dlya vvoda dannyh o firmah!
	{

		printf("\n\n Vvedite nazvanie firmy=");
		scanf("%s",&all_firms[i].name_firm);

		printf("\n Vvedite FIO direktora (bez probelov!):");
		scanf("%s",&all_firms[i].FIO_direktora);

		printf("\n Vvedite kol-vo sotrudnikov=");
		scanf("%d",&all_firms[i].kolvo_sotrudnikov);

		printf("\n Vvedite adress:");
		scanf("%s", all_firms[i].adress);

		printf("\n Vvedite kapitall=");
		scanf("%f",&all_firms[i].kapitall);

		sum = sum + all_firms[i].kapitall;

		i++;
	}

	i=0;
	while (i<n) // Zikl dlya vyvoda na ekran!
	{
		printf("\n Nazvanie firmy: %s. ",&all_firms[i].name_firm);
		printf(" FIO direktora: %s. ",&all_firms[i].FIO_direktora);
		printf("\n Kol-vo sotrudnikov: %d", &all_firms[i].kolvo_sotrudnikov);
		printf(" Adress: %s",&all_firms[i].adress);
		printf(" Kapitall: %f", &all_firms[i].kapitall);

		i++;
	}
	printf("\n Sred.ustavn.kapitall= %f",sum/n);

	char poisk_direktora[40];
	printf("\n\n Vvedite FIO iskomogo direktota:");
	scanf("%s",&poisk_direktora);

	F=1; i=0;
	while (F&&(i<n))
	{
		P=1; j=0;
		while ((j<m)&&P)
		{
			if(poisk_direktora[j]==all_firms[i].FIO_direktora[j]) j++;
					else P=0;
		}

		if(P==1) F=0; else i++;
	}

	if(F!=0)printf("Sredi vvedennyh direktorov, danniy prisutstvuet!");
		else printf(" Sredy vvedennyh direktorov, dannogo NE bylo!");
вроде написал прогу,но еа вводе Капиталла вылетает из цикла. поменял на int Капиталл, работает. с float не хочет. и не высчитывает значение среднего уставного капиталла. помогите пожалуйста.
Petruha-nsk вне форума Ответить с цитированием
Старый 18.04.2009, 21:12   #2
Petruha-nsk
Пользователь
 
Аватар для Petruha-nsk
 
Регистрация: 10.04.2009
Сообщений: 69
По умолчанию

с & в printf я действительно переборщил. все исправил так,как нужно, но... проблема так и осталась...
Petruha-nsk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача со структурой и сортировкой на С++ Many man Помощь студентам 1 21.03.2009 22:52
Задачи со сложной структурой данных [C++ Builder] conqueror Помощь студентам 3 24.12.2008 09:16
Проблемы с динамической структурой данных Mailz Общие вопросы C/C++ 1 21.05.2008 00:18
Ошибка при работе с структурой Nullator Общие вопросы C/C++ 11 07.03.2008 23:52