Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
1

Поясните чайнику что тут не так

06.10.2013, 13:43. Показов 1704. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Вот как уже месяц учусь на компьютерного инженера. И всё было замечательно, до первой лабораторной по программированию.

Вот, собственно, цель и требования:
Кликните здесь для просмотра всего текста
Цель работы: освоение методов организации циклических программ сложной структуры.
Требования к выполнению работы:
1. Работа выполняется в три этапа.
2. На первом этапе рассмотреть решение задачи для однозначных значений исходных данных, используя условные операторы. В качестве численных значений выбрать нижние значения данных, заданных в табли-це 1.1.
3. На втором этапе рассмотреть решение задачи для ряда значения второго исходного данного, используя циклы. Привести четыре варианта использования циклов –while, do ..while, for с шагом, отображающим количество вычислений и шагом, отображающим изменение параметра цикла.
4. На третьем этапе рассмотреть решение задачи, используя вло-женные циклы, изменяя значения и первого и второго параметров. Вид циклов может быть произвольным, но различным.
5. На каждом этапе составить блок-схему алгоритма и программу.
6. Оформить вывод результатов таким образом, чтобы четко выделялись этапы решения задачи, значения первого изменяемого параметра (a или b) и при их конкретных значениях выводились в виде таблицы значения второго изменяемого параметра (x или y), а также результата (y, f, z, p).
7. Выполнить анализ полученных результатов


Вот задание моё:
http://cs417431.vk.me/v4174318... ddeMBw.jpg

А вот то, что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
int main ()
{
float a,x;
float y;
printf ("enter var a,x");
scanf_s ("%d, %d", &b, &x);
if (x<-4) 
y=a*x+sin(x);
else 
if (x>=0)
y=sin(a*x)-sqrt(x);
else 
y=x+cos(x);
printf ("x,y");
_getch(); 
return 0
}
Скорее всего, какой-то бред. Мало я пока во всём этом понимаю, но очень хочется разобраться. Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2013, 13:43
Ответы с готовыми решениями:

Что тут не так?
Не понимаю - почему программа не работает... Если все string Заменить на массивы char, то всё...

что тут не так???
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #define size int...

Да что тут не так?
По идее у меня должны выводится положительные числа #include &lt;iostream&gt; using namespace std;...

Что тут не так?
# include &lt;iostream&gt; using namespace std; int number ; int department ; char name1 ; char...

22
26 / 26 / 4
Регистрация: 02.04.2012
Сообщений: 143
06.10.2013, 14:07 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//#include "stdafx.h"
#include "stdio.h"
#include "math.h"
//#include "conio.h" убрали неиспользуемые хэдеры
int main ()
{
float a, x, y; //объявили переменные в кучу =) 
printf("enter var a, x");
scanf("%d, %d", &a, &x); //здесь у вас переменная b откуда-то взялась, меняем на 'a' и поменяли функцию на обычный scanf
if (x<-4) 
y=a*x+sin(x);
else 
if (x>=0)
y=sin(a*x)-sqrt(x);
else 
y=x+cos(x);
printf ("x,y", x, y); // здесь не указали, какие переменные выводим...
//_getch(); убираем эту функцию... зачем она вам? Она возвращает код нажатой клавиши
return 0
}
З.Ы.: код не проверял =(
0
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
06.10.2013, 15:10  [ТС] 3
Выдаёт ошибку в самом конце, на фигурной скобке. Компилирую в Dev-C++, если это имеет значение.
0
26 / 26 / 4
Регистрация: 02.04.2012
Сообщений: 143
06.10.2013, 15:11 4
В конце должно быть
C++
1
return 0;
просто забыли ';'
1
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
06.10.2013, 15:23  [ТС] 5
На компе всё работает, с ноута ничего. В чём может быть проблема?
А так, спасибо большое за помощь
0
26 / 26 / 4
Регистрация: 02.04.2012
Сообщений: 143
06.10.2013, 15:30 6
Цитата Сообщение от Ale-x Посмотреть сообщение
На компе всё работает, с ноута ничего. В чём может быть проблема?
А так, спасибо большое за помощь
Поподробнее пожалуйста. Что вы сделали и какова реакция ноута?
0
Заблокирован
Автор FAQ
06.10.2013, 15:40 7
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
/_getch(); убираем эту функцию... зачем она вам? Она возвращает код нажатой клавиши
- это была стоп точка в программе, которая неминуемо лишь мигнёт на экране если запустим Release слинкованную версию, другое дело стоп точку надо организовывать используя функции в стандарте
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
код не проверял =(
- лучше это делать прежде чем помогать людям

Цитата Сообщение от Salty_Sugar Посмотреть сообщение
printf ("x,y", x, y); // здесь не указали, какие переменные выводим...
- полная глупость, принтфу нужна строка форматирования

Цитата Сообщение от Ale-x Посмотреть сообщение
Вот как уже месяц учусь на компьютерного инженера.
- вы сечас изучаете плюсы или Си, в коде лишь Си функции.

Добавлено через 1 минуту
Цитата Сообщение от Ale-x Посмотреть сообщение
На компе всё работает, с ноута ничего. В чём может быть проблема?
А так, спасибо большое за помощь
- потому, что слинковал в Debug-е и пробуешь запускать на ноуте где вообще студии нет + без стоп точки приложение максимум появится на экране и отработает за 0,1-0,5 сек
0
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
06.10.2013, 15:42  [ТС] 8
Ctrl + F9. Дальше этого окошка дело не идёт.



Юра, сейчас изучаем Си.
Миниатюры
Поясните чайнику что тут не так  
0
Заблокирован
Автор FAQ
06.10.2013, 15:50 9

Не по теме:

PS

Цитата Сообщение от Salty_Sugar Посмотреть сообщение
float a, x, y;
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
scanf("%d, %d", &a, &x);
:facepalm:


Только заметил что в коде была ошибка ещё и в спецификаторе формата
Цитата Сообщение от Ale-x Посмотреть сообщение
scanf_s ("%d, %d", &b, &x);
. ДевС я не использую, вот отработка кода в студии
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <math.h>
 
int main ()
{
    float a,x;
    float y;
    printf ("enter var a,x: ");
    scanf("%f %f", &a, &x);
    if (x<-4) 
        y=a*x+sin(x);
    else 
    if (x>=0)
        y=sin(a*x)-sqrt(x);
    else 
        y=x+cos(x);
    printf ("x,y %f %f\n", x, y);
    getchar();
    getchar();
    return 0;
}
Миниатюры
Поясните чайнику что тут не так  
1
26 / 26 / 4
Регистрация: 02.04.2012
Сообщений: 143
06.10.2013, 15:56 10
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
это была стоп точка в программе, которая неминуемо лишь мигнёт на экране если запустим Release слинкованную версию, другое дело стоп точку надо организовывать используя функции в стандарте
А да? Никогда так ни делал... Ctrl + F5 всегда делал...
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Сообщение от Salty_Sugar
printf ("x,y", x, y); // здесь не указали, какие переменные выводим...
- полная глупость, принтфу нужна строка форматирования
Ах, да... точно =)
0
Заблокирован
Автор FAQ
06.10.2013, 16:00 11
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
да? Никогда так ни делал... Ctrl + F5 всегда делал...
- смотри вот скажем ты написал код, сделал программу, юзер должен установить на свой борт студию/девС и каждый раз компилировать?
Думаю ответ очевиден, что программа должна идти изолированно от кода и ИДЕ. Это достигается статической линковкой т.е когда собираем Release версию проекта. Так вот, после отработки алгоритма, если программа не запускалась через коммандную строку, она как и положено завершит свою работу - т.е это будет выглядеть как быстрый запуск консоли и её исчезновение. На мощных ПК даже не заметим, что консоль "мигала". Так вот чтобы окно консоли "оставалось жить" и "умирало" лишь когда мы захотим, делаются либо точки останова либо тот или иной loop
0
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
06.10.2013, 16:01  [ТС] 12
У меня, видимо, с самой программой что-то. Кроме "enter var a,x:" больше ничего не выводит на экран.
Посоветуете что-то?
0
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 3
06.10.2013, 16:01 13
Здравствуйте! У меня вопрос. На работе новый лептоп Packard Bell, в нем программа Линукс. Причем все знаки на английском. Нет звука, хотя все показатели демонстрируют, что он включен на 100%. Что делать?
0
Заблокирован
Автор FAQ
06.10.2013, 16:07 14
Биллинка, думаю следовало разместить вопрос в ветке Linux : https://www.cyberforum.ru/linux/
Сейчас вы написали в ветви кодеров С/С++ т.е не по адресу.
Цитата Сообщение от Биллинка Посмотреть сообщение
в нем программа Линукс
- это не программа а операционная система
0
26 / 26 / 4
Регистрация: 02.04.2012
Сообщений: 143
06.10.2013, 16:08 15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- смотри вот скажем ты написал код, сделал программу, юзер должен установить на свой борт студию/девС и каждый раз компилировать?
Думаю ответ очевиден что программа должна идти изолированно от кода и ИДЕ это достигается статической линковкой т.е когда собираем Release версию проекта. Так вот после отработки алгоритма, если программа не запускалась через коммандную строку она как и положено завершит свою работу, т.е єто будет выглядеть как быстрый запуск консоли и её исчезновение, на мощных ПК даже не заметим что консоль "мигала", так вот чтобы окно консоли "оставалось жить" и "умирало" лишь когда мы захотим, делаются либо точки останова либо тот или иной loop
Честно говоря, никогда не думал об этом, т.к. учат нас на Visual Studio и программ для пользователей никогда не делали. Решали задачи и отправляли на комп преподу, там проверку проходила автоматически. Как на олимпиадах. Просто не было опыта такого.
0
Заблокирован
Автор FAQ
06.10.2013, 16:10 16
Цитата Сообщение от Ale-x Посмотреть сообщение
У меня, видимо, с самой программой что-то. Кроме "enter var a,x:" больше ничего не выводит на экран.
Посоветуете что-то?
- приаттач ещё раз код с которым работаешь

Обращу твоё внимание что если ты правил свой код то мог пропустить этот момент
Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
printf ("x,y", x, y); // здесь не указали, какие переменные выводим...
- принтфу нужна строка форматирования
и посмотри в моем коде из поста 9 что записано в принтфе
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
printf ("x,y %f %f\n", x, y);
0
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 3
06.10.2013, 16:10 17
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
[nick]
Сейчас вы написали в ветви кодеров С/С++ т.е не по адресу. - это не программа а операционная система
Ну, я же не спец по программам. если бы им была, то таких вопросов, может, и не задавала бы. Спасибо! Попробую пройти по ссылке
0
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 51
06.10.2013, 16:10  [ТС] 18
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <math.h>
 
int main ()
{
    float a,x;
    float y;
    printf ("enter var a,x: ");
    scanf("%f %f", &a, &x);
    if (x<-4) 
        y=a*x+sin(x);
    else 
    if (x>=0)
        y=sin(a*x)-sqrt(x);
    else 
        y=x+cos(x);
    printf ("x,y %f %f\n", x, y);
    getchar();
    getchar();
    return 0;
}
0
Заблокирован
Автор FAQ
06.10.2013, 16:13 19
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
Честно говоря, никогда не думал об этом, т.к. учат нас на Visual Studio и программ для пользователей никогда не делали. Решали задачи и отправляли на комп преподу, там проверку проходила автоматически. Как на олимпиадах. Просто не было опыта такого.
- ну смотри просто собери свой код в дебаге и попробуй запустить полученный ехе-шник на пк где нет студии вообще (99% из ста ехе не запуститься), в оставшемся 1м проценте консоль исчезнет сразу же после запуска.
Для распространения программ следует собирать Release вараинты и делать точки останова (обязательно)
0
Заблокирован
Автор FAQ
06.10.2013, 16:19 20
Ale-x, смотри я просто запустил код в онлайн компиляторе, вбив 0,5 и 0,14 при вводе
https://ideone.com/7pSL1f
Миниатюры
Поясните чайнику что тут не так  
1
06.10.2013, 16:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2013, 16:19
Помогаю со студенческими работами здесь

Что тут не так?
Всем привет! Объясните пожалуйста почему этот код работает некорректно: while (count--) { ...

Что тут не так?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; bool is_it(char *); int main(){...

строки. что-то тут не так
вот код //Программа удаления из строки символов '0..9' #include&lt;iostream&gt; // заголовыочный...

Подскажите,что тут не так?
# include &lt;iosDream.h&gt; int main { int counter != 0 ; loop; counter ++ ; cout&lt;&lt;...


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

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