Вопрос C++

Тема в разделе "C, C++", создана пользователем SiTrak, 26 мар 2018.

Метки:
  1. SiTrak

    SiTrak Постоянный участник

    Регистрация:
    14 янв 2018
    Сообщения:
    88
    Симпатии:
    129
    Помогите, не компилирует

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "cyr_io.h"
    void add(void)
    {
            FILE    *File;
            char myfile[50];
            short   Iter=0;
            short   Temp=0;
            short   CoordX=0;
            short CoordY=0;
            short   SumObj=0; //Коллличество объектов уже записанных в файле
            short NPoint=0; // Количество точек в метрике объекта
    // Открываем файл на чтение, чтобы проверить его на наличие и количество записаных объектов
            rprintf("Введите имя файла\n");
            gets(myfile);
            if((File=fopen(myfile,"rb"))!=NULL)
            {
                while(!feof(File))
                {
                    fread(&Temp,sizeof(short),1,File);
                    if(Temp=='\n')  SumObj++;
                }
                SumObj--;
                fclose(File);
            }
            if(SumObj==0)
            {
                File=fopen(myfile,"wb");
            }
            else
            {
                File=fopen(myfile,"ab");
            }
            SumObj++;
            fwrite(&SumObj,sizeof(short),1,File);
        rprintf("Введите количество точек в метрике объекта:");
        scanf("%d",&NPoint);
            fwrite(&NPoint,sizeof(short),1,File);
            for(Iter=0;Iter<NPoint;++Iter)
            {
                rprintf("Введите X координат объекта:");
                scanf("%d",&CoordX);
                rprintf("Введите Y координату объекта:");
                scanf("%d",&CoordY);
                fwrite(&CoordX,sizeof(short),1,File);
                fwrite(&CoordY,sizeof(short),1,File);
            }
            Temp='\n';
            fwrite(&Temp,sizeof(short),1,File);
            fclose(File);
        getchar();
    }
    void view(void)
    {
        FILE    *File;
        short   NPoint=0;//Количество точек в метрике объекта
        char myfile[50];
        short   NObj=0;// № объекта
        short   SumObj=0;// Количество объектов уже записаных в файе
        short   Iter=0;
        short   Temp=0;
    // Открываем файл на чтение, чтобы проверить его наличие и количество записаных объектов
            rprintf("Введите имя файла\n");
            gets(myfile);
        if((File=fopen(myfile,"rb"))!=NULL)
        {
            while(!feof(File))
            {
                fread(&Temp,sizeof(short),1,File);
                if(Temp=='\n')  SumObj++;
            }
            SumObj--;
            fclose(File);
        }
        else
        {
            rprintf("Файл с метриками отсутствует !");
            return;
        }
        do
        {
            rprintf("Введите номер объекта:");
            scanf("%d", &NObj);
        }   while(NObj<1 || NObj>SumObj);
        File=fopen(myfile,"rb");
        while(!feof(File))
        {
            fread(&Temp,sizeof(short),1,File);
            if(Temp==NObj)
            {
                fread(&NPoint,sizeof(short),1,File);
                for(Iter=0;Iter<NPoint;++Iter)
                {
                    fread(&Temp,sizeof(short),1,File);
                    rprintf("Координата X: %2d, ",Temp);
                    //CoordObj1[0][Iter]=Temp;
                    fread(&Temp,sizeof(short),1,File);
                    rprintf("Координата Y: %2d\n, ",Temp);
                    //CoordObg1[1]=Temp;
                }
            }
            do
            {
                fread(&Temp,sizeof(short),1,File);
            } while(Temp !='\n');
        }
        fclose(File);
    }
    int menu_select(void)
    {
        char str[2],pos;
        printf("\n");
        rprintf("1. Добавить объект в картограф.\t");
        rprintf("2. Вывести метрику объекта.\t");
        rprintf("3. Выход");
        do
        {
            rprintf("\n Введите номер нужного пункта:");
            gets(str);
            pos=atoi(str);
        } while(pos<0 || pos>3);
        return pos;
    }
    void main(void)
    {
        char select;
        system("cls");
        for(;;)
        {
            select=menu_select();
            switch(select)
            {
            case 1: add(); break;
            case 2: view(); break;
            case 3: exit(0); break;
            default: break;
            }
        }
    }
     
  2. Esoterik

    Esoterik Активный участник

    Регистрация:
    8 мар 2017
    Сообщения:
    33
    Симпатии:
    21
    Ошибки в студию
     
  3. D3.Pheonix

    D3.Pheonix неактив
    Проверенный

    Регистрация:
    21 мар 2013
    Сообщения:
    921
    Симпатии:
    478
    НА хер тебе это надо, если ты не понимаешь то что там написано
     
  4. Esoterik

    Esoterik Активный участник

    Регистрация:
    8 мар 2017
    Сообщения:
    33
    Симпатии:
    21
    Это мне было адресовано?
     
  5. SiTrak

    SiTrak Постоянный участник

    Регистрация:
    14 янв 2018
    Сообщения:
    88
    Симпатии:
    129
    Не
     
  6. Dark_Knight

    Dark_Knight Glory to mankind
    Друг

    Регистрация:
    18 мар 2013
    Сообщения:
    3.338
    Симпатии:
    1.640
    Не умеешь срать - не мучай жопу и прочисти её клизмой.
     
  7. SiTrak

    SiTrak Постоянный участник

    Регистрация:
    14 янв 2018
    Сообщения:
    88
    Симпатии:
    129
    Топчег, спасибо за совет!
     
    Mastir228 нравится это.