Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Калюкулятор в строке 
:(
    Опции темы
AshBringer4eg
Дата 7.12.2010, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.12.2010

Репутация: нет
Всего: нет



В общем стала задача сделать следующие:
1. Пользователь вводит строку вида 47*5/10*5, а программа должна определить знаки умножения и деления и выполнить следующие операции. Арифметические операции только * и /.
2. Пользователь вводит строку вида: hELLO wORLD, а программа должна вывести Hello World.

Со второй задачей уже справился:
Цитата

Код C++
for (int i=0; i<strlen(StrIn);i++)
{if (StrIn[i]>=65 && StrIn[i]<=90){StrOut[i]=StrIn[i]+32;}
 if (StrIn[i]>=97 && StrIn[i]<=122){StrOut[i]=StrIn[i]-32;}
 if (StrIn[i]>=32 && StrIn[i]<=64 ||  StrIn[i]>91 && StrIn[i]<96 ||  StrIn[i]>123 && StrIn[i]<127) {StrOut[i]=StrIn[i];}
for (int i=0; i<strlen(StrIn);i++){
StringGrid1->Cells[i][0]=StrOut[i];}


А вот с первой задачей не зная что делать. Уже целый лист исписал псевдо-кодами и не могу найти алгоритм... Помогите кто чем может, может у кого есть идеи как сделать?) 
PM MAIL   Вверх
Crafty
Дата 7.12.2010, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 3.11.2008

Репутация: 12
Всего: 14



2-ую задачу я бы так сделал
Код

#include <iostream>
#include <string>
#include <cctype>

int main()
{
  std::string str("hELLO wORLD");
  for(size_t i = 0; i != str.length(); ++i)
    if (islower(str[i]))
      str[i] = toupper(str[i]);
    else
      str[i] = tolower(str[i]);
  std::cout << str << std::endl;
  
  return 0;
}


А в первой задаче:
1) вначале считываем строку до символа * или / , преобразуем с помощью ф-ции atoi() в число, далее заносим это число в переменную P где будем хранить наш результат.
2) определяем какой символ идет за числом.
3) считываем след. число до символа * или / , преобразуем с помощью ф-ции atoi() в число, и заносим в переменную X.
4) в зависимости от того какой символ у нас в 3-ем пункте умножаем или делим наше P на X.
5) пункты со 2-го по 4-ый повторять пока не встретим конец строки.
PM MAIL   Вверх
Dov
Дата 8.12.2010, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



первая
вторая:
Код
int main()
{
    char ch;

    while((ch = cin.get()) != '\n')
        cout << (char)(islower(ch) ? toupper(ch) : tolower(ch));

    cout << endl;
    return 0;
}



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.