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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2012, 19:01   #21
Mahoyn93
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 28
По умолчанию

printf("\n\tFIO\t%s %s\n\tPlata\t%10.2f",otdel[i].sotrud[j].fname,otdel[i].sotrud[j].name,otdel[i].sotrud[j].plata);


выделил эту строку после отладки
Mahoyn93 вне форума Ответить с цитированием
Старый 13.05.2012, 19:49   #22
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Странно... А каков текст ошибки?
P.S у меня ничего не вылетало, я проверял прогу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.05.2012, 21:43   #23
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Мне кажется, вы поставили слишком высокую точность для float, попробуйте пониже или замените float на double.
rmv240899 вне форума Ответить с цитированием
Старый 14.05.2012, 16:04   #24
Mahoyn93
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 28
По умолчанию

нашел косяк.глупая ошибка там где в цикле j стояло i++
а как мне сделать чтобы считывались данные с текстового файла и записывались после операций в бинарный файл?только на СИ
Mahoyn93 вне форума Ответить с цитированием
Старый 14.05.2012, 21:27   #25
Mahoyn93
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 28
По умолчанию

Код:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

struct SOTRUD{
       float plata;
       char name[20];
       char fname[20];
       };
struct OTDEL{
       struct SOTRUD x[5];
       char otname[20];
       } otdel[3];

int main()
{
    int i,j,n;
    printf("vvedite info:\n");
    for(int i=0;i<3;i++){
	 printf("Otdel ");
     scanf("%s",&otdel[i].otname);
	 for(int j=0;j<5;j++){ 
		printf("\nname, fname, plata\n");
		scanf("%s",&otdel[i].x[j].fname);
		scanf("%s",&otdel[i].x[j].name);
		scanf("%f",&otdel[i].x[j].plata);
	 }
	}
    
    
     for(i=0;i<3;i++){
	 printf("Otdel %s\n",otdel[i].otname);
	 for(j=0;j<5;j++){ 
		 printf("\n\tFIO\t%s %s\n\tPlata\t%10.2f",otdel[i].x[j].fname,otdel[i].x[j].name,otdel[i].x[j].plata);
	 }
	}
	SOTRUD*rabotnik[15];
	char find_name[20];
	for(n=0;n<15;n++)
	{
             printf("vvedite name");
             scanf("%s",&SOTRUD[j].find_name[n]);        
             if(rabotnik[n].name==find_name);
             {
             printf("\n\tFIO\t%s %s\n\tPlata\t%10.2f",otdel[i].x[j].fname,otdel[i].x[j].name,otdel[i].x[j].plata);
             }
             }
                                            
	

	getch();
	return 0;
}

в реализации поиска по имени сотрудника проблема.
Mahoyn93 вне форума Ответить с цитированием
Старый 14.05.2012, 21:30   #26
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
scanf("%s",&SOTRUD[j].find_name[n]);
Вынеси это за цикл. Думаю в этом и заключается твоя проблема, которую ты даже не потрудился описать намекая на полное неуважение к участникам форума
И вообще: scanf("%s",&find_name);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 21:43   #27
Mahoyn93
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 28
По умолчанию

Цитата:
if(rabotnik[n].name==find_name);
пишет что name has been not declared.хотя как я понимаю что name он берет с начала структуры через точку.
и пишет ошибку с "=="
Mahoyn93 вне форума Ответить с цитированием
Старый 14.05.2012, 21:46   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
SOTRUD*rabotnik[15];
Ты это зачем написал?
Цитата:
name он берет с начала структуры через точку.
Вот кстати, по-моему если речь идет о указателях нужно писать -> а не точку.
Зачем ты массив указателей описал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 21:59   #29
Mahoyn93
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 28
По умолчанию

Цитата:
SOTRUD*rabotnik[15];
тут доступ к полю сотрудников что оттуда информацию считывал.
Цитата:
if(rabotnik[n].name==find_name);
а тут я хотел чтобы сравнивал все имена и введенное которое нужно найти.
я думал точка нужна для обращения к элементу структуры
Mahoyn93 вне форума Ответить с цитированием
Старый 14.05.2012, 22:03   #30
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
тут доступ к полю сотрудников что оттуда информацию считывал.
Тут объявляется новая переменка-массив )
Никакого доступа к отделу тут нет.
Посмотри внимательно как я писал вывод сотрудников - там нет никаких новых переменных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# структура базы для Анкет sasblade C# (си шарп) 1 05.10.2011 16:33
Иерархическая структура таблицы базы mdb Wikly БД в Delphi 7 07.05.2010 22:55
Структура Базы Данных jeka5555 PHP 12 30.03.2009 07:46
структура таблицы базы данных с именем WORKER Vollmond36 Помощь студентам 1 01.12.2008 22:20