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

Помогите найти ошибку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод числа из двоичной в десятичную и наоборот. http://www.cyberforum.ru/cpp-beginners/thread17010.html
Помогите пожалуйста написать прогу перевода числа из двоичной системы счисления в десятичную и наоборот на языке "C".Я в этом програмировании не бум-бум.Курсовик нужно сдавать через неделю а у мя ещё и проги нет.Помогите кто может!
C++ Создание файла Я гляжу тут все интузиасты! Тогда такой вопрос: работал в техноре с С++ но не когда не доводилось работать с файлами! Но в данный момент понадобилось! Мне необходимо: при первом запуске программы, после работы должен создаватся файл (любого расширения) с оргументом! Последующие запуски программы должен начинатся с прочтения этого файла и заноса его оргумента в программу! Подскажите как... http://www.cyberforum.ru/cpp-beginners/thread17001.html
C++ Распознать строку в переменную типа int
сорри если такие были задачи но,по поисковику слишком долго искать, 1)На входе строка с числом в шестнадцатиричной форме. Распознать строку в переменную типа int. На выходе строки с введенным числом в двоичной, восьмиричной и десятичной форме. 2)На входе две строки, необходимо их смешать. Например "abcdefghi", "jklmnopq" -> "ajbkcldmenfogphqi" Добавлено через 2 минуты 30 секунд решение...
Где взять библиотеку tv.lib? C++
А то ругается Borland 3.1: "Linker error: unable to open tv.lib file"; если в Linker\settings отключаю turbo vision - вообще пишет "Программа совершила недопустимую операцию и будет закрыта"! %)
C++ Ошибки в Borland C++ version 3.1 http://www.cyberforum.ru/cpp-beginners/thread16956.html
Borland C++ version 3.1 выдаёт ошибки типа undefined symbol на функции: initgraph, graphresult, closegraph, putpixel, color и т.д. Я так понимаю, какой-то косяк с графическим режимом? Что делать? :scratch:
C++ Unable to open include file 'stdio.h' Помогите, пожалуйста, с такой проблемой. В институте работаем с Borland C++ version 3.1. Скачала его на домашний компутер, - и ничего не работает. А именно: находит ошибки уже в первых строчках, #include <stdio.h>, #include <conio.h> и т.д., пишет, что невозможно открыть эти файлы (unable to open include file 'stdio.h'). Проверила - всё вроде на месте, все нужные h-файлы лежат в папке... подробнее

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

Помогите найти ошибку - C++

29.11.2008, 15:27. Просмотров 635. Ответов 2
Метки (Все метки)

Короче написал прогу, в которой вводится строка, и в ней надо заменить первое слово. Всё работает нормально но при выводе конечной строки на экран к ней добавляются непонятные символы, и я не могу никак понять в чём косяк. Ниже привожу код программы и картинку с изображением результата.
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>


class STRING
{
char *line;
int len;
public:
STRING();
STRING(char*);
STRING(const STRING &);
~STRING();
void print();
void input_string(char *);
void change();
};
STRING::STRING()
{
line=new char[256];
if(!line)
cout << "Memory error!" << endl;
for(int i=0;i<255;i++)
line[i]=0;
len=strlen(line);
cout<<"WORKING CONSTRUCTOR WITHOUT PARAMETERS"<<endl;
}
STRING::STRING(char *ln)
{
len = strlen(ln);
line=new char[len+1];
if(!line)
cout << "Memory error!" << endl;
strcpy(line,ln);
cout<<"WORKING CONSTRUCTOR WITH PARAMETERS"<<endl;
}
STRING::STRING(const STRING &obj)
{
len = obj.len;
line = new char [len + 1];
if(!line)
cout << "Memory error!" << endl;
strcmp(line, obj.line);
cout<<"Rabotaet konstruktor generator kopij"<<endl;

}
STRING::~STRING()
{
delete []line;
cout<<"WORKING DESTRUCTOR"<<endl;
}
void STRING::print()
{
cout<<line<<endl;
cout<<len<<endl;
}
void STRING::input_string(char * s)
{
delete []line;
len = strlen(s);
line = new char[len+1];
if(!line)
cout << "Memory error!" << endl;
strcpy(line, s);

}
void STRING::change()
{
int num = 0, tmp_len1, tmp_len2, k=0;
char ln1[80], *ln2, *ln3;
cout<<"Input word"<<endl;
cin>>ln1;
tmp_len1 = strlen(ln1);
while((line[k]!=' ') && (k<=len))
{
num=k;
k++;
}
ln2 = new char[len-num+1];
if(!ln2)
cout << "Memory error!" << endl;
for(int i=0;i<(len-num);i++)
ln2[i]=line[i+num+1];
tmp_len2 = strlen(ln2);
cout<<tmp_len2<<endl;
len = tmp_len1 + tmp_len2;
ln3 = new char[len+1];
if(!ln3)
cout << "Memory error!" << endl;
for(i=0; i<len; i++)
{
if(i<tmp_len1)
ln3[i] = ln1[i];
else
ln3[i] = ln2[i-tmp_len1];
}
delete []line;
line = new char[len+1];
if(!line)
cout << "Memory error!" << endl;
strcpy(line, ln3);
delete []ln2;
}
int main()
{
STRING ptr;
char tmp[256];
cout<<"enter"<<endl;
gets(tmp);
ptr.input_string(tmp);
ptr.print();
ptr.change();
ptr.print();
_getch();
return 0;
}
Помогите найти ошибку
Вложения
Тип файла: txt прога.txt (2.2 Кб, 21 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru