Вопрос по C++
|
|
programer | Дата: Четверг, 08 Июля 2010, 15:31 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| правильно ли я понимаю работу программы? ================================================
Сообщение отредактировал programer - Четверг, 08 Июля 2010, 15:32 |
|
| |
BetMora | Дата: Четверг, 08 Июля 2010, 15:33 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| да, правильно P.S. не стоило делать ник "programmer"
Перекуём баги на фичи!
|
|
| |
programer | Дата: Пятница, 09 Июля 2010, 01:50 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Появился свежий вопрос. Вот собственно мне нужно что-бы программа была способна вычислять температуру указанную как целым(int) числом так и с плавающей точкой (flout) Нут типа ввожу я число а она определяет какого типа введенно чиисл, и с помощью перегрузки выполняет ту функцию которая совпадает с типом введённого числа. вот сообственно ...но так программа работает только с целыми числами. ======================================================================= ======================================================================= дальше не понимаю как это реализовать? Только начинаю C++, и вот спрашивают выше указанную программу. М.Б мне просто прописать что-бы программа спрашивала две переменные одну float другую int и потом всё это проделать через перегрузку и вывести два сообщения на экран одно типа float другое int?
Сообщение отредактировал programer - Пятница, 09 Июля 2010, 01:53 |
|
| |
BADCOIQ | Дата: Пятница, 09 Июля 2010, 02:05 | Сообщение # 4 |
Отец-основатель BADCOIQ Corporation © 2010
Сейчас нет на сайте
| programer, МБ приведение типа?
"Do you think we can fly? Well, I do."
|
|
| |
programer | Дата: Пятница, 09 Июля 2010, 03:03 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| м.б - может.Поможете а?
|
|
| |
BOOM | Дата: Пятница, 09 Июля 2010, 09:34 | Сообщение # 6 |
I am the creator of ADE
Сейчас нет на сайте
| У меня вопрос: сколько ты занимаешься C++. Если ты им стал заниматься недавно, то всё встаёт на место. С вопросом перегрузки операторов/функций тем я встречал (не только здесь) много раз. И отвечу в очередной раз: C++ есть язык с системой неявного представления типов. То есть есть возможность одним словом представить тип integer как некое число с плавающей точкой. В данном случае float. Тогда, после числа можно указать букву f: 0.45f. Компилятор, встретив такое выражение, автоматически определит, что речь идёт о float, и тогда выполнится перегрузка функции "Convert". Можно, так же, указав явный тип перед значением, взяв его в скобочку: (long double)3. И в таком случае компилятор распознает, что речь идёт о числе с плавающей точкой и выполнит перегрузку функции. В данном моменте я указал тип "long double", который является типом чисел с плавающей точкой точности 3, и разрядности 80bit. Но компилятор просмотрит тип и подберёт функцию, которая имеет более подходящий аргумент. Но выдаст ошибку предупреждении . Пример записей кода. Code int x; float y; y = Convert(0.56f); //float-float x = (int) Convert(1.66f); //float-int x = Convert(90); //int-int И мой совет: поищи книжки по С++.
______________________________ Я вернулся, и это чудо. ______________________________
Сообщение отредактировал BOOM - Пятница, 09 Июля 2010, 09:36 |
|
| |
programer | Дата: Суббота, 10 Июля 2010, 01:21 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Help люди:D Написал программу.Всё норм компилиться,компануется.. Ввожу числа..нажимаю enter...программа тут же вылетает,то есть результат не кажет мне( что делать?Студия 2008MS Visual Code #include <iostream> using namespace std;
int main() { unsigned short small; unsigned long large; const unsigned short MAXSMALL=65535;
setlocale(LC_ALL, "Russian"); cout<<"Введите небольшое число: "; cin>>small; cout<<"Введите большое число: "; cin>>large; cout<<"число: "<<small<<"..."; //При каждой интераций проверять три условия while(small<<large && large>0 && small<<MAXSMALL) {//После каждых 5000 строк выводить три условия if(small % 5000==0) cout<<"."; small++; large-=2; } cout<<"\nНебольшое: "<<small <<"Большое: "<<large<<endl; cin.get(); return 0; }
Сообщение отредактировал programer - Суббота, 10 Июля 2010, 01:24 |
|
| |
BOOM | Дата: Суббота, 10 Июля 2010, 03:56 | Сообщение # 8 |
I am the creator of ADE
Сейчас нет на сайте
| programer, она не вылетает, а завершается успешно. В Винде консольные приложения завершаются автоматически. Попробуй перед строкой: дописать строку: функция "SYSTEM" выполняет строки из командных сценариев винды (те, которые пишутся в файле *.bat). Команда "Pause" выполняет останов приложения, выводя на экран строку: Quote Для продолжения нажмите любую клавишу как то так. (Это приметив, но для начала достаточно). Если не заработает, попробуй приленковать stdlib.h или всё зависит от компилятора...
______________________________ Я вернулся, и это чудо. ______________________________
Сообщение отредактировал BOOM - Суббота, 10 Июля 2010, 03:58 |
|
| |
programer | Дата: Суббота, 10 Июля 2010, 17:55 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| BOOM,спасибо конечно,но посидев час другой решил проблему написав вот такое Code #include <iostream> using namespace std;
int main() { unsigned short small; unsigned long large; const unsigned short MAXSMALL=65535;
setlocale(LC_ALL,"Russian"); cout<<"Введите небольшое число: "; cin>>small; cout<<"Введите большое число: "; cin>>large; cout<<"Небольшое: "<<small<<"..."; cin.get(); //При каждой интераций проверять три условия while(small<large && large>0 && small<MAXSMALL) {//После каждых 5000 строк выводить три условия if(small % 5000==0) cout<<"."; small++; large-=2; }
cout<<"\nНебольшое "<<small <<" Большое: "<<large<<endl; cin.get(); return 0; } то есть до цикла while дописал ещё оджну задержку
|
|
| |
evilCode | Дата: Суббота, 10 Июля 2010, 19:12 | Сообщение # 10 |
The Metal
Сейчас нет на сайте
| можно ещё подключить и перед написать _getch();
evilCode aka sanyok31
Сообщение отредактировал evilCode - Суббота, 10 Июля 2010, 19:13 |
|
| |
programer | Дата: Понедельник, 12 Июля 2010, 04:49 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Всем привет,есть программа написанная мною,в ней есть два цикла for,нужно как-то заменить первый цикл for на цикл while. То есть нужно заменить первый цикл for на цикл while а второй цикл for сделать вложенным в цикл while,ну что-бы всё стабильно работало как и с for;как то так:) перечитал про цикл while много,но всё ранво не понял как это реализовать. помогите уважаемые программисты,и все кто с таким встречался:) сильно не ругайте,я только учу C++:) Вот прога(создание матрицы xD) Code #include <iostream> using namespace std; int main() { setlocale(LC_ALL,"Russian"); int rows,columns; char theChar; int j=0; cout<<"Сколько колонок? "; cin>>rows; cout<<"Сколько колон? "; cin>>columns; cout<<"Какой символ? "; cin>>theChar; cin.get(); for(int j=0;j<rows;j++) { for(int i=0;i<columns;i++) cout<<theChar; cout<<"\n"; } cin.get(); return 0; }
Сообщение отредактировал programer - Понедельник, 12 Июля 2010, 04:51 |
|
| |
Pesets | Дата: Среда, 14 Июля 2010, 11:46 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Code while (j < rows) { for(int i=0;i<columns;i++) cout<<theChar; cout<<"\n"; j++; } так, чтоли?
|
|
| |