Неустранимая ошибка c1075 c

could someone also tell me if the actions i am attempting to do which are stated in the comments are correct or not. i am new at c++ and i think its correct but i have doubts

#include<iostream>
#include<fstream>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main()
{
 ifstream in_stream; // reads itemlist.txt
 ofstream out_stream1; // writes in items.txt
    ifstream in_stream2; // reads pricelist.txt
 ofstream out_stream3;// writes in plist.txt
 ifstream in_stream4;// read recipt.txt
 ofstream out_stream5;// write display.txt
 float price='  ',curr_total=0.0;
 int wrong=0;
 int itemnum='  ';
 char next;
 in_stream.open("ITEMLIST.txt", ios::in); // list of avaliable items
   if( in_stream.fail() )// check to see if itemlist.txt is open
   {
       wrong++;
      cout << " the error occured here0, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n" << endl;
      exit(1);
      }
   else{
    cout << " System ran correctly " << endl;

 out_stream1.open("listWititems.txt", ios::out); // list of avaliable items
   if(out_stream1.fail() )// check to see if itemlist.txt is open
   {
       wrong++;
      cout << " the error occured here1, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n";
      exit(1);
      }
   else{
    cout << " System ran correctly " << endl;
   }

 in_stream2.open("PRICELIST.txt", ios::in);    
  if( in_stream2.fail() )
   {
       wrong++;
      cout << " the error occured here2, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n";
      exit (1);
   }
   else{
    cout << " System ran correctly " << endl;
   }

 out_stream3.open("listWitdollars.txt", ios::out);    
  if(out_stream3.fail() )
   {
      wrong++;
      cout << " the error occured here3, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n";
      exit (1);
   }
   else{
    cout << " System ran correctly " << endl;
   }

 in_stream4.open("display.txt", ios::in);
  if( in_stream4.fail() )
   {
       wrong++;
      cout << " the error occured here4, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n";
      exit (1);
   }
   else{
    cout << " System ran correctly " << endl;
   }


 out_stream5.open("showitems.txt", ios::out);
   if( out_stream5.fail() )
   {
       wrong++;
      cout << " the error occured here5, you have " << wrong++ << " errors"  << endl;
      cout << "Error opening the file\n";
      exit (1);
   }
   else{
    cout << " System ran correctly " << endl;
   }
    in_stream.close(); // closing files.
  out_stream1.close();
  in_stream2.close();
  out_stream3.close();
  in_stream4.close();
  out_stream5.close();
  system("pause");
 in_stream.setf(ios::fixed);
 while(in_stream.eof())
 {
  in_stream >> itemnum;
  cin.clear();
  cin >> next;
 }
 out_stream1.setf(ios::fixed);
 while (out_stream1.eof())
 {
  out_stream1 << itemnum;
  cin.clear();
  cin >> next;
 }
 in_stream2.setf(ios::fixed);
 in_stream2.setf(ios::showpoint);
 in_stream2.precision(2);
    while((price== (price*1.00)) && (itemnum == (itemnum*1)))
   {
    while (in_stream2 >> itemnum >> price) // gets itemnum and price
    {
     while (in_stream2.eof())  // reads file to end of file
     {
     in_stream2 >> itemnum;
    in_stream2 >> price;
    price++;
    curr_total= price++;
    in_stream2 >> curr_total;
    cin.clear();  // allows more reading
    cin >> next;
    }

   }
  }
 out_stream3.setf(ios::fixed);
 out_stream3.setf(ios::showpoint);
 out_stream3.precision(2);
 while((price== (price*1.00)) && (itemnum == (itemnum*1)))
  {
   while (out_stream3 << itemnum << price)
    {
     while (out_stream3.eof())  // reads file to end of file
     {
     out_stream3 << itemnum;
     out_stream3 << price;
     price++;
     curr_total= price++;
     out_stream3 << curr_total;
     cin.clear();  // allows more reading
     cin >> next;
     }
    return itemnum, price;
   }
  }
 in_stream4.setf(ios::fixed);
 in_stream4.setf(ios::showpoint);
 in_stream4.precision(2);
 while ( in_stream4.eof())
 {
  in_stream4 >> itemnum >> price >> curr_total;
  cin.clear();
  cin >> next;
 }
 out_stream5.setf(ios::fixed);
 out_stream5.setf(ios::showpoint);
 out_stream5.precision(2);
 out_stream5 <<setw(5)<< " itemnum " <<setw(5)<<" price "<<setw(5)<<" curr_total " <<endl; // sends items and prices to receipt.txt 
 out_stream5 << setw(5) <<  itemnum << setw(5) <<price << setw(5)<< curr_total; // sends items and prices to receipt.txt 
 out_stream5 << " You have a total of " << wrong++ << " errors " << endl; 


}

Eddy Pronk's user avatar

Eddy Pronk

6,5175 gold badges33 silver badges57 bronze badges

asked Apr 20, 2010 at 4:16

user320950's user avatar

3

I’d hazard a guess you’re missing ‘}’ in first else block.

To avoid such problems in the future, fix your indentation (or let AStyle or similar program fix it for you) and use editor that highlights the syntax (especially blocks of code between braces).

answered Apr 20, 2010 at 4:34

chalup's user avatar

chalupchalup

8,3583 gold badges33 silver badges38 bronze badges

6

Your first if else statement has a missing } after the { for your else. My suggestion: get rid of the { since it’s only a single line of code.

answered Jun 23, 2011 at 2:28

rawr's user avatar

It could be that you miss «}» in the end, another important thing that you should beware is that try to use the full address of your files. I met the same problem, and different compiler would read adresses in different ways. So try to make clear the address of files.

answered Feb 6, 2015 at 6:44

Mike22LFC's user avatar

Mike22LFCMike22LFC

9879 silver badges15 bronze badges

Xopecc

33 / 28 / 9

Регистрация: 13.09.2013

Сообщений: 250

1

13.09.2013, 07:57. Показов 5541. Ответов 12

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Делаю простенький калькулятор, на 1 действие. Использую операторы If-Else. Использую Microsoft Visual Studio 2012. Пожалуйста, помогите найти ошибку!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<iostream>
#include<conio.h>
#include<cmath>
using std::cout;
using std::cin;
using std::endl;
int main()
{
    setlocale(LC_ALL , "Russian");
    cout<<"\t\tМини-калькулятор\n\n";
    cout<<"В данном калькуляторе вы сможете выполнить ряд простых действий для 2-ух чисел!\n";
    cout<<"Введите вашу операцию(Не более 1 операции)\nВводите значения через пробел!";
    double A,B,C;
    char S;
    cin>>A>>S>>B;
    if(S!='+'&&S!='-'&&S!='*'&&S!='/')
    {
    cout<<"Вы не ввели знак операции!";
    _getch();
    return -1;
    }else{
        if(S=='+'){
        C=A+B;
        cout<<A<<"+"<<B<<"="<<C;
    }else{
        if(S=='-'){
        C=A-B;
        cout<<A<<"-"<<B<<"="<<C;
    }else{
        if(S=='*'){
        C=A*B;
        cout<<A<<"*"<<B<<"="<<C;
    }else{
        if(S=='/'){
        C=A/B;
        cout<<A<<"/"<<B<<"="<<C;}
 
 
 
    cout<<"\n\nCopyright (c) 2013 by Xopecc.  ALL RIGHTS RESERVED";
    _getch();
    return 0;
}
}



0



alsav22

5496 / 4891 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

13.09.2013, 08:11

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<iostream>
#include<conio.h>
#include<cmath>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale(LC_ALL , "Russian");
    
    cout<<"\t\tМини-калькулятор\n\n";
    cout<<"В данном калькуляторе вы сможете выполнить ряд простых действий для 2-ух чисел!\n";
    cout<<"Введите вашу операцию(Не более 1 операции)\nВводите значения через пробел!";
    
    double A, B, C;
    char S;
    cin >> A >> S >> B;
    if(S != '+' && S != '-' && S != '*' && S != '/')
    {
        cout<<"Вы не ввели знак операции!";
        _getch();
        return -1;
    }
    
    if(S=='+')
    {
        C=A+B;
        cout<<A<<"+"<<B<<"="<<C;
    }
    
    if(S=='-')
    {
        C=A-B;
        cout<<A<<"-"<<B<<"="<<C;
    }
    
    if(S=='*')
    {
        C=A*B;
        cout<<A<<"*"<<B<<"="<<C;
    }
    
    if(S=='/')
    {
        C=A/B;
        cout<<A<<"/"<<B<<"="<<C;
    }
 
    cout<<"\n\nCopyright (c) 2013 by Xopecc.  ALL RIGHTS RESERVED";
    
    _getch();
    return 0;
}



1



39 / 39 / 8

Регистрация: 03.05.2013

Сообщений: 178

13.09.2013, 08:12

3

36 строка скопку закрой



0



Xopecc

33 / 28 / 9

Регистрация: 13.09.2013

Сообщений: 250

13.09.2013, 08:13

 [ТС]

4

Цитата
Сообщение от alsav22
Посмотреть сообщение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<iostream>
#include<conio.h>
#include<cmath>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale(LC_ALL , "Russian");
    
    cout<<"\t\tМини-калькулятор\n\n";
    cout<<"В данном калькуляторе вы сможете выполнить ряд простых действий для 2-ух чисел!\n";
    cout<<"Введите вашу операцию(Не более 1 операции)\nВводите значения через пробел!";
    
    double A, B, C;
    char S;
    cin >> A >> S >> B;
    if(S != '+' && S != '-' && S != '*' && S != '/')
    {
        cout<<"Вы не ввели знак операции!";
        _getch();
        return -1;
    }
    
    if(S=='+')
    {
        C=A+B;
        cout<<A<<"+"<<B<<"="<<C;
    }
    
    if(S=='-')
    {
        C=A-B;
        cout<<A<<"-"<<B<<"="<<C;
    }
    
    if(S=='*')
    {
        C=A*B;
        cout<<A<<"*"<<B<<"="<<C;
    }
    
    if(S=='/')
    {
        C=A/B;
        cout<<A<<"/"<<B<<"="<<C;
    }
 
    cout<<"\n\nCopyright (c) 2013 by Xopecc.  ALL RIGHTS RESERVED";
    
    _getch();
    return 0;
}

Так где была ошибка?



0



5496 / 4891 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

13.09.2013, 08:15

5

Цитата
Сообщение от Xopecc
Посмотреть сообщение

Так где была ошибка?

Скобки не хватало где-то…



0



Winorun

39 / 39 / 8

Регистрация: 03.05.2013

Сообщений: 178

13.09.2013, 08:15

6

мой ответ к первому варианту ты после if вторую закрывающуюся скобку зыбываешь причем везде

C++
1
2
3
4
else{
        if(S=='/'){
        C=A/B;
        cout<<A<<"/"<<B<<"="<<C;}}//<= тут



1



33 / 28 / 9

Регистрация: 13.09.2013

Сообщений: 250

13.09.2013, 08:17

 [ТС]

7

Цитата
Сообщение от alsav22
Посмотреть сообщение

Скобки не хватало где-то…

То есть можно было не использовать Else?



0



39 / 39 / 8

Регистрация: 03.05.2013

Сообщений: 178

13.09.2013, 08:20

8

блин ты открыл елсе открыл иф а скобку забыл используй case

Добавлено через 27 секунд
я тебе даше строку указал



0



33 / 28 / 9

Регистрация: 13.09.2013

Сообщений: 250

13.09.2013, 08:21

 [ТС]

9

Цитата
Сообщение от Winorun
Посмотреть сообщение

блин ты открыл елсе открыл иф а скобку забыл используй case

Добавлено через 27 секунд
я тебе даше строку указал

через case не интересно



0



39 / 39 / 8

Регистрация: 03.05.2013

Сообщений: 178

13.09.2013, 08:22

10

ну так закрой скобку после else и будет тебе счастье



0



5496 / 4891 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

13.09.2013, 08:22

11

Цитата
Сообщение от Xopecc
Посмотреть сообщение

То есть можно было не использовать Else?

Смысла нет в else. Можно case, чтобы избежать лишних проверок в if.



0



39 / 39 / 8

Регистрация: 03.05.2013

Сообщений: 178

13.09.2013, 08:25

12

согласуй количество открывающихся фигурных скобок с закрывающимися



0



alsav22

5496 / 4891 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

13.09.2013, 08:29

13

Цитата
Сообщение от Xopecc
Посмотреть сообщение

через case не интересно

Тоже самое, что case, только без case:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<iostream>
#include<conio.h>
#include<cmath>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale(LC_ALL , "Russian");
    
    cout<<"\t\tМини-калькулятор\n\n";
    cout<<"В данном калькуляторе вы сможете выполнить ряд простых действий для 2-ух чисел!\n";
    cout<<"Введите вашу операцию(Не более 1 операции)\nВводите значения через пробел!";
    
    double A, B, C;
    char S;
    cin >> A >> S >> B;
    if(S != '+' && S != '-' && S != '*' && S != '/')
    {
        cout<<"Вы не ввели знак операции!";
        _getch();
        return -1;
    }
    
    while (true)
    {
        if(S=='+')
        {
            C=A+B;
            cout<<A<<"+"<<B<<"="<<C;
            break;
        }
    
        if(S=='-')
        {
            C=A-B;
            cout<<A<<"-"<<B<<"="<<C;
            break;
        }
    
        if(S=='*')
        {
            C=A*B;
            cout<<A<<"*"<<B<<"="<<C;
            break;
        }
    
        if(S=='/')
        {
            C=A/B;
            cout<<A<<"/"<<B<<"="<<C;
            break;
        }
    }
    
    cout<<"\n\nCopyright (c) 2013 by Xopecc.  ALL RIGHTS RESERVED";
    
    _getch();
    return 0;
}



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

13.09.2013, 08:29

13

Ошибка C1075 — это ошибка компилятора С++, которая указывает на несколько определений одного и того же имени в одном файле. Эта ошибка возникает, когда в одном файле объявлены две функции, структуры или классы с одинаковыми именами.

Например, предположим, что у нас есть следующий код:

class MyClass {
}; 

struct MyClass {
};

В этом случае мы получим ошибку C1075, потому что у нас есть два определения одного и того же имени — MyClass.

Для того чтобы избежать этой ошибки, необходимо переименовать одно из определений, чтобы они имели уникальные имена. Или разместить каждое определение в своем отдельном файле и подключать их по мере необходимости.

Другой способ избежать ошибки C1075 — это использовать пространства имен (namespace), которые позволяют создавать области имен с уникальными идентификаторами.

Например, можно определить класс MyClass внутри пространства имен my_namespace, как показано ниже:

namespace my_namespace {
  class MyClass {
  };
}

Теперь мы можем использовать этот класс в нашем коде, указывая пространство имен:

my_namespace::MyClass obj;

Таким образом, использование пространств имен может помочь избежать ошибки C1075 и обеспечить более четкое и понятное разделение имён и идентификаторов в коде.

Еще один вариант решения проблемы — использование условной компиляции (#ifndef / #define / #endif) для того, чтобы исключить повторное включение заголовочного файла, содержащего несколько одинаковых определений.

В итоге, ошибка C1075 является частой ошибкой в C++, но ее можно легко избежать, следуя простым правилам и используя современные методы организации кода.


ошибка C1075 — символ ‘{‘ после конца файла

От:

xzibit

 
Дата:  27.04.09 02:12
Оценка:

как боротся с подобной ошибкой

fatal error C1075: end of file found before the left brace '{' at 'путь до файла'

Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

Bell

Россия

 
Дата:  27.04.09 02:42
Оценка:

Здравствуйте, xzibit, Вы писали:

X>как боротся с подобной ошибкой

X>

X>fatal error C1075: end of file found before the left brace '{' at 'путь до файла'
X>



X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

Очевидно, забыл где-то закрывающую скобку
Попытайся выделить минимальный кусок кода, на котором эта ошибка повторяется.

Любите книгу — источник знаний (с) М.Горький


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

Erop

Россия

 
Дата:  27.04.09 05:38
Оценка:

2 (1)

Здравствуйте, xzibit, Вы писали:

X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

Видимо ты в MSVC разрабатываешь?
Напиши закрывающую } в конце файла и нажми ctrl+] — увидишь незакрытую скрбку…

Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно «ради красного словца». За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

alzt

 
Дата:  27.04.09 05:57
Оценка:

Здравствуйте, xzibit, Вы писали:

X>как боротся с подобной ошибкой

X>

X>fatal error C1075: end of file found before the left brace '{' at 'путь до файла'
X>



X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

Где-то ошибся при форматировании. Посчитай количество открытых и закрытых скобок.


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

jazzer

Россия

Skype: enerjazzer
Дата:  27.04.09 13:49
Оценка:

Здравствуйте, xzibit, Вы писали:

X>как боротся с подобной ошибкой

X>

X>fatal error C1075: end of file found before the left brace '{' at 'путь до файла'
X>



X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

Если у тебя есть написанные тобой заголовочные файлы, то частенько ошибка именно в них (особенно если в файле, в котором ты их подключаешь, все скобки в порядке).
Например, где-то есть #ifdef без соответствующего #endif, в результате чего закрывающая скобка не попала в компилятор.

Так что можешь попробовать закомментировать инклуды и посмотреть, изчезнет ли эта ошибка (появится, естественно, много других, но ты на них не обращай внимания до поры).


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

nen777w

 
Дата:  27.04.09 15:05
Оценка:

Если MSVC. Ставь Visual Assist X


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

Вертер

 
Дата:  27.04.09 23:17
Оценка:

1 (1)
+1

X>как боротся с подобной ошибкой
X>

X>fatal error C1075: end of file found before the left brace '{' at 'путь до файла'
X>



X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

могу ошибаться, но кажется такая ошибка может вылезти, если в хаголовочном файле после описания класса забудешь поставить символ «;».


Re: ошибка C1075 — символ ‘{‘ после конца файла

От:

vnp

 
Дата:  28.04.09 05:09
Оценка:

Здравствуйте, xzibit, Вы писали:

X>как боротся с подобной ошибкой

X>

X>fatal error C1075: end of file found before the left brace '{' at 'путь до файла'
X>



X>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

Покажите файл.

———

…Очевидно, забыл где-то закрывающую скобку
…Напиши закрывающую } в конце файла и нажми ctrl+] — увидишь незакрытую скрбку
…Посчитай количество открытых и закрытых скобок.
…особенно если в файле, в котором ты их подключаешь, все скобки в порядке

Господа! у человека потеряна открывающая скобка. Пусть найдет ее, тогда и баланс можно будет считать.


Re: Это международный слёт экстрасенсов?

От:

Tilir

Россия

http://tilir.livejournal.com
Дата:  29.04.09 11:18
Оценка:

3 (1)

Сколько вариантов… ммм… сердце радуется

2xzibit: покажите уж файл, сравним чья телепатия оказалась сильнее.


Re[2]: Это международный слёт экстрасенсов?

От:

dcb-BanDos

Россия

 
Дата:  29.04.09 14:25
Оценка:

Здравствуйте, Tilir, Вы писали:

T>Сколько вариантов… ммм… сердце радуется


T>2xzibit: покажите уж файл, сравним чья телепатия оказалась сильнее.

уверен что вариант с

class tratata
{
}

=)

Ничто не ограничивает полет мысли программиста так, как компилятор.


Re[2]: ошибка C1075 — символ ‘{‘ после конца файла

От:

dimchick

Украина

 
Дата:  10.05.09 23:53
Оценка:

Здравствуйте, Erop, Вы писали:

E>Здравствуйте, xzibit, Вы писали:


X>>Создал Win32 -> Windows application ->empty project. Далее накидал код и вылезла подобгая ошибка.

E>Видимо ты в MSVC разрабатываешь?
E>Напиши закрывающую } в конце файла и нажми ctrl+] — увидишь незакрытую скрбку…

хм… нажимая ctrl+] на последней добавленной скобке меня бросает на первую открывающую скобку. Как ты выкупаешь «незакрытую скрбку» если она гдето в середине кода?

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

Search code, repositories, users, issues, pull requests…

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Понравилась статья? Поделить с друзьями:
  • Неустранимая ошибка c0000034 при операции обновления
  • Неустранимая ошибка appcache
  • Неумышленная ошибка подчас уводящая очень далеко от истины
  • Неустранимая аппаратная ошибка устройства ssd
  • Неустранимая аппаратная ошибка компонент amd northbridge