Ошибка при компилирование.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Chrek625, 4 Nov 2009.

  1. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Доброго времени суток.
    Помогите кто может советом.
    Компилирую программу на СИ в Microsoft Visual C++ 2008 Express Edition и выскакивает одна ошибка :

    Code:
    fatal error C1083: Не удается открыть файл include: iostrim.h: No such file or directory

    Возможно я где то накосячил в коде программы из -за того что пришлось писать на Си а учил С++ поэтому мог где-то ошибиться... Помогите исправить если найдёте ошибку...

    main.c
    Code:
    #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

    Code:
    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);}

    За помощь заранее благодарен за помощь....
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    #include <iostream.h>
     
  3. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Всё равно ошибка теперь уже

    Code:
    fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory
     
  4. hamsin

    hamsin New Member

    Joined:
    3 Nov 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    #include <iostream>

    и после инклудов:
    using namespace std;
     
  5. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    эмм...зачем?
     
  6. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    а зачем тут потоки?)
     
  7. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    hamsin
    using namespace std; тут не подойдёт это Си
    desTiny
    В каком смысле? это что то типа базы данных.
     
  8. hamsin

    hamsin New Member

    Joined:
    3 Nov 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    в том, что где ты хоть одну функция вызываешь с iostream?

    И нет в 2008 студии файла "iostream.h". Есть только "iostream" и юзать функции с неё можно двумя способами:
    1. применив глобально using namespace std;
    2. использовав локально, например std::cout<< bla-bla;
     
  9. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    hamsin
    А вы уверены что в языке СИ вообще используется using namespace std; ?
     
  10. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    епрс, если у тебя на си написано зачем хэдэр плюсов подключать?

    апд. посмотрел на этот говнокод ...
    зачем мешать средства си и с++?
     
    #10 razb, 5 Nov 2009
    Last edited: 5 Nov 2009
  11. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Дело в том что я Пишу на С++ и по мог перепутать подскажите как сделать чтобы работало или укажите на ошибки в коде...
     
  12. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    во общем кто может помочь пишите в аську 355 949 762 или в личку там и договоримся обо всё... и о вознаграждение за помощь...
     
    #12 Chrek625, 5 Nov 2009
    Last edited: 5 Nov 2009
  13. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Что неужели всем тяжело помочь???