Chrek625
04.11.2009, 19:55
Доброго времени суток.
Помогите кто может советом.
Компилирую программу на СИ в 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);}
За помощь заранее благодарен за помощь....
Помогите кто может советом.
Компилирую программу на СИ в 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);}
За помощь заранее благодарен за помощь....