Форум программистов, компьютерный форум CyberForum.ru

Консольное приложение C++ не работает - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 20:54     Консольное приложение C++ не работает #1
Всем доброго времени суток.
вот начал изучать язык C++. попробовал написать простейшее консольное приложение в Visual studio 2012. Стандартный "Hello World!" получился на ура) а тут я не понимаю в чем ошибка.
Суть программы состоит в том, что она слева выводит температуру по Цельсию, а справа по Фаренгейту. С шагом 20 градусов Цельсия. У меня же получается все по нулям... подскажите где я в коде накосячил?
скрин в комплекте) если надо сюда выложить код то напишите)
P/s/ заранее спасибо. сильно не пинайте) новичек еще)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2012, 20:54     Консольное приложение C++ не работает
Посмотрите здесь:

Разработать консольное приложение C++
C++ Полноэкранное консольное приложение
Некорректно работает консольное приложение C++
Пишу консольное приложение C++
Вылетает консольное приложение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
14.09.2012, 21:05     Консольное приложение C++ не работает #2
Romanssss, Код выкладывать всегда надо! И тупо перепиши код из книжки кернигана и Ритчи.И используй адекватный компилер! Эти ваши вижуал студии мрак, MinGW форева!

И то что ты новичек, наоборот дает нам право тебя пинать
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:11  [ТС]     Консольное приложение C++ не работает #3
Invader_Zim, в том то и дело, что списываю оттуда код, а он не пашет! выдает вот такую картину...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "math.h"
#include "stdlib.h"
 
 
int _tmain()
{
   int fahr, celsius; 
   int lover, upper, step;
   
   lover= 0; /*нижняя граница температур */
   upper= 300; /*верхняя граница температур */
   step= 20; /* шаг 20*/
 
   fahr = lover;
   while (fahr <= upper)     {
       celsius= fahr*1;
       printf ("%4.001d\t %5.001d\n, fahr, celsius");
       fahr=fahr+step; }
}
P/s/ юзаю пока то, что успел найти)
Yosido
0 / 0 / 0
Регистрация: 23.02.2009
Сообщений: 7
14.09.2012, 21:15     Консольное приложение C++ не работает #4
C++
1
printf ("%4.001d\t %5.001d\n", fahr, celsius);
исправь и разберись с функцией printf ()
и добавь return 0; в конце ф-ции main
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:21  [ТС]     Консольное приложение C++ не работает #5
Yosido, окей. будем разбираться
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 21:31     Консольное приложение C++ не работает #6
Romanssss, Маленький-маленький совет. Возьми тетрадь и ручку. И с самого начала программы пройди её, всю программу. Вот например. У тебя есть две переменных(celsius и fahr). посмотри какие в самом начале программы они имеют значения и как эти самые значения изменяются в цикле while. Пройди каждую строчку, хотя бы несколько циклов.
И каждую строчку программы записывай в тетрадь. Тогда тебе будет легче понять как работает программа.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
14.09.2012, 21:33     Консольное приложение C++ не работает #7
Так ещё можно уточнить результат:
C++
1
2
3
4
5
float fahr, celsius;
float lover, upper, step;
//*********************
//*********************
celsius= 5.0f*(fahr-32.0f)/9.0f;
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 21:36     Консольное приложение C++ не работает #8
Цитата Сообщение от Invader_Zim Посмотреть сообщение
И то что ты новичек, наоборот дает нам право тебя пинать

Не по теме:

А ты не новичек?!

Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:45  [ТС]     Консольное приложение C++ не работает #9
Intel~lect, спасибо за совет) попробую. только что-то у меня не получается понять что означает %d (и почему d меняют на f иногда)?
IGPIGP, ну да) я формулу не написал. переделывал много раз программу и думал, что с формулой что то не так пишу.
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 21:46     Консольное приложение C++ не работает #10
Romanssss, У вас просто неправильная формула первода температуры из Цельсия в Фаренгейты и обратно. Вот ссылка в Википедию. http://ru.wikipedia.org/wiki/Градус_Фаренгейта
IGPIGP правильно все написал.
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:47  [ТС]     Консольное приложение C++ не работает #11
Intel~lect, да да да) с этим то понятно) так и в учебнике написано.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
14.09.2012, 21:54     Консольное приложение C++ не работает #12
Intel~lect,
Если человек не может пройти мимо явной провокации он еще хуже чем провокатор.

Romanssss, хедеры из стандартной библиотеки надо в < > а не в " "
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
14.09.2012, 21:56     Консольное приложение C++ не работает #13
Romanssss, рад что понятно, но начинать учить С++ нужно бы не с изучения форматированного вывода функций С типа printf
Почитайте о истории создания языка, библиотеках.
Во всяком случае подключите:
#include <iostream>
и пользуйтесь пока cin и cout, иначе потратите время не оптимально. Посмотрите как это делается в соседних постах.
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 22:06     Консольное приложение C++ не работает #14
Romanssss Измените тип переменных celsius и fahr на double. Они у вас все целые (int). Ведь температура не всегда можеть быть целым числом! Вы со мной согласны?
Смотрите, 1 градус по Цельсия это 9/5 + 32 = 33.8 (33.8 по Фаренгейте).Число с десятичной точкой!
Так что все свои переменные делайте типа float или double и записывайте формулу как написал IGPIGP celsius= 5.0f*(fahr-32.0f)/9.0f;

Добавлено через 7 минут

Не по теме:

IGPIGP, А почему вы все переменные сделали типа float? Вроде бы в С++ что float что double на скорость не влияют. Зато у double точность больше

Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 22:07  [ТС]     Консольное приложение C++ не работает #15
IGPIGP, спасибо за совет) но д/з пока дают именно такого типа как я сейчас делаю.

Intel~lect, согласен целиком и полностью, но у меня сейчас задача хотя бы запустить программу (ну чтобы все было на своих местах) с хотя бы целыми числами. а дальше будем уже модифицировать
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
14.09.2012, 22:10     Консольное приложение C++ не работает #16
Цитата Сообщение от Intel~lect Посмотреть сообщение
Romanssss Измените тип переменных celsius и fahr на double. Они у вас все целые (int). Ведь температура не всегда можеть быть целым числом! Вы со мной согласны?
Смотрите, 1 градус по Цельсия это 9/5 + 32 = 33.8 (33.8 по Фаренгейте).Число с десятичной точкой!
Так что все свои переменные делайте типа float или double и записывайте формулу как написал IGPIGP celsius= 5.0f*(fahr-32.0f)/9.0f;
Я припоминаю книгу Браен В. Кериган и Денис М. Ритчи "Язык "С"". Классная вещь, для тогдашнего времени. Там как-раз после Hello world! разбиралась программка по переводу температур. Потом, правда, многие перепечатывали этот пример. Но очень похоже.
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 22:15  [ТС]     Консольное приложение C++ не работает #17
IGPIGP, все верно. оттуда я этот пример и взял. и он у меня отказывается работать...
как раз Hello World! получился без проблем)
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
14.09.2012, 22:19     Консольное приложение C++ не работает #18

Не по теме:

IGPIGP, А почему вы все переменные сделали типа float? Вроде бы в С++ что float что double на скорость не влияют. Зато у double точность больше

Не по теме:

Да просто, исходя из точности измерения температуры на сегодняшний день. К тому же новичку еще придётся встречаться с double, почему бы не попробовать float?



Добавлено через 3 минуты
Цитата Сообщение от Romanssss Посмотреть сообщение
IGPIGP, все верно. оттуда я этот пример и взял. и он у меня отказывается работать...
как раз Hello World! получился без проблем)
Дык, Вам С или С++ нужно? Если, всё таки С++, то книжку возьмите другую (имхо). Если С, то тут вроде, есть раздел С.
Romanssss
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 22:21  [ТС]     Консольное приложение C++ не работает #19
IGPIGP, С++. мне препод сказал эту книгу взять.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2012, 22:29     Консольное приложение C++ не работает
Еще ссылки по теме:

зависат консольное приложение C++
Консольное приложение. sizeof; C++
Написать GUI для консольного приложения C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 22:29     Консольное приложение C++ не работает #20

Не по теме:

Romanssss, Могу посоветовать хорошие книги по C++
Харви М. Дейтел, Пол Дж. Дейтел Как программировать на C++ (2008)
Прата С. Язык программирования С++ Лекции и упражнения 2011
Липман С., Лажойе Ж., Му Б. - Язык программирования С++. Вводный курс(4th)(2007)



Добавлено через 1 минуту
Цитата Сообщение от Romanssss Посмотреть сообщение
и он у меня отказывается работать...
Он не отказывается работать. Это вы неправильно программу написали
Yandex
Объявления
14.09.2012, 22:29     Консольное приложение C++ не работает
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru