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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
#1

Программа не выводит результат - C++

15.05.2013, 02:32. Просмотров 487. Ответов 14
Метки нет (Все метки)

Всем привет! У меня есть программа, написанная мною, на 90% готовая, однако, в ней то ли чего-то не хватает, то ли ошибка какая-то, которая не выводится. Она просто закрывается после ввода года. Суть: пользователь вводит год, ему программа должна выдать кого это был год по Китайскому гороскопу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <locale.h>
#include <conio.h>
#include <stdio.h>
void main()
    {
        setlocale(0, "rus");
        int y, year;
        printf("Введите год: ");
        scanf("%d",&y);
        year=y/12;
        year=y*12;
        y=y-year;
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        getch();
    }
Вот, собственно, сам код, прошу помощи гуру этого раздела форума.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 02:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа не выводит результат (C++):

Программа не выводит результат...??? - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; using namespace std; class stroki { private: string str; ...

Программа не выводит результат - C++
Здравствуйте, MVS 2012 адекватно компилирует, но при тестировании не выводит результат Листинг: #include &lt;iostream&gt; using...

Программа не выводит результат - C++
Ничего не хочет выводить в чем проблема? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; ...

Программа не выводит результат - C++
Используя рекурсивные функции, решите следующие задачи: Подсчитать количество цифр в заданном числе. #include &lt;iostream&gt; ...

Программа выводит один результат - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_CTYPE, &quot;rus&quot;); int magic; // магическое число. ...

Программа подсчета строк, слов и символов не выводит результат - C++
Читаю книгу по с++ и там есть пример такой задачи. Когда запускаю ее то она ничего не выводит. В чем проблема? #include &lt;stdio.h&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 02:40 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "stdafx.h"
#include <locale.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
void main()
    {
        setlocale(0, "rus");
        int y, year;
        printf("Введите год: ");
        
        cin>>y;
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        getch ();
        getch();
    }
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
15.05.2013, 02:49  [ТС] #3
faLek, #include "stdafx.h" - пишет в нем ошибка, не могу запустить, что можете подсказать?

Добавлено через 3 минуты
faLek, Ошибка 2 error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory c:\Users\Илья\documents\visual studio 2010\Projects\Laba5\Laba5\Laba_5.cpp 1
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 02:49 #4
просто стерите тогда эту строчку...
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
15.05.2013, 02:52  [ТС] #5
faLek, попробовал без него - тоже самое, закрытие окна идет

Добавлено через 2 минуты
faLek, ввожу данные, он их считывает(наверное), но дальше ничего не происходит. Нажимаю ентер - закрытие окна программы
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 02:54 #6
странно у меня предыдущая версия работает...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <locale.h>
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main()
    {
        setlocale(0, "rus");
        int y;
        cout<<"Введите год: ";
        cin>>y;
        
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        
        system ("pause");
        return 0;
    }
Добавлено через 1 минуту
Цитата Сообщение от Toda Посмотреть сообщение
C++
1
2
3
year=y/12;
year=y*12;
 y=y-year
Да просто вы можете объяснить,что за глупые арифметические действия?
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
15.05.2013, 02:55  [ТС] #7
faLek, мда... ЧТо-то меня это начинает беспокоить, так как и следующая Ваша программа у меня не хочет работать(( Что это может быть?
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 02:56 #8
какой у вас компилятор?
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
15.05.2013, 03:02  [ТС] #9
faLek, стесняюсь спросить:"Где его можно посмотреть?"

Добавлено через 3 минуты
faLek, вот что показал файл cl.exe:
Код
<configuration>
  <startup>
    <requiredRuntime safemode="true" imageVersion="v4.0.30319"/>
    <supportedRuntime version="v4.0.30319"/>
    <supportedRuntime version="v4.0"/>
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <publisherPolicy apply="no" />
    </assemblyBinding>
  </runtime>
</configuration>
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 03:06 #10
как называется программа,куда вы закидваете код?

Добавлено через 37 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <locale.h>
#include <conio.h>
#include <stdio.h>
void main()
    {
        setlocale(0, "rus");
        int y, year;
        printf("Введите год: ");
        scanf("%d",&y);
        
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        getch();
    }
Добавлено через 22 секунды
Попробуйте так
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
15.05.2013, 03:09 #11
Цитата Сообщение от faLek Посмотреть сообщение
Да просто вы можете объяснить,что за глупые арифметические действия?
Там наверное что-то типа
C++
1
y%=12;
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
15.05.2013, 03:18 #12
Nekto,
C++
1
2
3
year=y/12;
        year=y*12;
        y=y-year;
но я думаю эти действия не совсем похожи на деление с остатком
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
15.05.2013, 03:49  [ТС] #13
faLek, visual studio

Добавлено через 4 минуты
faLek, почему не похоже на деление? Пользователь вводит год. Мы делим число на 12(количество годов), получаем целую цифру без остатка, затем эту же цифру умножаем на 12 и отнимаем начальный год, так мы узнаем какой порядковый номер у данного года

Добавлено через 54 секунды
Цитата Сообщение от faLek Посмотреть сообщение
как называется программа,куда вы закидваете код?

Добавлено через 37 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <locale.h>
#include <conio.h>
#include <stdio.h>
void main()
    {
        setlocale(0, "rus");
        int y, year;
        printf("Введите год: ");
        scanf("%d",&y);
        
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        getch();
    }
Добавлено через 22 секунды
Попробуйте так
Так вот работает

Добавлено через 18 минут
Я решил ее!! Сам решил эту задачу Вот полное решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <locale.h>
#include <conio.h>
#include <stdio.h>
void main()
    {
        setlocale(0, "rus");
        int y, year, year2;
        printf("Введите год: ");
        scanf("%d",&y);
        year=y/12;
        year2=year*12;
        y=y-year2;
        switch(y)
                {
            case 1: puts("Год крысы!"); break;
            case 2: puts("Год коровы!"); break;
            case 3: puts("Год тигра!"); break;
            case 4: puts("Год зайца!"); break;
            case 5: puts("Год дракона!"); break;
            case 6: puts("Год змеи!"); break;
            case 7: puts("Год лошади!"); break;
            case 8: puts("Год овцы!"); break;
            case 9: puts("Год обезьяны!"); break;
            case 10: puts("Год петуха!"); break;
            case 11: puts("Год собаки!"); break;
            case 12: puts("Год свиньи!"); break;
                }
        getch();
    }
Добавлено через 38 секунд
Буду рад, если кому-то помог, буду рад "спасибкам"
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
15.05.2013, 09:11 #14
Цитата Сообщение от Toda Посмотреть сообщение
faLek, почему не похоже на деление? Пользователь вводит год. Мы делим число на 12(количество годов), получаем целую цифру без остатка, затем эту же цифру умножаем на 12 и отнимаем начальный год, так мы узнаем какой порядковый номер у данного года
Это можно заменить одним действием.
C++
1
y%=12;
И в case должны быть числа от 0 до 11.
ЗЫ и порядок надо другой сделать, если ты используешь реальные астрологические года, а не сам от фонаря придумал.
Toda
10 / 10 / 0
Регистрация: 16.11.2012
Сообщений: 320
16.05.2013, 23:13  [ТС] #15
Nekto,
C++
1
y%=12;
можно заменить на
C++
1
year=y/12;
По поводу кейсов - спасибо, я учту, а годы - да, Вы правы, сидел выдумывал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 23:13
Привет! Вот еще темы с ответами:

Программа котрая ищет дубликаты в целочисленном массиве и если они есть выводит результат на экран - C++
Я не могу понять почему когда присваиваешь элементы одного массива другому элементы второго массива всё равно равны 0 #include...

C++ не выводит результат - C++
W7 ,64bit Borland C++ Builder Enterprise v6.0(10.161),я начинающий Копирую рабочую программу,вставляю в проект,запускаю,не выводит...

Не выводит результат - C++
Ни как не могу вывести результат. #include &lt;stdio.h&gt; #include &lt;math.h&gt; int F(int x) { return atan (x)+pow(log( x*x ),2); ...

не выводит результат C++ - C++
int _tmain(int argc, _TCHAR* argv) { float x2, y2, z2, r, x1, y1, z1, s; if (x1&lt;0) else if (y1&lt;0) else if (z1&lt;0) else...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.05.2013, 23:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru