Завтра модуль С++
Вообщем завтра модуль по С++,а я не могу сделать задание.Просто пропустил эту тему на лекции :( FAQ не помогает,перечитал не вьеду :( Если есть добрые люди прошу помочь.Тыкну Спасибку!
Задание "Выделить часть текста между словами,который вводиться с клавиатуры".
UP!
Вообщем в ходе долгий размышлений,написал вот это:
#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 ошибку :( Незнаю уже что делать... Ругаеться на "{".
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 возвращает
Да я без него писал вообще... Начал компилить,выдало ошибки :) Поставил return 0;,ошибок стало меньше... Задание "Выделить часть текста между словами,который вводиться с клавиатуры". - Я правильно делаю или нет?
Doomer: юморист на хД
любую часть выделяло?
точка запятой
а зачем ретурн, если функция void возвращает
На сколько я понял,то что ты сделал красным - это нужно удалить из кода?
Мне ошибку такого рода писало: Типо матюкаеться на { возле void,после чего пишет что в тело void не записанна какая-то функция.В скобках (old-style formals и чет ещё...).
Замени void main (); на это:
После чего в конце кода, до посл. скобки напиши это:
Да что вы ему советутете, пусть книжку откроет и почитает пару часиков, тут лень, не иначе, одно printf<<str3<<endl; чего стоит.
return (EXIT_SUCCESS); - не думаю что он gcc компилит.
Esso-4ever: Да я без него писал вообще... Начал компилить,выдало ошибки :) Поставил return 0;,ошибок стало меньше... Задание "Выделить часть текста между словами,который вводиться с клавиатуры". - Я правильно делаю или нет?
На сколько я понял,то что ты сделал красным - это нужно удалить из кода?
Мне ошибку такого рода писало: Типо матюкаеться на { возле void,после чего пишет что в тело void не записанна какая-то функция.В скобках (old-style formals и чет ещё...).
вся проблема то что ты подключаешь С библиотеки и пыаешся писать на С++ в этом и расходится
#include <cstring>//для работы со строками
using namespace std;
int main(){
cout << "Hello";
return 0;
}
вот так выглядит стандарт на С++
это лишнее тело движение
Дело даже не в этом, дело в том что у него почти на каждой строчке ошибка, вообще не понимает человек что и как происходит. Пусть возьмёт в руки какой-нить учебник по C и читатает. Видно, что человек к нему даже не претрагивался.
Умный нашелся?Я сидел до 4ех утра твои книжки читал,просил людей чтобы указали на материал.Вот и насоветовали... Не спорю С++ не шарю.Обьяснить на обычном языке порядок могу,а записать на языке С,не могу слабые знания.Ты бы не выделывался если не хочешь дать совет... Тебя никто не заставляет мне помогать.
Enhiridion прав
вот я выделяю середину всей строки со, сделал это через смешение и используя goto, очень интересно получилось хД
#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;
}
можно сделать чтобы рандомом выделяло хД
Результат
acvsasascas
a|cvsasasca|s
выучи С сначало а потом учи С++
Doomer,спс.Пасибку тыкну в любой теме...
Enhiridion: Мне препод в своё время за goto по шее бил
goto очень мощная вещь ни кто её не отменял=) если уметь пользоваться она будет намного эффективней)
Doomer: goto очень мощная вещь ни кто её не отменял=) если уметь пользоваться она будет намного эффективней)
goto это бред, пережитки прошлого, но если очень хочется, то можно
Enhiridion: goto это бред, пережитки прошлого, но если очень хочется, то можно
не знаю я готов поспорить
все зависит от объстоятельства
(2+2)*2==2<<1*2 xD
(3+3)*3!=3<<1*3 xD




