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

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

Войти
Регистрация
Восстановить пароль
 
Medved_sendi
#1

Работа с файлами и строками - C++

02.12.2012, 12:51. Просмотров 293. Ответов 1
Метки нет (Все метки)

Доброе время суток дорогие пользователи форума.
в общем нужна Ваша помощь в написание лабы по C++
задание "Дан файл с числами фразами да и полностью любыми символам, пользователь вводит число допустим N, если число N больше числа из первого файла, то записывается во второй файл записывается N если меньше то число из первого файла, естественно остальной мусор тоже.Форматирование сохраняется.
Пример:
число N=50.
Входной файл:
asd@#asd1222adfghj23
sdfsdf123123g22g1231f
Выходной файл:
asd@#asd50adfghj23
sdfsdf50g22g50f
кое что написал, даже компилируется) но после выдает ошибку
"Необработанное исключение в "0x7c91ac4a" в "lab2_10.exe": 0xC0000005: Нарушение прав доступа при записи "0x00000728"." и кнопки прервать, продолжить.
не могли бы помочь?
выкладываю свой исходник

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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <iomanip>
#include <conio.h>
#include <stdlib.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *fo,*fo2 ; 
    if( (fo=fopen("test.txt","r")) == NULL ) 
     {  
       
      printf  (" \n Исходный файл не найден \n");
           return 2 ;
     } 
    if( (fo2=fopen("result.txt","w")) == NULL ) 
     {  
       
     printf  (" \n не создал файл \n");
           return 3 ;
     } 
 
 
    char chislo_str[100];
    char n;
    int chislo_input=20;
    int  nod=0,x=1;
 
    while (!feof(fo))
    {
 
        n=getc(fo);
       int acsii = static_cast<int>(n);
       if (acsii<=48 && acsii>=57)
       {
          if (nod=1) 
               {
                   if (chislo_input>atoi(chislo_str))
                         fprintf(fo2,"%s",chislo_input);
                     else
                         fprintf(fo2,"%s",chislo_str);
         
                  nod=0;
                 for (n=strlen(chislo_str);n>0;n--) 
                   chislo_str[n]='\0';
            
                  x=0;    
               }         
               else 
               fprintf(fo2,"%s",n);
       }
 
       nod = 1;
       chislo_str[x]=n;
       x++;
    }
    fclose(fo);
    fclose(fo2);
    
    return 0;
}
среда разработки MS Visual C++ 2010
так же приму другие варианты реализации данной программы, если можно то с комментариями
Заранее спасибо!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 12:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами и строками (C++):

Работа с файлами, со строками - C++
Как сделать это?- -Сформировать текстовый файл, напечатать его содержимое, вставляя в начало каждой печатаемой строки ее порядковый номер...

Работа с файлами и строками - C++
Здравствуйте, помогите,пожалуйста, с решение лабораторной по инфе. Нужно написать программу, которая считывает текст из текстового файла и...

Работа с файлами и строками - C++
помогите пожалуйста вот с этой программой Вообщем задание такое Прочитать текст из файла и вывести на экран только первые буквы слов. ...

Работа со строками и файлами - C++
Задание, написать программу, считывающую текст из файла, и определяет количество в нем слов, состоящий не более чем из 4-х. Помогите...

Работа со строками и файлами - C++
Записать в файл элементы другого файла (со словами) выровненные по правому краю. Программно переименовать файл.

Работа с файлами и строками - C++
Доброго времени суток, изучаю С++ по учебнику и практикуму Павловской 2003 г. Столкнулся с проблемой когда делал задачку по поиску...

1
Medved_sendi
16.12.2012, 10:17 #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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int file()
{
FILE *fo,*fo2 ; 
if( (fo=fopen("test.txt","r")) == NULL ) 
{ 
    printf (" \n Исходный файл не найден \n");
    return 1 ;
} 
if( (fo2=fopen("result.txt","w")) == NULL ) 
{
    printf (" \n не создал файл \n");
    return 2 ;
} 
fclose(fo);
fclose(fo2);
};
 
int glav()
{
FILE *fo,*fo2;
char chislo_str[100]=" ";
char n;
int chislo_input,nod=0,x=0;//счёт в массивах ведется от нуля
fo=fopen("test.txt","r");
fo2=fopen("result.txt","w");
printf (" \n Введите любимое число:");
scanf("%d",&chislo_input);
while (!feof(fo))
{
    n=getc(fo);
    if (n>='0' && n<=57)//если не цифра
    {  
        chislo_str[x]=n;
        x++;
        nod=1;
    }
    else 
    {
        if (nod==1)//если до этого была цифра 
        {
     if (chislo_input<(atoi(chislo_str)))
     {
         fprintf(fo2,"%d",chislo_input);
     }
     else
     {
         fprintf(fo2,"%s",chislo_str);
     }
 
     nod=0;
         chislo_str[0]='\0';
     x=0; 
        }
        fprintf(fo2,"%c",n);
    }
}
fclose(fo);
fclose(fo2);
}
 
int main()
{
    file(); 
    glav();
    return 0;
}
Среда разработки wxDev-C++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 10:17
Привет! Вот еще темы с ответами:

Работа с файлами и строками. - C++
Прошу помочь с этой задачкой, ибо СИ дается почему-то сложнее Паскаля, а темы на файлы, по-моему, самые сложные. Очень нужно. В общем...

Работа с файлами и строками - C++
Раздел &quot;Работа с файлами и строками&quot; Задание :&quot;Написать программу, которая считывает английский текст из файла и выводит на экран слова,...

Работа со строками и файлами - C++
года 2 не кодил на С++ вот решил вспомнить... суть задачи: открываем текстовый документ,и перебираем по очередно строки...

Работа с текстовыми файлами и строками - C++
Очень прошу вашей помощи. Не один день сижу над данной задачей, переделала кучу вариантов - выход не верно (( Задание: дано два текстовых...


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

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

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