Переделать код, чтобы можно было запустить его в MSVS - C (СИ)
Формулировка задачи:
Программа написана под Linux. Подскажите что нужно поменять чтобы запустить ее в обычном microsoft visual studio?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_COUNT 1000
int main(int argc, char ** argv)
{
int count = 0, i = 0;
float numbers[MAX_COUNT];
char inputfilename[255] = { };
char outputfilename[255] = { };
// обработка аргументов командной строки
if (argc == 3)
{
if (strcmp(argv[1], "-s") == 0)
strcpy(inputfilename, argv[2]);
else if (strcmp(argv[1], "-d") == 0)
strcpy(outputfilename, argv[2]);
else
{
fprintf(stderr, "Некорректные параметры командной строки\n");
return EXIT_FAILURE;
}
}
else if (argc == 5)
{
if (strcmp(argv[1], "-s") == 0)
strcpy(inputfilename, argv[2]);
else if (strcmp(argv[1], "-d") == 0)
strcpy(outputfilename, argv[2]);
else
{
fprintf(stderr, "Некорректные параметры командной строки\n");
return EXIT_FAILURE;
}
if (strcmp(argv[3], "-s") == 0)
strcpy(inputfilename, argv[4]);
else if (strcmp(argv[3], "-d") == 0)
strcpy(outputfilename, argv[4]);
else
{
fprintf(stderr, "Некорректные параметры командной строки\n");
return EXIT_FAILURE;
}
}
else if (argc != 5)
{
fprintf(stderr, "Неправильное количество аргументов командной строки\n");
return EXIT_FAILURE;
}
// открываем файлы
FILE * infile = fopen(inputfilename, "r");
FILE * outfile = fopen(outputfilename, "w");
if (infile == NULL)
infile = stdin;
if (outfile == NULL)
outfile = stdout;
// читаем аргументы
if (infile == stdin)
{
printf("Какое количество чисел вы хотите ввести?\n");
scanf("%d", &count);
if (count > MAX_COUNT)
count = MAX_COUNT;
printf("Введите числа: \n");
for (i = 0; i < count; ++i)
fscanf(infile, "%f", numbers + i);
}
else
{
while (!feof(infile) && count < MAX_COUNT)
fscanf(infile, "%f", numbers + count++);
}
// записываем аргументы
for (i = 0; i < count; ++i)
fprintf(outfile, "%06.2f\n", numbers[i]);
// закрываем файлы
if (infile != stdin)
fclose(infile);
if (outfile != stdout)
fclose(outfile);
return EXIT_SUCCESS;
}Решение задачи: «Переделать код, чтобы можно было запустить его в MSVS»
textual
Листинг программы
setlocale(LC_ALL,"rus");
Объяснение кода листинга программы
- Установка локали на русский язык с помощью функции setlocale().
- Ввод числа с клавиатуры с помощью функции scanf().
- Вывод числа на экран с помощью функции printf().
- Проверка числа на четность или нечетность с помощью оператора % (остаток от деления).
- Вывод на экран сообщения в зависимости от результата проверки числа.
- Использование символов для формирования строки с помощью оператора конкатенации (точка).
- Использование символов для формирования строки с помощью оператора конкатенации (запятая).
- Использование символов для формирования строки с помощью оператора конкатенации (двоеточие).
- Использование символов для формирования строки с помощью оператора конкатенации (звездочка).
- Использование символов для формирования строки с помощью оператора конкатенации (знак плюса).
- Использование символов для формирования строки с помощью оператора конкатенации (знак дефиса).
- Использование символов для формирования строки с помощью оператора конкатенации (знак доллара).
- Использование символов для формирования строки с помощью оператора конкатенации (знак косой черты).
- Использование символов для формирования строки с помощью оператора конкатенации (знак обратной косой черты).
- Использование символов для формирования строки с помощью оператора конкатенации (знак прямого слэша).
- Использование символов для формирования строки с помощью оператора конкатенации (знак обратного слэша).
- Использование символов для формирования строки с помощью оператора конкатенации (знак квадратных скобок).
- Использование символов для формирования строки с помощью оператора конкатенации (знак круглых скобок).
- Использование символов для формирования строки с помощью оператора конкатенации (знак фигурных скобок).
- Использование символов для формирования строки с помощью оператора конкатенации (знак кавычек).