Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Флуд/Завтра модуль С++
Поиск

Завтра модуль С++

18 ответов264 просмотровСейчас просматривают: 1
E
Esso-4ever
· 27.11.2009, 21:20

Вообщем завтра модуль по С++,а я не могу сделать задание.Просто пропустил эту тему на лекции :( FAQ не помогает,перечитал не вьеду :( Если есть добрые люди прошу помочь.Тыкну Спасибку!
Задание "Выделить часть текста между словами,который вводиться с клавиатуры".

0
E
Esso-4ever
· 28.11.2009, 05:03

UP!

0
E
Esso-4ever
· 28.11.2009, 07:47

Вообщем в ходе долгий размышлений,написал вот это:

Код
#include <stdio.h>
#include <stdafx.h>
#include <string.h>
#include <conio.h>
#include <iostream>

struct str;

void main ();

{                //главная функция программы
char str1[80];
printf("Input Text:\n");
gets(s);        //создание строки
char str2[]=" ,.!";                //строка, хранящая знаки препинания
char*str3;
str3=strtok(str1,str2);                //разбиение предложения на слова
while (str3)
{
    printf<<str3<<endl;                //вывод результата на экран
str3=strtok(NULL,str2);
}

getch();
return 0;
}


Но всеравно выдает 1 ошибку :( Незнаю уже что делать... Ругаеться на "{".

0
King708
King708

Пользователь

Бывалый

Постов: 178

На форуме с: 18.05.2009

Репутация: +181

Рейтинг: 0

· 28.11.2009, 08:06

забыл поставить ";" после while (str3)

0
D
Doomer
· 28.11.2009, 08:48

King708: забыл поставить ";" после while (str3)

юморист на хД

любую часть выделяло?

Esso-4ever: Вообщем в ходе долгий размышлений,написал вот это:
#include <stdio.h>
#include <stdafx.h>
#include <string.h>
#include <conio.h>
#include <iostream>

struct str;

void main ();

{ //главная функция программы
char str1[80];
printf("Input Text:\n");
gets(s); //создание строки
char str2[]=" ,.!"; //строка, хранящая знаки препинания
char*str3;
str3=strtok(str1,str2); //разбиение предложения на слова
while (str3)
{
printf<<str3<<endl; //вывод результата на экран
str3=strtok(NULL,str2);
}

getch();
return 0;
}

Но всеравно выдает 1 ошибку :( Незнаю уже что делать... Ругаеться на "{".


точка запятой

а зачем ретурн, если функция void возвращает

0
E
Esso-4ever
· 28.11.2009, 09:22

Да я без него писал вообще... Начал компилить,выдало ошибки :) Поставил return 0;,ошибок стало меньше... Задание "Выделить часть текста между словами,который вводиться с клавиатуры". - Я правильно делаю или нет?

Doomer: юморист на хД

любую часть выделяло?



точка запятой

а зачем ретурн, если функция void возвращает


На сколько я понял,то что ты сделал красным - это нужно удалить из кода?

Мне ошибку такого рода писало: Типо матюкаеться на { возле void,после чего пишет что в тело void не записанна какая-то функция.В скобках (old-style formals и чет ещё...).

0
ProGramMoS
ProGramMoS

Пользователь

Участник

Постов: 91

На форуме с: 10.03.2008

Репутация: +7

Рейтинг: 0

· 28.11.2009, 09:47

Замени void main (); на это:

Код
int main(int argc, char** argv)


После чего в конце кода, до посл. скобки напиши это:
Код
return (EXIT_SUCCESS);

0
Кирилл
Кирилл

Пользователь

Бывалый

Постов: 351

На форуме с: 03.03.2007

Репутация: +301

Рейтинг: 0

· 28.11.2009, 10:16

Да что вы ему советутете, пусть книжку откроет и почитает пару часиков, тут лень, не иначе, одно printf<<str3<<endl; чего стоит.

return (EXIT_SUCCESS); - не думаю что он gcc компилит.

0
D
Doomer
· 28.11.2009, 10:21

Esso-4ever: Да я без него писал вообще... Начал компилить,выдало ошибки :) Поставил return 0;,ошибок стало меньше... Задание "Выделить часть текста между словами,который вводиться с клавиатуры". - Я правильно делаю или нет?



На сколько я понял,то что ты сделал красным - это нужно удалить из кода?

Мне ошибку такого рода писало: Типо матюкаеться на { возле void,после чего пишет что в тело void не записанна какая-то функция.В скобках (old-style formals и чет ещё...).

вся проблема то что ты подключаешь С библиотеки и пыаешся писать на С++ в этом и расходится

Код
#include <iostream>//работа с потоками
#include <cstring>//для работы со строками
using namespace std;

int main(){
cout << "Hello";
return 0;
}

вот так выглядит стандарт на С++

Код
int main(int argc, char** argv)

это лишнее тело движение

0
Кирилл
Кирилл

Пользователь

Бывалый

Постов: 351

На форуме с: 03.03.2007

Репутация: +301

Рейтинг: 0

· 28.11.2009, 10:29

Дело даже не в этом, дело в том что у него почти на каждой строчке ошибка, вообще не понимает человек что и как происходит. Пусть возьмёт в руки какой-нить учебник по C и читатает. Видно, что человек к нему даже не претрагивался.

0
E
Esso-4ever
· 28.11.2009, 10:40

Умный нашелся?Я сидел до 4ех утра твои книжки читал,просил людей чтобы указали на материал.Вот и насоветовали... Не спорю С++ не шарю.Обьяснить на обычном языке порядок могу,а записать на языке С,не могу слабые знания.Ты бы не выделывался если не хочешь дать совет... Тебя никто не заставляет мне помогать.

0
FAN
FAN

Пользователь

Новичок

Постов: 14

На форуме с: 03.02.2009

Рейтинг: 0

· 28.11.2009, 11:32

Я так и непонял какой тебе текст надо выделеть?

0
D
Doomer
· 28.11.2009, 11:42

Enhiridion прав

вот я выделяю середину всей строки со, сделал это через смешение и используя goto, очень интересно получилось хД

Раскрывающийся текст
Код
#include <iostream>
#include <cstring>
using namespace std;

int main(){
    char str[80];
    int l;

    a:
    cout << "Введите строку, 3 и более символов:";

    cin >> str;

    cout << str << "\n";

    if(strlen(str)<3){goto a;}

    l = strlen(str)-2;
    b:
    for(int i=strlen(str);i>0;i--){
        str[i+1] = str[i];
        if(i==l){
            str[i+1] = '|';
            l = 0;
            goto b;
        }
        if(i==1){
            str[1] = '|';
        }
    }

    cout << str << "\n";

    return 0;
}

можно сделать чтобы рандомом выделяло хД

Результат
Цитата
Введите строку 3 и более символов:acvsasascas
acvsasascas
a|cvsasasca|s



выучи С сначало а потом учи С++

0
Кирилл
Кирилл

Пользователь

Бывалый

Постов: 351

На форуме с: 03.03.2007

Репутация: +301

Рейтинг: 0

· 28.11.2009, 11:46

Мне препод в своё время за goto по шее бил acute.gif

0
E
Esso-4ever
· 28.11.2009, 11:54

Doomer,спс.Пасибку тыкну в любой теме...

0
D
Doomer
· 28.11.2009, 11:58

Enhiridion: Мне препод в своё время за goto по шее бил acute.gif

goto очень мощная вещь ни кто её не отменял=) если уметь пользоваться она будет намного эффективней)

0
Кирилл
Кирилл

Пользователь

Бывалый

Постов: 351

На форуме с: 03.03.2007

Репутация: +301

Рейтинг: 0

· 28.11.2009, 12:35

Doomer: goto очень мощная вещь ни кто её не отменял=) если уметь пользоваться она будет намного эффективней)

goto это бред, пережитки прошлого, но если очень хочется, то можно derisive.gif

0
D
Doomer
· 28.11.2009, 13:15

Enhiridion: goto это бред, пережитки прошлого, но если очень хочется, то можно derisive.gif

не знаю я готов поспорить
все зависит от объстоятельства
(2+2)*2==2<<1*2 xD
(3+3)*3!=3<<1*3 xD

0
Войдите или зарегистрируйтесь чтобы ответить