Создан заказ №4130736
17 июня 2019
1 Через диалоговое окно На входе трехзначное число словами на выходе то же число цифрами
Как заказчик описал требования к работе:
1. Через диалоговое окно:
На входе трехзначное число словами, на выходе то же число цифрами. На английском языке. Если набрано неправильно или число не трехзначное - сообщение об ошибке. Пробелов неограниченное количество.
Листинг кода и скриншоты сообщений об ошибке.
2.
1) Окно с любым количест
вом слов (любое предложение)
2) Два окна, где вбивается с какого по какое слово поменять местами из конца в начало.
3) Окно, где выводится предложение с переставленными в п.2 словами.
подробнее
Фрагмент выполненной работы:
1. Через диалоговое окно:На входе трехзначное число словами, на выходе то же число цифрами. На английском языке. Если набрано неправильно или число не трехзначное - сообщение об ошибке. Пробелов неограниченное количество. Листинг кода и скриншоты сообщений об ошибке. Решение:
Листинг программы:
#include <windows.h>
#include <tchar.h>
#include "resource.h"
#include <string>
#include <vector>
#include <sstream>
using namespace std;
HINSTANCE H_DIALOG1;
BOOL CALLBACK call_Dialog1(HWND, UINT, WPARAM, LPARAM);
//Функция определения цифры
int number(string word)
{
int n = 0;
if (word == "one") n = 1;
else if (word == "two") n = 2;
else if (word == "three") n = 3;
else if (word == "four") n = 4;
else if (word == "five") n = 5;
else if (word == "six") n = 6;
else if (word == "seven") n = 7;
else if (word == "eight") n = 8;
else if (word == "nine") n = 9;
else n = 0;
return n;
}
int decimal_number(string word)
{
int n = 0;
string str;
str.assign(word, word.length() - 3, 4);
if (str == "teen")
{
if (word == "thirteen" || word == "thir-teen") n = 13;
else if (word == "fourteen" || word == "four-teen") n = 14;
else if (word == "fifteen" || word == "fif-teen") n = 15;
else if (word == "sixteen" || word == "six-teen") n = 16;
else if (word == "seventeen" || word == "seven-teen") n = 17;
else if (word == "eightteen" || word == "eight-teen") n = 18;
else if (word == "nineteen" || word == "nine-teen") n = 19;
else n = 0;
}
else
{
str.assign(word, word.length() - 1, 2);
if (str == "ty")
{
if (word == "twenty") n = 20;
else if (word == "thirty") n = 30;
else if (word == "forty") n = 40;
else if (word == "fifty") n = 50;
else if (word == "sixty") n = 60;
else if (word == "seventy") n = 70;
else if (word == "eighty") n = 80;
else if (word == "ninety") n = 90;
else n = 0;
}
}
return n;
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
DialogBox(H_DIALOG1, MAKEINTRESOURCE(IDD_DIALOG1), 0, call_Dialog1);
return 0;
}
BOOL CALLBACK call_Dialog1(HWND hDialog, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hDialog, false);
break;
case IDOK:
HWND hwndEdit = GetDlgItem(hDialog, IDC_EDIT1);
string str;
int len = GetWindowTextLength(hwndEdit);
if (len > 0)
{
str.resize(len + 1);
len = GetWindowText(hwndEdit, &str[0], str.size());
str.resize(len);
}
//Разбиваем строку на слова
vector <string> vecstr;
string word;
stringstream s(str);
while (s >> word)
vecstr.push_back(word);
//Формируем число
int num, dec_num, sing_num = 0;
char buf[3];
//Трехзначное число состоит минимум из двух слов и второе слово обязательно hundred
if (v...Посмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
20 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
18 июня 2019
Заказ завершен, заказчик получил финальный файл с работой
5
1 Через диалоговое окно На входе трехзначное число словами на выходе то же число цифрами.jpg
2021-01-04 20:05
Последний отзыв студента о бирже Автор24
Общая оценка
4.2
Положительно
Автор, быстро и качественно выполнил работу, так же быстро отвечал на мои вопросы