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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Freezy
1 / 1 / 1
Регистрация: 12.10.2010
Сообщений: 6
#1

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

02.05.2011, 21:53. Просмотров 309. Ответов 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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 21:53     Работа с структурами и файлами
Посмотрите здесь:

Работа со структурами(файлами) - C++
Помогите написать прогу с помощью библиотеке iostream Цедь работы: ознакомление и приобретение навыков использования средств ...

Работа с файлами и структурами - C++
Разработать программу на С++, позволяющую: 1. Добавлять данные структуры с указанными полями в файл 2. Просматривать структуры из файла...

Работа с файлами и структурами - C++
Всем добрый день! Помогите, пожалуйста, с задачей. Условие: считать с файла и составить массив структур для описания собак с полями:...

Работа с файлами и структурами. - C++
Помогите плз с программой,3 часа просидел и не хрена не получилось: Поля записи: код животного, название, количество еды в день (кг)....

Работа со структурами и файлами - C++
Помогите найти ошибку. Задание: Читая данные из файла и используя массив структур решить следующую задачу. В справочной аэропорта...

Работа с файлами и структурами - C++
Текст: Создайте файл, содержащий сведения о личной коллекции книголюба: шифр книги, автор, название, год издания, местоположение ...

Работа с бинарными файлами и структурами - C++
Всем привет. Да, есть похожие темы, но я ответа не нашел. В общем, у меня есть *.h файл в нем находиться класс #ifndef LOADING_H ...

Работа с файлами и структурами. Найти среднее количество жителей для стран на заданном континенте - C++
Поля записи: страна, кол-во жителей, континент. Операция: найти среднее количество жителей для стран на заданном континенте.

Работа с файлами и структурами. Создать "меню" - C++
!!! Пишу в Microsoft Visual Studio -&gt;Win32 Console application -&gt;C++. !!! Условие: Создайте записную...

сложность со структурами и файлами - C++
задание было такое: список муз.дисков: номер, название, кол-во песен, время проигрывания, цена. Распечатать данные про диски, в которых не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru