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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программы не работают на Windows 7 http://www.cyberforum.ru/cpp-beginners/thread716125.html
Только учусь программировать в С++. Скачал вот эту версию с форума http://www.cyberforum.ru/cpp-beginners/thread61467.html .Пишу простенькие проги,компилирую,все удачно,все запускается,но на Виндовс...
C++ одинаковые элементы в дереве По задаче: нужно определить, есть ли в дереве хотя бы 2 одинаковых элемента. Если есть - вывести "да", нет - "нет". создаю дерево и вывожу на экран, кто-то может по-другому создаст подскажите,... http://www.cyberforum.ru/cpp-beginners/thread716111.html
C++ В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов...
В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых числа. Проверить, изменилась ли серия подряд ...
Динамическое распределение памяти (проверить) C++
Динамическое распределение памяти Цель работы: Изучение использования динамической памяти с использованием опереаторов new и delete Задание В массиве Time(20) хранятся результаты(в секундах)...
C++ Программа вытаскивает из текста латинские слова , как сделать , чтобы выписывала только повторяющиеся и показывала количество их повторений http://www.cyberforum.ru/cpp-beginners/thread716070.html
#include <iostream> #include <iomanip> #include <cstdio> using namespace std; int length(char *str)//функция определения длины строки {int i=0; while(str) {i++;} return i; }
C++ Считать строку символов с клавиатуры и распечатать в столбик Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик: символ –-> код –-> его 16 -й эквивалент для каждого символа. Выполнить отладку программы на тестовом... подробнее

Показать сообщение отдельно
Medved_sendi
Сообщений: n/a

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

02.12.2012, 12:51. Просмотров 291. Ответов 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
так же приму другие варианты реализации данной программы, если можно то с комментариями
Заранее спасибо!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru