8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
1

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

14.09.2012, 20:54. Показов 3223. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
вот начал изучать язык C++. попробовал написать простейшее консольное приложение в Visual studio 2012. Стандартный "Hello World!" получился на ура) а тут я не понимаю в чем ошибка.
Суть программы состоит в том, что она слева выводит температуру по Цельсию, а справа по Фаренгейту. С шагом 20 градусов Цельсия. У меня же получается все по нулям... подскажите где я в коде накосячил?
скрин в комплекте) если надо сюда выложить код то напишите)
P/s/ заранее спасибо. сильно не пинайте) новичек еще)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.09.2012, 20:54
Ответы с готовыми решениями:

Некорректно работает консольное приложение
Начал изучать язык с++ и столкнулся с такой вот бедой, переписал код из книги ( калькулятор ) при...

консольное приложение (при запуске приложение открывалось на весь экран)
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Консольное приложение
Здравствуйте! Имеется консольное приложение, которое при наборе команды "start" выполняет запуск...

консольное приложение
Помогите разобраться с задачкой! Написать на С++ код консольного приложения, реализующий в...

25
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
14.09.2012, 21:05 2
Romanssss, Код выкладывать всегда надо! И тупо перепиши код из книжки кернигана и Ритчи.И используй адекватный компилер! Эти ваши вижуал студии мрак, MinGW форева!

И то что ты новичек, наоборот дает нам право тебя пинать
0
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:11  [ТС] 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/ юзаю пока то, что успел найти)
0
0 / 0 / 0
Регистрация: 23.02.2009
Сообщений: 7
14.09.2012, 21:15 4
C++
1
printf ("%4.001d\t %5.001d\n", fahr, celsius);
исправь и разберись с функцией printf ()
и добавь return 0; в конце ф-ции main
0
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 21:21  [ТС] 5
Yosido, окей. будем разбираться
0
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 21:31 6
Romanssss, Маленький-маленький совет. Возьми тетрадь и ручку. И с самого начала программы пройди её, всю программу. Вот например. У тебя есть две переменных(celsius и fahr). посмотри какие в самом начале программы они имеют значения и как эти самые значения изменяются в цикле while. Пройди каждую строчку, хотя бы несколько циклов.
И каждую строчку программы записывай в тетрадь. Тогда тебе будет легче понять как работает программа.
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
14.09.2012, 21:33 7
Так ещё можно уточнить результат:
C++
1
2
3
4
5
float fahr, celsius;
float lover, upper, step;
//*********************
//*********************
celsius= 5.0f*(fahr-32.0f)/9.0f;
0
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 21:36 8
Цитата Сообщение от Invader_Zim Посмотреть сообщение
И то что ты новичек, наоборот дает нам право тебя пинать

Не по теме:

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

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

Romanssss, хедеры из стандартной библиотеки надо в < > а не в " "
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
14.09.2012, 21:56 13
Romanssss, рад что понятно, но начинать учить С++ нужно бы не с изучения форматированного вывода функций С типа printf
Почитайте о истории создания языка, библиотеках.
Во всяком случае подключите:
#include <iostream>
и пользуйтесь пока cin и cout, иначе потратите время не оптимально. Посмотрите как это делается в соседних постах.
0
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 22:06 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 точность больше :-[

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

Intel~lect, согласен целиком и полностью, но у меня сейчас задача хотя бы запустить программу (ну чтобы все было на своих местах) с хотя бы целыми числами. а дальше будем уже модифицировать
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
14.09.2012, 22:10 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! разбиралась программка по переводу температур. Потом, правда, многие перепечатывали этот пример. Но очень похоже.
1
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 22:15  [ТС] 17
IGPIGP, все верно. оттуда я этот пример и взял. и он у меня отказывается работать...
как раз Hello World! получился без проблем)
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
14.09.2012, 22:19 18

Не по теме:

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

Не по теме:

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



Добавлено через 3 минуты
Цитата Сообщение от Romanssss Посмотреть сообщение
IGPIGP, все верно. оттуда я этот пример и взял. и он у меня отказывается работать...
как раз Hello World! получился без проблем)
Дык, Вам С или С++ нужно? Если, всё таки С++, то книжку возьмите другую (имхо). Если С, то тут вроде, есть раздел С.
1
8 / 1 / 0
Регистрация: 14.09.2012
Сообщений: 51
14.09.2012, 22:21  [ТС] 19
IGPIGP, С++. мне препод сказал эту книгу взять.
0
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
14.09.2012, 22:29 20

Не по теме:

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



Добавлено через 1 минуту
Цитата Сообщение от Romanssss Посмотреть сообщение
и он у меня отказывается работать...
Он не отказывается работать. Это вы неправильно программу написали
1
14.09.2012, 22:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.09.2012, 22:29
Помогаю со студенческими работами здесь

Консольное приложение на С++
народ помогите плиз решить проблему написал игру под консоль. типа змейки как добавить функцию...

Консольное приложение на С++
Задание такое: 1. Розробити функцію, що повертає абсолютне значення частки від ділення першого ...

Консольное приложение
Приветствую. Решил вспомнить азы программирования на C++, путем создания простенькой игры в...

Консольное приложение
хочу сделдать обычное консольное приложение в DEV c++ 5.11 (лицинзионный) вылезает вот это...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru