Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
#1

Странная ошибка в программе - C++

24.12.2011, 18:45. Просмотров 303. Ответов 2
Метки нет (Все метки)

Странная ошибка в программе

Когда ввожу имя файла и жму Enter - выводится такая ошибка. Что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странная ошибка в программе (C++):

Странная ошибка с else - C++
Мне пишет что в 21 строке ошибка, делал и с цифрами и с текстом, ошибка всегда на else, ошибка: D:\CBProject\Test1\main.cpp||In...

Странная ошибка - C++
#ifndef HUGEINTEGER_H #define HUGEINTEGER_H class HugeInteger { public: ...

Странная ошибка - C++
// ConsoleApplication5.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> ...

Странная(или не странная, незнаю) реакция на буквы, знаки операций - C++
Всем добрый день. Делаю маленькую наработку, пока есть только начало. Ниже код: #include <iostream> #include <cstdlib> using...

Странная ошибка в коде - C++
Задание гласит: Найти значение конечной суммы:1+3+...+2n-1 Имею код Pascal Program 5; Uses Crt; var i, n, S,...

очень странная ошибка с++ - C++
уважаемые администраторы, я пытался это добавить в раздел для экспертов, но меня недостаточно прав( вот ссылка на видио где я показываю...

2
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.12.2011, 18:51 #2
Цитата Сообщение от Johnlion Посмотреть сообщение
Что делать?
показать свой код
видимо вы открываете файл на чтение, а файла не существует
0
Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
24.12.2011, 18:52  [ТС] #3
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#define N 50
 
struct vxod
{
    char name[N];
    float god_1940;
    float god_1950;
    float god_1955;
    float god_1958;
};
 
struct vixod
{
    char name[N];
    float min;
    float absol_prirost;
};
 
char ss1[55] = "-----------------------------------------";
 
void main (int argc, char *argv[])
{
    setlocale(LC_ALL,"");
    void read_print_vxod(FILE*);  //Прототип функции чтения и вывода на экран исходного файла
    void read_print_vixod(FILE*);  //Прототип функции чтения и вывода на экран файла результата
    void job(FILE*, FILE*);
 
    FILE * filein;               //Указатель на исходный файл
    FILE * fileout;              //Указатель на файл результата
    char name_vxod[13];            //имя исходного файла
    
    if (argc==0)
    {
        printf ("Укажите имя выходного файла в командной строке: ");
        exit(-1);
    };
    
    printf("Введите имя входного файла: ");
    scanf("%s", name_vxod);
    if((filein = fopen(name_vxod,"r")) == NULL)//открытие исходного файла для чтения
    {                            
        printf("Файл %s не открыт.", name_vxod);
        getch();
        exit(-1);
    }
 
    if((fileout = fopen(argv[1],"w")) == NULL)   //открытие файла результата для записи
    {
        printf("Файл %s не открыт.", argv[1]);
        exit(-1);
    }
    
    read_print_vxod(filein);       //чтение и печать исходного файла
    fclose(filein);               //закрытие исходного файла
    _getch();
 
    if((filein = fopen(name_vxod,"r")) == NULL)   //повторное открытие исходного файла для чтения
    {
        printf("Файл %s не открыт.", name_vxod);
        exit(-1);
    }
    
    job(filein, fileout);        //Выполнение задания
    fclose(filein);              //закрытие исходного файла
    fclose(fileout);             //закрытие файла результата
 
    if((fileout = fopen(argv[1],"r")) == NULL)    //открытие файла результата для чтения
    {
        printf("Файл %s не открыт.", argv[1]);
        exit(-1);
    }
    
    read_print_vixod(fileout);       //чтение и печать выходного файла
    fclose(fileout);               //закрытие файла результата
    getch();
}
 
 
void read_print_vixod (FILE*fileout) //функция чтения и вывода на экран файла результата
{
    struct vixod strvix;   
    printf("Выходной файл: \n");
    while (fscanf(fileout, "%s%f", strvix.name, strvix.min)!=EOF)  //Чтение структуры из файла результата
           printf("%s, %f", strvix.name, strvix.min); //вывод на экран
}
 
void read_print_vxod(FILE*filein)  //функция чтения и вывода на экран исходного файла 
{
    struct vxod str; 
    void shapka();               //Прототип функции печати шапки 1
    printf("Входной файл: \n");
    shapka();
    while (fscanf(filein, "%s%f%f%f%f",str.name, &str.god_1940, &str.god_1950, &str.god_1955, &str.god_1958) != EOF)  //Чтение структуры из исходного файла 
            printf("!%6s!%4.1f!%4.1f!%4.1f!%4.1f!\n", str.name, &str.god_1940, &str.god_1950, &str.god_1955, &str.god_1958); //вывод на экран
            printf("%s\n",ss1);
}
 
void shapka()                    //функция печати шапки 1
{
    printf("Показатели развития внутр. торговли СССР\n");   
    printf("%s", ss1);
    printf("!                   !  1940  !  1950  !  1955  !  1958  !\n");
    printf("%s", ss1);
}
 
void job (FILE * filein, FILE * fileout)
{
    struct vxod str;
    struct vixod strvix;
    fscanf(filein, "%s%f%f%f%f",str.name, &str.god_1940, &str.god_1950, &str.god_1955, &str.god_1958);
    strvix.min = ((str.god_1955-str.god_1940)*100)/str.god_1940;
    strcpy (strvix.name, str.name);
    strvix.absol_prirost = str.god_1955-str.god_1940;
    while (fscanf(filein, "%s%f%f%f%f",str.name, &str.god_1940, &str.god_1950, &str.god_1955, &str.god_1958)!=EOF)
    {
        if (((str.god_1955-str.god_1940)*100)/str.god_1940 < strvix.min)
        {
            strvix.min = ((str.god_1955-str.god_1940)*100)/str.god_1940;
            strcpy (strvix.name, str.name);
            strvix.absol_prirost = str.god_1955-str.god_1940;
        }
    }
    fprintf (fileout, "Минимальный прирост в процентах в 1955 по сравнению с 1940 был у %s и равен %f\n\n", strvix.name, strvix.min);
    fprintf (fileout, "А абсолютный прирост за период 1940-1950 у %s был равен %f", strvix.name, strvix.absol_prirost);
    fclose(fileout);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 18:52
Привет! Вот еще темы с ответами:

Странная ошибка с decltype [GCC 4.9.2] - C++
Всем привет, есть следующий метод : class AddressV4 { public: static std::set&lt;AddressV4&gt; getByName(const std::string...

Странная ошибка makefile.win - C++
Код: #include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; int main(int argc, char** argv) { cout &lt;&lt;...

Странная ошибка при агрегации - C++
Привет, товарищи, столкнулся с нетривиальной проблемой, собственно сразу к ней. Есть 2 класса (напишу лишь проблемные методы, как ни...

Странная ошибка (зависимость от cout) - C++
Всем Доброго Времени Суток! В процедуру единицы трансляции передаются по указателю три массива (заданные в исполняемом файле через new)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru