Нужен такой пример в учебных целях.
Консольная программа ожидает ввода, нажимается клавиша, навпример, стрелка вверх,
Выводит сообщение. Программа опять ждет.
> Нужен такой пример в учебных целях.
> Консольная программа ожидает ввода, нажимается клавиша, навпример, стрелка вверх,
> Выводит сообщение. Программа опять ждет.хм странные у студентов нонче подходы )))
>> Нужен такой пример в учебных целях.
>> Консольная программа ожидает ввода, нажимается клавиша, навпример, стрелка вверх,
>> Выводит сообщение. Программа опять ждет.
> хм странные у студентов нонче подходы )))Ну я не студент, конечно... кодер-любитель :)
Но вопрос пока снят, сделал через scanf.
Вообще почти все сделал, вот только не пойму, как в си избавиться от exit status by default и вернуться в начало программы.
>>> Нужен такой пример в учебных целях.
>>> Консольная программа ожидает ввода, нажимается клавиша, навпример, стрелка вверх,
>>> Выводит сообщение. Программа опять ждет.
>> хм странные у студентов нонче подходы )))
> Ну я не студент, конечно... кодер-любитель :)
> Но вопрос пока снят, сделал через scanf.
> Вообще почти все сделал, вот только не пойму, как в си избавиться
> от exit status by default и вернуться в начало программы.Все, понял.
Видимо, в читстом С# просто так нажатия стрелок не отловить, нужно подключать ncurses.
С зацикливанием тоже разобрался.
На вот, гугель дал:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;namespace ConsoleApplication1
{
class Program
{
[DllImport("msvcrt")]
static extern int _getch();static void Main(string[] args)
{
Console.WriteLine("Hello world");
Console.WriteLine("Press any key to end..");
_getch();
}
}
}
>[оверквотинг удален]
> {
>
> Console.WriteLine("Hello world");
>
> Console.WriteLine("Press any key to end..");
>
> _getch();
> }
> }
> }Спасибо, конечно. Но DLL - это что-то не то. Хотел всего лишь такое сделать, листалку.
Делается с ncurses, как я уже и сказал!Источники:
http://www.gnu.org/software/guile-ncurses/manual/html_node/G...
https://code-live.ru/post/terminal-mode-management-ncurses/
А таже учебник Керниган и Риччи#include <stdio.h>
#include <ncurses.h>
int main () {
initscr();
keypad(stdscr, true);
int n;
noecho();
printw(" Hello! Press arrows! Or F2 to exit ");
int incr (n) {
FILE *file;
struct symb {
char name[20];
};
struct symb shop[255];char *ff = "bd/";
char *end = ".txt";
char fille[100];
sprintf(fille, "%s%d%s", ff, n, end);
char i=0;
if ((file = fopen(fille, "r"))==NULL) {
printw("Can't open file \n");
return (0);
}
else {
while (fscanf (file, "%s", shop[i].name) != EOF) {
printw("%s ", shop[i].name);
i++;
}
close(file);
}
}while ( true ) {
int ch = getch();if (ch ==KEY_LEFT) {
n++;
incr (n);
}
if (ch ==KEY_RIGHT) {
--n;
if (n < 0) {
n = 1;
}
incr (n);
}
if (ch ==KEY_F(2)) {
break;
}
}
getch();
endwin();
return 0;
exit(0);
}
>[оверквотинг удален]
> }
> if (ch ==KEY_F(2)) {
> break;
> }
> }
> getch();
> endwin();
> return 0;
> exit(0);
> }НО без ncurses даже кошернее и код проще... Подумаешь - энтер еще нажимать =)
С# ????
> С# ????Если с ncurses это си ++ ?
>> С# ????
> Если с ncurses это си ++ ?Не обязательно. Но сверху не C#.
>>> С# ????
>> Если с ncurses это си ++ ?
> Не обязательно. Но сверху не C#.Хорошо, что это?
Т.е. компилятор gcc настолько компиляторный компилятор, что может скомпилировать любую куйню, которая визуально издалека нампоминает код С#?
> Т.е. компилятор gcc настолько компиляторный компилятор, что может скомпилировать любую
> куйню, которая визуально издалека нампоминает код С#?Если ты считаешь что С# это коротко записанное название С++ - ты ошибаешься ))
>> Т.е. компилятор gcc настолько компиляторный компилятор, что может скомпилировать любую
>> куйню, которая визуально издалека нампоминает код С#?
> Если ты считаешь что С# это коротко записанное название С++ - ты
> ошибаешься ))Я понимаю, что это два разных языка, но вроде как C++ рассматривается как надстройка над C
Т.е. как бы более высокий уровень абстракции, как это принято говорить...
Или опять я не прав.
>> Т.е. компилятор gcc настолько компиляторный компилятор, что может скомпилировать любую
>> куйню, которая визуально издалека нампоминает код С#?
> Если ты считаешь что С# это коротко записанное название С++ - ты
> ошибаешься ))Ну хотя , конечно, в чистом си while ( true ) {
вообще такого нет, только после объявления ncurses.
> Ну хотя , конечно, в чистом си while ( true ) {
> вообще такого нет, только после объявления ncurses.пляяяя ... придушите его кто нибудь чтоб уже не мучался :)
> Делается с ncurses, как я уже и сказал!деточко, то что ты подобрал - _не_C# :)
Выбрасываю из код все лишнее. Все еще не С#?#include <stdio.h>
main () {
int n;
int incr (n) {
FILE *fp;
char *ff = "bd/";
char *end = ".txt";
char fille[100];
sprintf(fille, "%s%d%s", ff, n, end);
char i=0;
int c;
if ((fp=fopen(fille, "r"))==NULL) {
printf("Can't open file \n");
exit(0);
}
else {
while ((c = getc(fp))!=EOF) {
putc(c, stdout);}
}
close(fp);
printf("\n");
}
int button;while (button != 1) {
printf (" Press 0 to go next page, 9 to previous, 1 to exit \n\n");
scanf("%d", &button);if (button == 0) {
n++;
incr (n);
printf ("\n");
}
if (button == 9) {
n--;
if (n < 0) {
n = 0;
}incr (n);
printf ("\n");
}
if (button ==1) {
printf (" Exit! ");
exit(0);
}
}
}
> Выбрасываю из код все лишнее. Все еще не С#?Нет :)
А ты реально тупишь или это такой стиль троллинга?
> Выбрасываю из код все лишнее. Все еще не С#?вот все, кроме этого - си шарп
а это - грязный си