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

Задача на Файлы - C++

Восстановить пароль Регистрация
 
cute_girl
0 / 0 / 0
Регистрация: 22.09.2008
Сообщений: 6
10.12.2008, 17:08     Задача на Файлы #1
Задача звучит так :
" В файле заменить в каждой четной строке буквы на предыдущие им по алфавиту и перезаписать полученное обратно в файл"
ps на языке С надо .
Код
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void main(){
clrscr();

int i=0,q=1,ch,k;
FILE *fp;
char s[100];
fp=fopen("string.txt","r+");

while(!feof(fp))
{
 if(q%2==0)
 {
  if(ch=='\n')

     ch=ch+1;
     s[i]=ch-1;
     i++;
 }
 ch=fgetc(fp);

  if(ch=='\n')
     q++;

 }
 printf("%s",s);
rewind(fp);
fclose(fp);      
getch();
}
прога иногда выдает какой то мусор , не знаю почему =( . Помогите плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2008, 17:08     Задача на Файлы
Посмотрите здесь:

C++ Задача на двоичные файлы!
C++ Задача на файлы
C++ задача на Файлы
Задача на файлы C++
Задача про файлы и "вагоны" битов C++
Задача на файлы. Вывести количество этих чисел и их сумму C++
Бинарные файлы данных(задача) C++
Бинарные файлы данных(задача) C++
Задача на текстовые файлы и их использование C++
C++ Задача на файлы
C++ Задача про ГАИ и файлы (где накосячил в коде?)
C++ Задача на файлы. Частотный словарь

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Varlock
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 402
10.12.2008, 17:34     Задача на Файлы #2
иногда?? по моему она всегда должна выдавать мусор +)))
100 рандомных символов из оперативы... которые случайно оказались +))))
счас попробую откоментировать основные ошибки, которые заметил на вскидку.

Добавлено через 10 минут 22 секунды
Код
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void main(){
clrscr();

int i=0,q=1,ch,k; //ненашёл в коде использования переменной k, ch используется без инициализации и сразу сравнивается... по моему это сравнение сработает рандомно ;)
FILE *fp;
char s[100]; //если в файле окажется больше 100 символов то программа загнётся ;)
fp=fopen("string.txt","r+");

while(!feof(fp)) //тут пока ещё терпимо вроде
{
if(q%2==0)
{
if(ch=='\n') // вот собственно то самое сравнение с переменной, инициализации которой я неувидел...

ch=ch+1;
s[i]=ch-1; //что должна делать эта строчка? заменять букву на предидущую? так она просто цифру вводит... 
i++;
}
ch=fgetc(fp); //как вы себе представляете получение буквы в переменную типа "число"? это несколько неправильно...

if(ch=='\n') //странное условие для суммирования ку... мне кажется что тут наоборот не равно должно быть?
q++;

}


printf("%s",s);
rewind(fp);
fclose(fp); 
getch();
}
cute_girl
0 / 0 / 0
Регистрация: 22.09.2008
Сообщений: 6
10.12.2008, 18:32  [ТС]     Задача на Файлы #3
спасибо , разобралась !
работает
Yandex
Объявления
10.12.2008, 18:32     Задача на Файлы
Ответ Создать тему
Опции темы

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