ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Ошибка при компилирование. |

04.11.2009, 19:55
|
|
Участник форума
Регистрация: 06.06.2006
Сообщений: 163
Провел на форуме: 1025198
Репутация:
11
|
|
Ошибка при компилирование.
Доброго времени суток.
Помогите кто может советом.
Компилирую программу на СИ в Microsoft Visual C++ 2008 Express Edition и выскакивает одна ошибка :
Код:
fatal error C1083: Не удается открыть файл include: iostrim.h: No such file or directory
Возможно я где то накосячил в коде программы из -за того что пришлось писать на Си а учил С++ поэтому мог где-то ошибиться... Помогите исправить если найдёте ошибку...
main.c
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostrim.h>
#include <fstream.h>
#include <iomanip.h>
#include <io.h>
#include "FUNC.h"
char ch, *file;
int err=0, size=0;
extern char *file;
void create();
void main()
{
clrscr();
printf ("Viberite deistvie: \n");
printf ("1. Otkrit' bazu \n");
printf ("2. Sozdat' bazu \n");
printf ("3. Vihod \n");
do ch=getch();
while((ch!='1')&&(ch!='2')&&(ch!='3'));
if (ch=='3') exit(0);
if (ch=='2') create();
if (ch=='1') {
while (err==0){
printf ("Please enter name file: ");
char *name;
FILE *f;
cin>>name;
if ((f=fopen(name,"r"))==NULL){
printf ("File not found! \n");
}
else{
err=1;
file=new char(strlen(name));
strcpy(file,name);
fclose(f);
open(file);
}
}
}
delete file;
}
void create(){
printf ("Vvedite imya novogo faila: ");
char *name;
scanf (name);
printf ("\r\nSozdanie...\r\n");
FILE *f;
if ((f=fopen(name,"w"))==NULL){
printf("Oshibka!!!");
getch();
exit(1);
}
file=new char(strlen(name));
strcpy(file,name);
fclose(f);
open(file);
}
FUNC::FUNC(void)
{
}
FUNC::~FUNC(void)
{
}
FUNC.h
Код:
extern char ch;
extern int size;
int fs=0;
/*const int tab=1;
const int zag=4;
const int tex=7;*/
struct EXCURSION {
char na[30],country[30],tr[30];
int cost,du,id;
} list[300],tmp, fin[300];
void load(char *base);
void save(char *base);
void add(char *base);
void view(char *base);
void edit(char *base);
void delet(char *base);
void find(char *base);
void sort(char *base);
void sort1();
void sort2();
void sort3();
void sort4();
void sort5();
void replace(int);
void open(char *base){
load(base);
clrscr();
printf ("Vibirite deistvie:");
printf ("1. Prosmotr");
printf ("2. Pravka bazi");
printf ("3. Dobavlenie ");
printf ("4. Udalenie zapisi");
printf ("5. Poisk ");
printf ("6. Sortirovka");
printf ("7. Vihod");
do ch=getch();
while((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5')&&(ch!='6')&&(ch!='7'));
switch (ch){
case '1': view(base);break;
case '2': edit(base);break;
case '3': add(base);break;
case '4': delet(base);break;
case '5': find(base);break;
case '6': sort(base);break;
case '7': exit(0); break;
default: exit(0);
}}
void sort(char *base){
clrscr();
printf ("Please select field:\r\n1.Nazvanie 2.Avtor 3.Cena 4.Kolli4estvo na sklade 5.Razdel\n6.Back to menu");
do ch=getch();
while((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5')&&(ch!='6'));
switch (ch){
case '1': sort1();break;
case '2': sort2();break;
case '3': sort3();break;
case '4': sort4();break;
case '5': sort5();break;
case '6': open(base);break;
default: exit(0);}
save(base);
printf ("\r\nSorting...OK! View base");
getch();
open(base);}
void sort1(){
int i,j;
for (i=0; i<size; i++)
for (j=0; j<size; j++)
if (strcmp(list[j].na,list[j+1].na)>0) replace(j);
}
void sort2(){
int i,j;
for (i=0; i<size; i++)
for (j=0; j<size; j++)
if (strcmp(list[j].country,list[j+1].country)>0) replace(j);
}
void sort3(){
int i,j;
for (i=0; i<size; i++)
for (j=0; j<size; j++)
if (list[j].cost<list[j+1].cost) replace(j);}
void sort4(){
int i,j;
for (i=0; i<size; i++)
for (j=0; j<size; j++)
if (list[j].du<list[j+1].du) replace(j);}
void sort5(){
int i,j;
for (i=0; i<size; i++)
for (j=0; j<size; j++)
if (strcmp(list[j].tr,list[j+1].tr)>0) replace(j);}
void replace(int x){
strcpy(tmp.na,list[x].na);
strcpy(tmp.country,list[x].country);
tmp.cost=list[x].cost;
tmp.du=list[x].du;
strcpy(tmp.tr,list[x].tr);//1
strcpy(list[x].na,list[x+1].na);
strcpy(list[x].country,list[x+1].country);
list[x].cost=list[x+1].cost;
list[x].du=list[x+1].du;
strcpy(list[x].tr,list[x+1].tr);//2
strcpy(list[x+1].na,tmp.na);
strcpy(list[x+1].country,tmp.country);
list[x+1].cost=tmp.cost;
list[x+1].du=tmp.du;
strcpy(list[x+1].tr,tmp.tr);//3
strcpy(tmp.na, "");
strcpy(tmp.country, "");
tmp.cost=0;
tmp.du=0;
strcpy(tmp.tr, "");
}
void find(char *base){
clrscr();
printf ("Please enter find record:\r\n");
printf ("Nazvanie: \n"); scanf (tmp.na);
printf ("Avtor: \n"); scanf (tmp.country);
printf ("Cena \n"); scanf (tmp.cost);
printf ("Kolli4estvo na sklade: \n"); cin>>tmp.du;
printf ("Razdel: \n"); scanf (tmp.tr);
char *css;
int t=0;
for (;t<=strlen(tmp.na);t++){
css=strchr (tmp.na,' '); if (css) *(css)='_';}
int j=0,i=0;
for (;j<=size;j++)
if ((strcmp(tmp.na,list[j].na)==0)||(strcmp(tmp.country,list[j].country)==0)||(tmp.cost==list[j].cost)||(tmp.du==list[j].du)||(strcmp(tmp.tr,list[j].tr)==0)){
strcpy(fin[i].na,list[j].na);
strcpy(fin[i].country,list[j].country);
fin[i].cost=list[j].cost;
fin[i].du=list[j].du;
strcpy(fin[i].tr,list[j].tr);
fin[i].id=list[j].id;i++;
}
fs=--i;
strcpy(tmp.na, "");
strcpy(tmp.country, "");
tmp.cost=0;
tmp.du=0;
strcpy(tmp.tr, "");
getch();
int z,l,p=0;clrscr();
printf (" ID ");
printf (" Nazvanie ");
printf (" Avtor ");
printf (" Cena ");
printf (" Kolli4estvo na sklade ");
printf (" Razdel \n");
for(z=0; z<=fs; z++){
printf (fin[z].id " ");
printf (fin[z].na " ");
printf (fin[z].country " ");
printf (fin[z].cost " ");
printf (fin[z].du " ");
printf (fin[z].tr " ");
p++;
if (p==10){
p=0;getch();}}
getch();open(base);}
void delet (char *base){
clrscr();
int i,j;
printf ("ID: ");
scanf (i);
--i;
if (i==size) --size;
else{
for (j=i;j<size;j++){
strcpy(list[j].na,list[j+1].na);
strcpy(list[j].country,list[j+1].country);
list[j].cost=list[j+1].cost;
list[j].du=list[j+1].du;
strcpy(list[j].tr,list[j+1].tr);
}
--size;}
printf ("\r\nDelete record" <<i+1<<"OK!\r\n");
getch();
save(base);
open(base);}
void edit(char *base){
clrscr();
int i;
printf ("ID: "); scanf (i, --i);
printf ("\r\nOLD:\r\n");
printf ("Nazvanie : \n", list[i].na);
printf ("Avtor : \n", list[i].country);
printf ("Cena : \n", list[i].cost);
printf ("Kolli4estvo na sklade : \n", list[i].du);
printf ("Razdel\n", list[i].tr);
printf ("\r\nNEW:\r\n");
printf ("Nazvanie: "); scanf (tmp.na);
printf ("Avtor: "); scanf (tmp.country);
printf ("Cena: "); scanf (tmp.cost);
printf ("Kolli4estvo na sklade: "); scanf (tmp.du);
printf ("Razdel: "); scanf (tmp.tr);
char *css;
int t=0;
for (;t<=strlen(tmp.na);t++){
css=strchr (tmp.na,' '); if (css) *(css)='_';}
strcpy(list[i].na,tmp.na);
strcpy(list[i].country,tmp.country);
list[i].cost=tmp.cost;
list[i].du=tmp.du;
strcpy(list[i].tr,tmp.tr);
strcpy(tmp.na, "");
strcpy(tmp.country, "");
tmp.cost=0;
tmp.du=0;
strcpy(tmp.tr,"");
save(base);
getch();
open(base);}
void view(char *base){
int z,l,p=0;
clrscr();
printf (" ID: ");
printf (" Nazvanie: ");
printf (" Avtor: ");
printf (" Cena: ");
printf (" Kolli4estvo na sklade: ");
printf (" Razdel: ");
for(z=0; z<=size; z++){
printf (list[z].id " ");
printf (list[z].na " ");
printf (list[z].country " ");
printf (list[z].cost " ");
printf (list[z].du " ");
printf (list[z].tr " ");
p++;
if (p==10){
p=0;getch();}}
getch();
open(base);
}
void add(char *base){
clrscr();
FILE *f=fopen(base,"a");
printf ("Nazvanie: "); scanf (tmp.na);
printf ("Avtor: "); scanf (tmp.country);
printf ("Cena: "); scanf (tmp.cost);
printf ("Kolli4estvo na sklade: "); scanf (tmp.du);
printf ("Razdel "); scanf (tmp.tr);
char *css;
int t=0;
for (;t<=strlen(tmp.na);t++){
css=strchr (tmp.na,' '); if (css) *(css)='_';}
size++;
strcpy(list[size].na,tmp.na);
strcpy(list[size].country,tmp.country);
list[size].cost=tmp.cost;
list[size].du=tmp.du;
strcpy(list[size].tr,tmp.tr);
strcpy(tmp.na, "");
strcpy(tmp.country, "");
tmp.cost=0;
tmp.du=0;
strcpy(tmp.tr, "");
fclose(f);
save(base);
open(base);
}
void save(char *base){
int j=0;
FILE *f=fopen(base,"w");
fprintf(f,"%s %s %u %u %s", list[j].na, list[j].country, list[j].cost, list[j].du, list[j].tr);
for (j=1;j<=size;j++)
fprintf(f,"\n%s %s %u %u %s", list[j].na, list[j].country, list[j].cost, list[j].du, list[j].tr);
fclose(f);
}
void load(char *base){
int j=0;
FILE *f=fopen(base,"r");
while(!feof(f)){
fscanf(f,"%s %s %u %u %s", &tmp.na , &tmp.country, &tmp.cost, &tmp.du, &tmp.tr);
if (strcmp(tmp.na,"")!=0){
strcpy(list[j].na,tmp.na);
strcpy(list[j].country,tmp.country);
list[j].cost=tmp.cost;
list[j].du=tmp.du;
strcpy(list[j].tr,tmp.tr);
list[j].id=j+1;
j++;}
strcpy(tmp.na, "");
strcpy(tmp.country, "");
tmp.cost=0;
tmp.du=0;
strcpy(tmp.tr, "");}
size=--j;
fclose(f);}
За помощь заранее благодарен за помощь....
|
|
|

04.11.2009, 21:24
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
#include <iostream.h>
|
|
|

04.11.2009, 22:27
|
|
Участник форума
Регистрация: 06.06.2006
Сообщений: 163
Провел на форуме: 1025198
Репутация:
11
|
|
Всё равно ошибка теперь уже
Код:
fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory
|
|
|

04.11.2009, 23:05
|
|
Новичок
Регистрация: 03.11.2009
Сообщений: 13
Провел на форуме: 64416
Репутация:
0
|
|
#include <iostream>
и после инклудов:
using namespace std;
|
|
|

04.11.2009, 23:08
|
|
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме: 4205500
Репутация:
930
|
|
Сообщение от hamsin
using namespace std;
эмм...зачем?
|
|
|

04.11.2009, 23:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
а зачем тут потоки?)
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

05.11.2009, 01:09
|
|
Участник форума
Регистрация: 06.06.2006
Сообщений: 163
Провел на форуме: 1025198
Репутация:
11
|
|
hamsin
using namespace std; тут не подойдёт это Си
desTiny
В каком смысле? это что то типа базы данных.
|
|
|

05.11.2009, 01:32
|
|
Новичок
Регистрация: 03.11.2009
Сообщений: 13
Провел на форуме: 64416
Репутация:
0
|
|
в том, что где ты хоть одну функция вызываешь с iostream?
И нет в 2008 студии файла "iostream.h". Есть только "iostream" и юзать функции с неё можно двумя способами:
1. применив глобально using namespace std;
2. использовав локально, например std::cout<< bla-bla;
|
|
|

05.11.2009, 02:04
|
|
Участник форума
Регистрация: 06.06.2006
Сообщений: 163
Провел на форуме: 1025198
Репутация:
11
|
|
hamsin
А вы уверены что в языке СИ вообще используется using namespace std; ?
|
|
|

05.11.2009, 02:08
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
епрс, если у тебя на си написано зачем хэдэр плюсов подключать?
апд. посмотрел на этот говнокод ...
зачем мешать средства си и с++?
Последний раз редактировалось razb; 05.11.2009 в 02:19..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|