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

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

Войти
Регистрация
Восстановить пароль
 
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
#1

Отладка программы - C++

23.01.2011, 11:38. Просмотров 959. Ответов 9
Метки нет (Все метки)

Нужна помощь в отладке программы, не могу запустить в среде Visual 2008

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
// Л.р.3.cpp: определяет точку входа для консольного приложения.
 
#include "stdafx.h"
#define SIZE 255 
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std
 
class String
 
{
    char *str; 
 char *str_return;
 public:
 String();
 String(char*);
 ~String();
 char* Run();
 void save(char, char);
 void save1(char, char);
 void Set(char*);
 friend void print(String&);
 friend ostream& operator<<(ostream&,String&);
 friend istream& operator>>(istream&,String&);
 friend char* Run(String&);
};
String::String()
{ str=new char[SIZE];
  str[0]='\0';
  str_return=new char[SIZE];
  str_return[0]='\0';
};
String::String(char *s)
{ str=new char[SIZE];
  strcpy(str,s);
  str_return=new char[SIZE];
  str_return[0]='\0';
};
String::~String()
{delete[] str;
};
 
void String::Set(char* s)
{ 
    for (unsigned int i=0;i<strlen(s);i++)
   str[i]=s[i];
   str[i]='\0';
};
char* String::Run()
{int l,j=-1;;
 char *p  = strdup(str);
 l=strlen(str);
  if (!(l%2)&&(l>=10) ) 
    { for (int i=0;i<l;i++)
        {if (str[i]!=' ')
        {j++;
        *(p+j)=str[i];
  }  }
        *(p+j)='\0';
     strcpy(str_return,p);
        }
    else {cout <<"Stroka ne chetnaya ili <10" << endl;}
 return str_return;};
char* Run(String &obj)
{return obj.Run();};
void print(String &obj)
{cout<<obj.str<<" "<<obj.str_return<<endl;};
ostream& operator<<(ostream &stream,String &ob) 
{stream << ob.str ;
 return stream;};
istream &operator>>(istream &stream,String &ob)
{stream >> ob.str;
return stream;};void save(char *st, char *st1)
{FILE  *fp2;
fp2 = fopen("test.txt", "wt");
fprintf(fp2, "\n ishodnaya\n");
fprintf(fp2, st);
fprintf(fp2, "\n rezultat\n");
fprintf(fp2, st1);
fclose(fp2);
}
void save1(char *st, char *st1)
{FILE  *fp1;
fp1 = fopen("test.txt", "at");
fprintf(fp1, "\n ishodnaya\n");
fprintf(fp1, st);
fprintf(fp1, "\n rezultat\n");
fprintf(fp1, st1);
fclose(fp1);}
 
 
void main ()
{
char s[265],*ss;
cout<<"Vvedite stroku"<<endl;
cin.getline(s,256); 
String str(s); 
cout<<endl<<"Ishodnaya stroka:"<<endl;
print(str);
cout<<endl<<" - rezultat - "<<endl;
ss=Run(str);
cout<<ss<<endl;
save(s,ss);
cout<<endl<<"Vvedite stroku:"<<endl;
cin.getline(s,256);
String *pstr; 
pstr=new String();
pstr->Set(s);
cout<<"Ishodnaya stroka:"<<endl;
print(*pstr);
cout<<endl<<" -rezultat -"<<endl;
ss=Run(*pstr);
cout<<ss<<endl;
save1(s,ss);
delete pstr;
getch();
}

1>c:\users\андрей\desktop\трпо\л.р.3\л.р.3\л.р.3.cpp(14) : error C2143: синтаксическая ошибка: отсутствие ";" перед "<class-head>"
1>c:\users\андрей\desktop\трпо\л.р.3\л.р.3\л.р.3.cpp(50) : error C2065: i: необъявленный идентификатор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 11:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отладка программы (C++):

Отладка программы - C++
Помогите пожалуйста сделать программу корректной. В общем из трех чисел x, y, z нужной найти максимальное попробовал следующее, но чего то...

Отладка программы - C++
Есть небольшие проблемы с отладкой программы. Компилятор молчит #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; ...

Отладка программы в С++ - C++
Дали программу, которая должна считать количество введенных букв А, пробелов и остальных символов. Проблема: не идет считывание (учет)...

Отладка программы. - C++
Не знаю даже условия, даны только какие-то выражения: http://s1.dump.ru/viewer/3727329/ попробовал сделать по шаблону, который дали,...

Отладка программы) - C++
Добрый день, пожалуйста помогите отладить программу. Выдает не верные значения. # include &lt;iostream&gt; # include &lt;math.h&gt; using...

Отладка программы. - C++
Для заданного а вычислить f(a), где f(x) задана графиком ( график во вложении) . Вопрос: как сделать так, что бы после введения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
23.01.2011, 11:45 #2
1>c:\users\андрей\desktop\трпо\л.р.3\л.р.3\л.р.3.cpp(14) : error C2143: синтаксическая ошибка: отсутствие ";" перед "<class-head>"
C++
1
using namespace std
поставьте ;
1>c:\users\андрей\desktop\трпо\л.р.3\л.р.3\л.р.3.cpp(50) : error C2065: i: необъявленный идентификатор
C++
1
2
3
for (unsigned int i=0;i<strlen(s);i++)
{str[i]=s[i];
str[i]='\0';}
заключите тело цикла в фигурные скобки, так как без них он видит только первую строчку, а следовательно и i живет только там.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.01.2011, 12:42 #3
C++
1
void main ()
на
C++
1
int main()
NiRamz
23.01.2011, 12:43
  #4

Не по теме:

zulkis, Это не столь критично)

zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.01.2011, 12:48 #5
Хм, мб для некоторых компиляторов и не критично, да и вообще
C++
1
void int()
это как молекула в вакууме. g++ говорит:
test.cpp:2: error: `main' must return `int'
:-P
void main() - хорошо сказано.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
23.01.2011, 12:52 #6
ну по идеи если так, то
C++
1
2
3
int main(){
return 0;
}
все функции должны что то возвращать, если не помечены как void. или я не понимаю что то?)
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.01.2011, 12:56 #7
В примере по ссылке показано, что без return 0:
In C++, main() need not contain an explicit return statement. In that case, the value returned is 0, meaning successful execution.
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
23.01.2011, 22:20  [ТС] #8
что-то не то(

речь не о том, должен возвращать или нет (ибо однозначно return 0 тут не требуется), а о том, почему "не идет", и все перепробовано...

for (unsigned int i=0;i<strlen(s);i++)
{str[i]=s[i];
str[i]='\0';} - скобки тут, на мой взгляд, не нужны, "i" определяется и так

помогите запустить, пожалуйста, просто, - в другой среде создавалось
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
23.01.2011, 22:33 #9
Цитата Сообщение от andreip Посмотреть сообщение
for (unsigned int i=0;i<strlen(s);i++)
{str[i]=s[i];
str[i]='\0';} - скобки тут, на мой взгляд, не нужны, "i" определяется и так
ну как так не нужны, если оставить без скобок, то к циклу будет относиться только str[i]=s[i];

Добавлено через 1 минуту
Цитата Сообщение от andreip Посмотреть сообщение
помогите запустить, пожалуйста, просто, - в другой среде создавалось
у меня запустилось, исправил те две ошибки которые указал выше.
andreip
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 12
23.01.2011, 22:37  [ТС] #10
Цитата Сообщение от NiRamz Посмотреть сообщение
ну как так не нужны, если оставить без скобок, то к циклу будет относиться только str[i]=s[i];

Добавлено через 1 минуту

у меня запустилось, исправил те две ошибки которые указал выше.
извиняюсь, спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2011, 22:37
Привет! Вот еще темы с ответами:

Отладка программы - C++
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы - данные, которые создаются в динамической области памяти,...

Отладка программы на С++ - C++
Нужно отладить программу, при компиляции выдает: ----- Построение начато: проект: WR01, Конфигурация: Debug Win32 ------ 1&gt; ...

Отладка программы - C++
Отлаживал циклы, не получается отладить код этой программы, пишет: Сам код: #include &quot;stdafx.h&quot; #include...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.01.2011, 22:37
Ответ Создать тему
Опции темы

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