Форум программистов, компьютерный форум CyberForum.ru

Работа с структурами и файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стэки http://www.cyberforum.ru/cpp-beginners/thread287451.html
Помогите пожалуйста Как найти максимальный элемент стэка Задание:найти макс эл-т стэка и поменять его местами с первым элементом стэка Поменять местами у меня получилось макс. элемент с первым, только находит прога макс элемент неправильно #include <iostream.h> #include<conio.h> struct node { float num;
C++ Побитовые операции помогите пожалуйста ...объясните почему не получается!!! я готов раздолбать комп!)) смысл такой : открываю текстовый документ и беру из него по 1 символу и кодирую каждый ... кодирую ,отправляя символ в функцию.. мой первый символ - D1 (ASCII); http://www.cyberforum.ru/cpp-beginners/thread287445.html
программа C++
Для получения результата составить функцию, исходными данными которой являются два массива Х1, Х2,...,Хn и Y1, Y2,..., Yn с заданным числом n элементов (или один из них) или матрица A из n строк и n столбцов. Кроме этого, разработать программу для отладки составленной функции. Общее количество отрицательных элементов на главной диагонали и на двух соседних с ней (сверху и снизу) диагоналях...
C++ Условие
подскажите пожалуйста как можно сделать условие: если одно из нескольких равно N, то ......
C++ Как странспонировать одномерный массив http://www.cyberforum.ru/cpp-beginners/thread287427.html
Как странспонировать одномерный массив то есть массив x в нём есть числа 1 2 мне нужно транспонировать массив чтобы получилось 1 2 то есть столбец их этих чисел
C++ Выбор различных дат из файла Необходима помощь. Дан файл f, содержащий различные даты.Каждая дата-это число, месяц, год.Найти: а)Год с наименьшим номером. б)Все весенние даты. в)Все осенние даты. г)Самую позднюю дату. подробнее

Показать сообщение отдельно
Freezy
1 / 1 / 1
Регистрация: 12.10.2010
Сообщений: 6

Работа с структурами и файлами - C++

02.05.2011, 21:53. Просмотров 305. Ответов 0
Метки (Все метки)

Условие задачи:
Создать структру "работники фирмы" с полями "имя" "фамилия" "отчество" "оклад" "стаж" и записать её в файл.
Вывести список "работодателей" :
1)Стаж которых больше 10 лет и оклад меньше 180
2)Фамилия которых начинается на гласную букву
3)Вывести информацыю "работодателя" методом поиска


Проблема с выводом всего этого!Помогите пожалуста,но просьба не усложнять мой код если возможно!
Код
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
struct rob
	{char sname[30];
	 char name[20];
	 char pname[20];
	 int oklad;
	 int stag;
	 float suma;};
struct rob mas_rob;int i,k,key,n=0;
FILE *list;
void main()
{clrscr();
if ((list=fopen("T:\\list.txt","r+"))==NULL)
	{printf("File not found!\n");
	printf("Creating new file...");
	delay(2000);
	list=fopen("T:\\list.txt","w+");
	printf("File created succesfully!");
	getch();}
m:clrscr();
printf("1)Stag bilshiy za 10 rokiv ta oklad menshe 180\n");
printf("2)Prizvisha na golosnu pochinayutsya\n");
printf("3)Dodatu prazivnuka\n");
printf("4)Pokazatu prazivnuka\n");
printf("5)Vuxid\n\n");
scanf("%d",&key);
switch(key)

{case 1:{list=fopen("T:\\list.txt","r");rewind(list);
	fseek(list,SEEK_SET,1);
	fread(&mas_rob,sizeof(struct rob),1,list);
	if ((mas_rob.stag>10)&&(mas_rob.oklad<180))
	{printf("Prizvische: %s\n",mas_rob.sname);
	printf("Imya: %s\n",mas_rob.name);
	printf("Pobatkovi: %s\n",mas_rob.pname);
	printf("Oklad: %d\n",mas_rob.oklad);
	printf("Stagh: %d\n",mas_rob.stag);
	printf("Summa do vuplatu: %0.2f\n",mas_rob.suma);
	printf("\n");}
	else {printf("Noone found!\n");}
	getch();fclose(list);
	goto m;}

case 2:{list=fopen("T:\\list.txt","r");rewind(list);
	fseek(list,SEEK_SET,1);
	fread(&mas_rob,sizeof(struct rob),1,list);
	if ((mas_rob.sname[0]=='A')||(mas_rob.sname[0]=='E')||
	(mas_rob.sname[0]=='Y')||(mas_rob.sname[0]=='U')||
	(mas_rob.sname[0]=='I')||(mas_rob.sname[0]=='O'))
	{printf("Prizvische: %s\n",mas_rob.sname);
	printf("Imya: %s\n",mas_rob.name);
	printf("Pobatkovi: %s\n",mas_rob.pname);
	printf("Oklad: %d\n",mas_rob.oklad);
	printf("Stagh: %d\n",mas_rob.stag);
	printf("Summa do vuplatu: %0.2f\n",mas_rob.suma);
	printf("\n");}
	else {printf("Noone found!\n");}
	getch();fclose(list);
	goto m;}

case 3:{m2:list=fopen("T:\\list.txt","r+");rewind(list);
	while(!(feof(list)))
	{fread(&mas_rob,sizeof(struct rob),1,list);
	i++;}
	clrscr();
	printf("Prizvusche: ");scanf("%s",&mas_rob.sname);
	printf("Imya: ");scanf("%s",&mas_rob.name);
	printf("Pobatkovi: ");scanf("%s",&mas_rob.pname);
	printf("Oklad: ");scanf("%d",&mas_rob.oklad);
	printf("Stagh: ");scanf("%d",&mas_rob.stag);
	printf("\n\r");
	mas_rob.suma=mas_rob.oklad+mas_rob.oklad/100*5;
	fseek(list,sizeof(struct rob),0);
	fwrite(&mas_rob,sizeof(struct rob),1,list);
	printf("Dodatu sche?");char ch;ch=getch();
	if (ch=='y') {goto m2;}
	getch();fclose(list);
	goto m;}

case 4:{list=fopen("T:\\list.txt","r");rewind(list);char pr[20];
	printf("Vvedit Prizvishe\n");scanf("%s",&pr);
	fseek(list,SEEK_SET,1);
	fread(&mas_rob,sizeof(struct rob),1,list);
	if (mas_rob.sname==pr)
	{clrscr();
	printf("\n%15s%15s%15s\n",mas_rob.sname,mas_rob.name,mas_rob.pname);
	printf("\n%d %d\n",mas_rob.oklad,mas_rob.stag);}
        else {printf("Noone found!\n");}
	getch();
	fclose(list);
	goto m;}

case 5:{goto e;}}

e:getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru