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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.01.2009, 19:33   #1
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию Помогите пожалуйста библиотека #include <fstream.h> в программе не работает(((

При запуске программы возникает ошибка fatal error C1083: Cannot open include file: 'fstream.h': No such file or directory
Что это значит и как устранить?
bunya вне форума
Старый 11.01.2009, 19:54   #2
Mikola-TEAM
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 34
По умолчанию

Не может твоя среда разроботки найти заголовочный файл fstream.h
И поэтому не удаётся тебе скомпилировать программу.

Попробуй написать просто
Код:
#include <iostream>
#include <fstream>

using namespace std;

main ()
{
   ifstream infile("in.txt");       //имя файла, который вводим
   ofstream outfile("out.txt"); //имя файла в который выводим
   int i=0;
   while (i <= 100)                 //выведим в файл числа от 0 до 100 в столбец
   {
      outfile << i << endl;
      i++;
   }

   char j[10];
   for (i=0; i<10; i++)             //введём из файла первые 10 символов и выведим их на экран
   {
      infile >> j[i];
      cout << j[i];
   }

   cout << endl;
   system("pause");
   return 0;
}

Последний раз редактировалось Mikola-TEAM; 11.01.2009 в 20:06.
Mikola-TEAM вне форума
Старый 11.01.2009, 20:07   #3
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

не получается все равно((((
bunya вне форума
Старый 11.01.2009, 20:16   #4
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

В общем вот моя программа
Код:
#include <stdio.h>
#include <io.h>
#include <sys/stat.h>
#include <conio.h>
#include <windows.h>
#include <fstream.h>
#include <string.h>
#include <process.h>
#define kollichestvo 10

void prez();
//Функция очистки экрана
void clear_screen()
{
 HANDLE hConsole;
 CONSOLE_SCREEN_BUFFER_INFO csInfo;
 DWORD dummy;
 COORD Home={0,0};
 hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
 GetConsoleScreenBufferInfo(hConsole, &csInfo);
 FillConsoleOutputCharacter(hConsole,' ',csInfo.dwSize.X*csInfo.dwSize.Y,Home,&dummy);
 SetConsoleCursorPosition(hConsole,Home);
  printf("\n gr.07SI Snadina A.V 56 \n");
 printf(" AVTO \n");
}
typedef struct avto 
               {
				char marka[10]; 
				float obem_baka;
				float rashod;
				float probeg;
				}fg;
avto *vse;
int cnt_vse=0;

//Просмотр записей
void prosmotr()
{
int i;
clear_screen();
printf("\n numer \t marka \t obem_baka \t rashod \t probeg");
for (i=0;i<(cnt_vse);i++)
printf("\n %d \t %s \t %f \t %f \t %f \n",i+1,vse[i].marka,vse[i].obem_baka,vse[i].rashod,vse[i].probeg);
}
//Добавление записей
void dobav()
{
clear_screen();
printf("\n vvedi marku: ");
scanf("%s",&vse[cnt_vse].marka);
printf("\n vvedy obem_baka: ");
scanf("%f",&vse[cnt_vse].obem_baka);
printf("\n vvedi rashod: ");
scanf("%f",&vse[cnt_vse].rashod);
vse[cnt_vse].probeg=(vse[cnt_vse].obem_baka)-(vse[cnt_vse].obem_baka)*(vse[cnt_vse].rashod)/100;
printf("\n \n");
cnt_vse++;
}
//Функция редактирования
int update()

{
 short int whoupdate;
 printf("\nSeichas v biblioteke %d zapisei.\nVvedite nomer zapisi, kotoryy nado otredaktirovat.\n",cnt_vse);
 scanf("%d",&whoupdate);
 if ( (whoupdate>cnt_vse) || (cnt_vse==0) ) 
 {
  printf("Etoi knigi ne sychestvyet!");
  getch();
 }
   else
   {
	printf("\nTekyshaa zapis:\n");
	for (int i=whoupdate;i<(whoupdate+1);i++)
	{
     printf("\n marka: %s \n",vse[i-1].marka); 
     printf("obem_baka: %f \n",vse[i-1].obem_baka);
     printf("rashod: %f \n",vse[i-1].rashod);
     printf("probeg: %f \n\n",vse[i-1].probeg);
	}
	printf("\n\nVvedite novyy zapis:\n");
	for (i=whoupdate;i<(whoupdate+1);i++)
	{
	 printf("\nVvesti marka: ");
	 scanf("%s",&vse[i-1].marka); 
	 printf("Vvesti obem_baka: ");
	 scanf("%f",&vse[i-1].obem_baka);
	 printf("Vvesti rashod: ");
	 scanf("%f",&vse[i-1].rashod);
  	 vse[i-1].probeg=(vse[i-1].obem_baka)-(vse[i-1].obem_baka)*(vse[i-1].rashod)/100;
	 printf("\n");
	}
   }
   return 0;
}
//Удаление записи
void udal()
{
int i,m;
clear_screen();
printf("vvedi nomer udalyzemoi zapisi: ");
scanf("%d",& m);
if (m>cnt_vse)
	{
	  return;
	}
for(i=m-1;i<cnt_vse;i++)
	{
	  vse[i]=vse[i+1];
	}
cnt_vse--;
}
//Удаление всех записей
void fatal_delete()
{
delete [] vse;
avto *vse;
cnt_vse=0;
vse=new avto[kollichestvo];
}

//Функция вывода по объему бака
void vyvod_po_obem_baka()
{
clear_screen();
float cs;
printf("\n\nVvesti obem_baka: ");
scanf("%f",&cs);
clear_screen();
printf("OTBOR PO obem_baka =  %f",cs);
for (int i=0;i<cnt_vse;i++) 
	{
	   if (vse[i].obem_baka==cs)
	   { 
		 printf("\n %d \t %s \t %f \t %f \t %f \n",i+1,vse[i]. marka,vse[i].obem_baka,vse[i].rashod,vse[i].probeg);
	   }
	}
printf("\n\nNasmite lubuy klavishy");
}

//Функция вывода по марке
void vyvod_po_marka()
{
clear_screen();
char cs[10];
int k;
printf("\n\nVvesti marka: ");
scanf("%s",&cs);
clear_screen();
printf("OTBOR PO marka =  %s",cs);
{  for (int i=0;i<cnt_vse;i++) {
	k=strncmp(vse[i].marka,cs,10);
	   if (k==0){ printf("\n %d \t %s \t %f \t %f \t %f \n",i+1,vse[i].marka,vse[i].obem_baka,vse[i].rashod,vse[i].probeg);}}}
printf("\n\nNasmite lubuy klavishy");
}
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 12.01.2009 в 20:21.
bunya вне форума
Старый 11.01.2009, 20:17   #5
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

продолжение
Код:
//Функция вывода по расходу
void vyvod_po_rashod()
{
clear_screen();
float cs;
printf("\n\nVvesti rashod: ");
scanf("%f",&cs);
clear_screen();
printf("OTBOR PO rashod =  %f",cs);
for (int i=0;i<cnt_vse;i++) 
	{
	   if (vse[i].rashod==cs)
		{ 
		   printf("\n %d \t %s \t %f \t %f \t %f \n",i+1,vse[i]. marka,vse[i].obem_baka,vse[i].rashod,vse[i].probeg);
		}
	}
printf("\n\nNasmite lubuy klavishy");
}

//Функция вывода по пробегу
void vyvod_po_probeg()
{
clear_screen();
float cs;
printf("\n\n Vvesti probeg: ");
scanf("%f",&cs);
clear_screen();
printf("OTBOR PO probegu =  %f",cs);
for (int i=0;i<cnt_vse;i++) 
	{
	  if (vse[i].probeg==cs)
		{ 
		  printf("\n %d \t %s \t %f \t %f \t %f \n",i+1,vse[i]. marka,vse[i].obem_baka,vse[i].rashod,vse[i].probeg);
		}
	}
printf("\n\nNasmite lubuy klavishy");
}



//ЗАПИСЬ В ФАЙЛ
int filezap()
{
clear_screen();
fstream f;
f.open ("file.txt",ios::out|ios::trunc);
if (!f) //Ошибка?
	{ 
	   cerr<<endl<<"Error";
	    return 1;
	}
for(int i=0;i<cnt_vse;i++)
	{
	   f<<vse[i].obem_baka<<"\t"<<vse[i].rashod<<"\t"<<vse[i].probeg<<"\t"<<vse[i].marka<<endl;
	}
f.close();
 return 0;
}

//ЧТЕНИЕ ИЗ ФАЙЛА
void filechten()
{
int i=0;
ifstream ifs("file.txt");  
cnt_vse=0; 
while(!ifs.eof())
	{  
ifs >> vse[cnt_vse].obem_baka >> vse[cnt_vse].rashod >> vse[cnt_vse].probeg >>vse[cnt_vse].marka;   
cnt_vse++;   
	}
cnt_vse--;
ifs.close();
}

//СОРТИРОВКА по объему бака
void sort_po_obem_baka()
{
int i,j;
float t=0;
char iz[10];
float sk;
float sk_c;
for(i=0;i<(cnt_vse);i++)
	{
	  for(j=(cnt_vse-2);j>=i;j--)
		{
		  if (vse[j].obem_baka>vse[j+1].obem_baka)
			{
			  t=vse[j].obem_baka;
			  strcpy(iz,vse[j].marka); 
			  sk=vse[j].rashod;
			  sk_c=vse[j].probeg;

			  vse[j].obem_baka=vse[j+1].obem_baka;
			  strcpy(vse[j].marka,vse[j+1].marka); 
			  vse[j].rashod=vse[j+1].rashod;
			  vse[j].probeg=vse[j+1].probeg;
									
			  vse[j+1].obem_baka=t;
			  strcpy(vse[j+1].marka,iz); 
			  vse[j+1].rashod=sk;
			  vse[j+1].probeg=sk_c;
			} 
						
		}
	}
}


//СОРТИРОВКА по расходу
void sort_po_rashod()
{
int i,j;
float t;
char iz[10];
float sk;
float sk_c;
for(i=0;i<(cnt_vse);i++)
	{
	  for(j=(cnt_vse-2);j>=i;j--)
		{
		  if (vse[j].rashod>vse[j+1].rashod)
			{
			  t=vse[j].obem_baka;
			  strcpy(iz,vse[j].marka); 
			  sk=vse[j].rashod;
			  sk_c=vse[j].probeg;

			  vse[j].obem_baka=vse[j+1].obem_baka;
			  strcpy(vse[j].marka,vse[j+1].marka); 
			  vse[j].rashod=vse[j+1].rashod;
			  vse[j].probeg=vse[j+1].probeg;
									
			  vse[j+1].obem_baka=t;
			  strcpy(vse[j+1].marka,iz); 
			  vse[j+1].rashod=sk;
			  vse[j+1].probeg=sk_c;	
			} 
		}
	}
}

//СОРТИРОВКА по пробегу
void sort_po_probeg()
{
int i,j;
float t;
char iz[10];
float sk;
float sk_c;
for(i=0;i<(cnt_vse);i++)
	{
	  for(j=(cnt_vse-2);j>=i;j--)
		{
		  if (vse[j].probeg>vse[j+1].probeg)
			{
			  t=vse[j].obem_baka;
			  strcpy(iz,vse[j].marka); 
			  sk=vse[j].rashod;
			  sk_c=vse[j].probeg;

			  vse[j].obem_baka=vse[j+1].obem_baka;
			  strcpy(vse[j].marka,vse[j+1].marka); 
			  vse[j].rashod=vse[j+1].rashod;
			  vse[j].probeg=vse[j+1].probeg;
									
			  vse[j+1].obem_baka=t;
			  strcpy(vse[j+1].marka,iz); 
			  vse[j+1].rashod=sk;
			  vse[j+1].probeg=sk_c;
			} 					
		}
	}
}

//СОРТИРОВКА по марке
void sort_po_marka()
{
int i,j,k;
float t;
char iz[10];
float sk;
float sk_c;
for(i=0;i<=(cnt_vse+2);i++)
	{
	  for(j=0;j<=(cnt_vse-i);j++)
		{
		  k=strcmp(vse[j].marka,vse[j+1].marka);
		  if (k>0)
			{

Последний раз редактировалось MaTBeu; 12.01.2009 в 20:22.
bunya вне форума
Старый 11.01.2009, 20:17   #6
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

и еще продолжение
Код:
 t=vse[j].obem_baka;
			  strcpy(iz,vse[j].marka); 
			  sk=vse[j].rashod;
			  sk_c=vse[j].probeg;

			  vse[j].obem_baka=vse[j+1].obem_baka;
			  strcpy(vse[j].marka,vse[j+1].marka); 
			  vse[j].rashod=vse[j+1].rashod;
			  vse[j].probeg=vse[j+1].probeg;
									
			  vse[j+1].obem_baka=t;
			  strcpy(vse[j+1].marka,iz); 
			  vse[j+1].rashod=sk;
			  vse[j+1].probeg=sk_c;		
			} 				
		}
	}	
}




//Меню вывода элементов по атрибутам
void vivod_po_atributu()
{
clear_screen();
int n;
while(1)
	{
	  printf("\n po marke    -1");
	  printf("\n po obemu    -2");
	  printf("\n po rashodu  -3");
	  printf("\n po probegu  -4");
	  printf("\n vihod       -0 \n");
	  scanf("%d",&n);
	  clear_screen();
	  switch (n)
	  {
		case 0: return;
		case 1: vyvod_po_marka(); break;
		case 2: vyvod_po_obem_baka(); break;
		case 3: vyvod_po_rashod(); break;
		case 4: vyvod_po_probeg();break;
		default: printf("\n Nazhata ne ta klavisha!!!");
	  }
	}
}

//Меню сортировки данных
void sortirovka()
{
clear_screen();
int n;
while(1)
	{	
	  printf("\n po marke    -1");
	  printf("\n po obemu    -2");
	  printf("\n po rashodu  -3");
	  printf("\n po probegu  -4");
	  printf("\n vihod       -0 \n"); 
	  scanf("%d",&n);
	  clear_screen();
	  switch (n)
	  {
		case 0: return;
		case 1: sort_po_marka();prosmotr(); break;
		case 2: sort_po_obem_baka();prosmotr(); break;
		case 3: sort_po_rashod();prosmotr(); break;
		case 4: sort_po_probeg();prosmotr(); break;
		default: printf("\n Nazhata ne ta klavisha!!!");
	  }
	}
}

//Меню работы с файлами
void filework()
{
//clear_screen();
int n;
while(1)
	{	
	  printf("\n chtenie -1");
	  printf("\n zapis   -2");
	  printf("\n vihod   -0 \n");
	  scanf("%d",&n);
	  clear_screen();
	  switch (n)
	  {
		case 0: return;
		case 1: filechten();prosmotr(); break;
		case 2: filezap(); break;
		default: printf("\n Nazhata ne ta klavisha!!!");
	  }
	}
}


//Главное меню
void menu()
{
int n;
while(1)
	{	
	  printf("\n faily     -1");
	  printf("\n dobavl    -2");
	  printf("\n udal      -3");
	  printf("\n v_po_atr  -4");
	  printf("\n sort      -5");
	  printf("\n ud_vse    -6");
	  printf("\n prosm     -7");
	  printf("\n red       -8");
	  printf("\n vihod     -0 \n");
	  scanf("%d",&n);
	clear_screen();
	  switch (n)
	  {
	  case 0: return;
		case 1: filework();break;
		case 2: dobav();prosmotr();break;
		case 3: udal();prosmotr();break;
		case 4: vivod_po_atributu();prosmotr(); break;
		case 5: sortirovka();prosmotr(); break;
		case 6:fatal_delete();break;
		case 7:prosmotr();break;
		case 8:update();break;
		default: printf("\n Nazhata ne ta klavisha!!!");
	  }
	}
}

//Основная программа
void main()
{
vse=new avto[kollichestvo];
prosmotr();
menu();

}

Последний раз редактировалось MaTBeu; 12.01.2009 в 20:21.
bunya вне форума
Старый 11.01.2009, 20:20   #7
Mikola-TEAM
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 34
По умолчанию

Ого-го. Щас гляну, работает ли у меня
Mikola-TEAM вне форума
Старый 11.01.2009, 20:24   #8
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

среда Microsoft Visual C++ 2008 Express Edition 9.0
bunya вне форума
Старый 11.01.2009, 20:35   #9
Mikola-TEAM
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 34
По умолчанию

Короче, в функции
Код:
//ЗАПИСЬ В ФАЙЛ
int filezap()
{
clear_screen();
fstream f;
f.open ("file.txt",ios:ut|ios::trunc);
if (!f) //Ошибка?
{
cerr<<endl<<"Error";
return 1;
}
for(int i=0;i<cnt_vse;i++)
{
f<<vse[i].obem_baka<<"\t"<<vse[i].rashod<<"\t"<<vse[i].probeg<<"\t"<<vse[i].marka<<endl;
}
f.close();
return 0;
}
Меняем на
Код:
//ЗАПИСЬ В ФАЙЛ
int filezap()
{
clear_screen();
ofstream f("file.txt");
if (!f) //Ошибка?
{
cerr<<endl<<"Error";
return 1;
}
for(int i=0;i<cnt_vse;i++)
{
f<<vse[i].obem_baka<<"\t"<<vse[i].rashod<<"\t"<<vse[i].probeg<<"\t"<<vse[i].marka<<endl;
}
f.close();
return 0;
}
И всё работает
Mikola-TEAM вне форума
Старый 11.01.2009, 20:47   #10
bunya
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 19
По умолчанию

Не помогает, одна и таже ошибка
bunya вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться как это работает! Пожалуйста Romens Паскаль, Turbo Pascal, PascalABC.NET 1 08.12.2008 22:16
пожалуйста помогите решить задачу в программе Excel @Diman@ Microsoft Office Excel 3 19.11.2008 22:43
Помогите пожалуйста в программе нужна срочно! Алена Помощь студентам 1 20.11.2007 21:05