Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 75
1

Простая программа на Си

23.12.2016, 16:14. Просмотров 2238. Ответов 9
Метки нет (Все метки)

Здравствуйте, я сделал простую программу, в начале выполнения которой отображается мой "логотип"(#include"image.c", в коде - logo()), а дальше программа идет своим чередом. Но дело в том , что при последующих нажатиях Enter появляется мой логотип, а уже за ним идут действия проги. Что не так с кодом?
Код проги:
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<stdlib.h> 
#include<string.h>
#include"image.c"
main(int argc,char *argv[])
{
logo();
if(argc <2){puts("Программа выводит на экран приветствие на русcком или английском языке взависимости от аргументов ввода");
printf("Используйте %s eng или %s rus\n",argv[0],argv[0]);
puts("Нажмите Enter");
getchar();exit(0);}
if(strcmp(argv[1],"eng")==0) {puts("Hello");
puts("Нажмите Enter");
getchar();exit(0);}
if(strcmp(argv[1],"rus")==0) {puts("Привет");
puts("Нажмите Enter");
getchar();exit(0);}
puts("Ошибка");
puts("Нажмите Enter");
getchar();
}
Код логотипа:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
logo ()
{
    puts(" IIII        IIII               ");
   puts("IIIIIII    IIIIIII MM         MM");
   puts("IIIIIIII  IIIIIIII MMM       MMM");
   puts("IIII IIIIIIII IIII MMMM     MMMM");
   puts("IIII  IIIIII  IIII MM MM   MM MM");
   puts("IIII   IIII   IIII MM  MM MM  MM");
   puts("IIII   IIII   IIII MM   MMM   MM");
   puts("IIII    II    IIII MM    M    MM");
   puts("IIII          IIII MM         MM");
   puts("IIII          IIII MM         MM");
   puts("IIII          IIII MM         MM");
   puts(" III          III   M         M ");
   }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2016, 16:14
Ответы с готовыми решениями:

Простая программа.
Доброго времени суток! Пишу на dev c++. Надо, чтобы при нажатии стрелки влево печатало &quot;1&quot;, а...

Простая программа
#include &lt;iostream.h&gt; main() { cout &lt;&lt; &quot;hfhfhfhf&quot;; return 0; } Не выводит текст на экран,...

Простая программа
Подскажите с задачкой. В базе данных есть список слов например 1 слово - супер 2 слово - маркет...

Простая программа
Добрый вечер. Начал изучать c# по книге Шилдта: c# 3.0 полное руководство. в visal studio 2010...

9
Эксперт C
25085 / 15589 / 3332
Регистрация: 24.12.2010
Сообщений: 33,798
23.12.2016, 17:32 2
MalkovM, Скопировал твой код, запустил. Все нормально.

Добавлено через 1 минуту
Совет. Аккуратней форматируй текст. Блоков не видно. Анализировать программу затруднительно.
0
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 75
23.12.2016, 18:56  [ТС] 3
Но ведь логотип появляется после каждого действия. Ведь так? А мне надо, чтобы он показался только в начале проги.
0
Эксперт C
25085 / 15589 / 3332
Регистрация: 24.12.2010
Сообщений: 33,798
23.12.2016, 20:34 4
Цитата Сообщение от MalkovM Посмотреть сообщение
Но ведь логотип появляется после каждого действия. Ведь так? А мне надо, чтобы он показался только в начале проги.
Не знаю. У меня он показывается один раз для каждого запуска программы
0
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 75
15.01.2017, 17:26  [ТС] 5
У меня что на линукс, что на винде логотип вылезает после каждого нажатия Энтер.
0
С чаем беда...
Эксперт CЭксперт С++
8061 / 3946 / 1088
Регистрация: 18.10.2014
Сообщений: 8,485
15.01.2017, 21:38 6
Цитата Сообщение от MalkovM Посмотреть сообщение
У меня что на линукс, что на винде логотип вылезает после каждого нажатия Энтер.
Вы что-то выдумываете. О каком "каждом нажатии Энтер" вообще может идти речь, если в вашей программе нажатие клавиши обрабатывается только один-единственный раз, после чего программа завершается?
0
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 75
16.01.2017, 18:18  [ТС] 7
Запускаю - логотип, описание программы.
Ввожу ./test eng или ./test rus - логотип, результат.
А мне нужно, чтобы лого вылезал только при запуске.
0
-6 / 22 / 7
Регистрация: 16.12.2016
Сообщений: 716
16.01.2017, 18:41 8
Крутая тема с логотипом бро!
P.S. Linux 4.4.0-59-generic QT 5.3 gcc x64 - полет нормальный!
0
1248 / 1010 / 465
Регистрация: 25.12.2016
Сообщений: 3,273
16.01.2017, 21:15 9
Цитата Сообщение от MalkovM Посмотреть сообщение
Запускаю - логотип, описание программы.
Запускаешь из среды разработки - без параметров командной строки.
Цитата Сообщение от MalkovM Посмотреть сообщение
Ввожу ./test eng или ./test rus
Это тоже запуск программы, только уже с параметром.

В итоге, запускаешь программу три раза - получаешь три логотипа. Чего и следовало ожидать.
1
0 / 0 / 0
Регистрация: 20.10.2016
Сообщений: 75
16.01.2017, 21:30  [ТС] 10
Спасибо, разобрался.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2017, 21:30

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Простая программа на С++
Дана линейная программа: #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void...

Простая программа на С
Разбирающиеся люди, помогите сделать 3 задания по программированию. Времени разбираться самому нет,...

простая программа
написать программу которая печатает числа от 1 до 4? так что соседние числа разделены одним...

Простая программа
Помогите решить задачу!!! Ввести значения х и у. Напечатать большее из значений х и у!!!


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

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

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