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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 23:55   #1
kate_miss
Пользователь
 
Регистрация: 21.08.2010
Сообщений: 11
Печаль СТРУКТУРЫ В С++

подскажите пожалуйста::::

1.Как сделать чтобы после ввода данных ....они выводились на экран
2.Как в case 2----сделать чтобы выводилась....сред.зп...правильно и с фамилией соответственного работника
3.Как сделать чтобы по выбору case 3....программа закрывалась
4.Как записать в файл: всех сотрудников с их зп+то что выбрали для выполнения в меню
5.нюанс..... почему когда вводишь 1 сотрудника не ищет мин.зп 1 сотрудника???

заранее спасибо)))))

Код:
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
using namespace std;
 
struct SOTRUDNIK {
       char Fam[30];
       int Zap;
       };
 
main() {
    SOTRUDNIK Sotrudnik[100];
    int i,n,sum=0,number,min,m;
    double sredzap=0;
        {
           cout<<"******************RASCHET ZARABOTNOI PLATI***********************"<<endl;
           cout<<"         "<<endl;
           cout<<"Vvedite kol-vo sotrudnikov: ";
           cin>>n;
           for (i=0;i<n;i++){
               cout<<"Vvedite familiu  "<<i+1<< "  sotrudnika: ";
               cin>>Sotrudnik[i].Fam;
               cout<<"Vvedite zarabotnyu platy  "<<i+1<<"  sotrudnika: ";
               cin>>Sotrudnik[i].Zap;
               return Sotrudnik[];
           }
               cout<<"         "<<endl;
               cout<<"-----------------------------MENU-----------------------------------"<<endl;
               cout<<"         "<<endl;
               cout<<"NAZHMITE--1--Dlya rascheta sr/zp VSEX sotrudnikov "<<endl;
               cout<<"NAZHMITE--2--Dlya rascheta sr/zp ODNOGO sotrudnika (s min zarplatoi) "<<endl;
               cout<<"NAZHMITE--3--Dlya vixoda iz programmi "<<endl;
           cin>>number;
           
           //**************расчет средней зп сотрудников и сотрудника с мин зп***************
switch(number){
    case 1:   for (i=0;i<n;i++){
              sum+=Sotrudnik[i].Zap;
              sredzap=sum/n;
              }
              cout<<"    "<<endl;
              cout<<"*****  Srednyaya zarplata sredi VSEX sotrudnikov  *****"<<endl;
              cout<<"    "<<endl;
                  cout<<"Srednyaya zarplata= "<<sredzap<<" rublei"<<endl;
              break;
    case 2: for (i=0;i<n;i++){
                                        m=Sotrudnik[i].Zap;
                    if (m<Sotrudnik[i-1].Zap){
                        min=Sotrudnik[i].Zap;
           }
                          }
                                cout<<"    "<<endl;
                                cout<<"*****  Minimal'naya zarplata sredi VSEX sotrudnikov  *****"<<endl;
                                cout<<"    "<<endl;
                                cout<<"Minimal'naya zp sredi sotrydnikov y : "<<Sotrudnik[i].Fam<<"-SOSTOVLYAET "<<min<<" rublei"<<endl;
                                cout<<"    "<<endl;
           break;
    case 3: break;
           }            
              getch();
              }
              }
kate_miss вне форума Ответить с цитированием
Старый 09.12.2010, 14:28   #2
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

вуаля...

Код:
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
 
struct SOTRUDNIK {
       char Fam[30];
       int Zap;
       };
 
void main() {
    SOTRUDNIK Sotrudnik[100];
    int i,n,sum=0,number,min,m;
	char fam[30];
	char menu[100];
    double sredzap=0;
        {
           cout<<"******************RASCHET ZARABOTNOI PLATI***********************"<<endl;
           cout<<"         "<<endl;
           cout<<"Vvedite kol-vo sotrudnikov: ";
           cin>>n;
           for (i=0;i<n;i++)
		   {
               cout<<"Vvedite familiu  "<<i+1<< "  sotrudnika: ";
               cin>>Sotrudnik[i].Fam;
               cout<<"Vvedite zarabotnyu platy  "<<i+1<<"  sotrudnika: ";
               cin>>Sotrudnik[i].Zap;
			   //возвращать ничего не нужно
              // return Sotrudnik[i];
           }

		   //вывод на экран всех сотрудников после ввода данных
		   for (int i=0; i<n; i++)
			   cout<<i+1<<". "<<Sotrudnik[i].Fam<<" ZP = "<<Sotrudnik[i].Zap<<endl;

               cout<<"         "<<endl;
               cout<<"-----------------------------MENU-----------------------------------"<<endl;
               cout<<"         "<<endl;
               cout<<"NAZHMITE--1--Dlya rascheta sr/zp VSEX sotrudnikov "<<endl;
               cout<<"NAZHMITE--2--Dlya rascheta sr/zp ODNOGO sotrudnika (s min zarplatoi) "<<endl;
               cout<<"NAZHMITE--3--Dlya vixoda iz programmi "<<endl;
           cin>>number;
           
           //**************расчет средней зп сотрудников и сотрудника с мин зп***************
switch(number){
    case 1:   for (i=0;i<n;i++){
              sum+=Sotrudnik[i].Zap;
              sredzap=sum/n;
              }
              cout<<"    "<<endl;
              cout<<"*****  Srednyaya zarplata sredi VSEX sotrudnikov  *****"<<endl;
              cout<<"    "<<endl;
                  cout<<"Srednyaya zarplata= "<<sredzap<<" rublei"<<endl;
				  strcpy(menu,"Srednyaya zarplata sredi VSEX sotrudnikov");
              break;
    case 2: 
		//расчет минимальной зарплаты среди всех сотрудников
		min = Sotrudnik[0].Zap;
		//проверка, если введен 1 сотрудник
		if (n>1)
		{
		for (int i=1;i<n;i++)
			if (Sotrudnik[i].Zap < min)
			{
				min = Sotrudnik[i].Zap;
				strcpy(fam,Sotrudnik[i].Fam);
			}
		} else strcpy(fam,Sotrudnik[0].Fam);
				

                                //cout<<"    "<<endl;
                                //cout<<"*****  Minimal'naya zarplata sredi VSEX sotrudnikov  *****"<<endl;
                                //cout<<"    "<<endl;
                                cout<<"Minimal'naya zp sredi sotrydnikov y : "<<fam<<"-SOSTOVLYAET "<<min<<" rublei"<<endl;
                                cout<<"    "<<endl;
								strcpy(menu,"Minimal'naya zp sredi sotrydnikov");
           break;
    case 3: 
		strcpy(menu,"Exit");
		break;
           }      
//предварительно создай файл на диске С
ofstream file;
file.open("C:\\sotr.txt");
int z=0;
file<<Sotrudnik[z].Fam<<" "<<Sotrudnik[z].Zap<<endl;
		while(z<(n-1))
		{
			z++;
			file<<Sotrudnik[z].Fam<<" "<<Sotrudnik[z].Zap<<endl;
		} file<<menu;
              getch();
              }
              }
JeyKip вне форума Ответить с цитированием
Старый 09.12.2010, 20:57   #3
kate_miss
Пользователь
 
Регистрация: 21.08.2010
Сообщений: 11
Смущение Огромное спасибо!!!

можно не большой вопрос???.....а что выводится в файл...как я поняла Сотрудник+зп....и. операцию которая была выполнена????...а как вывести результат операции)))))))
kate_miss вне форума Ответить с цитированием
Старый 09.12.2010, 21:58   #4
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

file<<"Minimal'naya zp sredi sotrydnikov y : "<<fam<<"-SOSTOVLYAET "<<min<<" rublei"<<endl;

это на 2-й case...а там везде аналогично...выводится все также, как и cout, только загружается в файловый поток...а кроме этого различий нет никаких...
JeyKip вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры masha.dongyz Помощь студентам 2 19.12.2011 20:29
Структуры в С++ Shtripling Помощь студентам 7 27.11.2009 13:56
С++ структуры KOLYTFR Помощь студентам 2 24.05.2009 19:02
Структуры в C++ Wia Помощь студентам 7 18.04.2009 15:51