Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2016, 20:42   #11
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

А, немного перепутал (c genfk c gets - там ниже... ):

___________________________________ ________________________

Надо договориться как нам работать... Создавай проект, пиши код заглушку:

Код:
#include <stdio.h>
#include <string.h>

int main()
{
	char str1[] = "Z1";
	char str2[] = "Z2";
	char str3[] = "Z3";
	char str4[] = "Z4";
	char str5[] = "exit";
	char meniu[6];


	while (strcmp(meniu, str5) != 0)
	{
		printf("Chto delat? \n");
		printf(" 'Task1' - zadanie nomer 1  \n");
		printf(" 'Task2' - zadanie nomer 2  \n");
		printf(" 'Task3' - zadanie nomer 3  \n");
		printf(" 'Task4' - zadanie nomer 4  \n");
		printf(" 'exit'- dlya vihoda  \n");
		gets(meniu);

		if (strcmp(meniu, str1) == 0 || strcmp(meniu, str2) == 0 || strcmp(meniu, str3) == 0 || strcmp(meniu, str4) == 0 || strcmp(meniu, str5) == 0)
		{
			if (strcmp(meniu, str1) == 0)
			{

			}
			
			if (strcmp(meniu, str2) == 0)
			{

			}

			if (strcmp(meniu, str3) == 0)
			{

			}
			if (strcmp(meniu, str4) == 0)
			{

			}
		}
		else printf("Eror! \n");
	}
}
Будем код кусками брать из твоего примера и вставлять в твой пример.
Будешь компилировать и говорить, что всё ОК. А если ошибки - то говори какие.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 20:50   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну что, сделала?

Понимаешь, программу большая - легко ошибиться; проще делать по частям (опираясь на пример)... Я думаю делать так: разбираем кусок кода. изменяем по необходимости и вставляем в твою программу. Твоя задача - компилировать каждый раз код, чтобы не было ошибок.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 20:52   #13
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Обновляй чаще страницу, ведь при добавлении нового комментария - без обновления не отображается.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 21:09   #14
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Откомпилировала,все ок
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 21:17   #15
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Рассмотрим код 1-й задачи (№ 1. Задать с клавиатуры одномерный целочисленный массив из N элементов. Отсортировать массив по возрастанию значений элементов.):
Код:
				system("chcp 1251");
				system("cls");
				rez = 1;
				printf("vvedite razmer odnomernogo massiva: ");
				n = getch();
				n = n - 48;
				printf("%d\n", n);
				//выделение памяти
				arr = (int*)malloc(n*sizeof(int));
				//введение массива
				for (ii = 0; ii<n; ii++)
				{
					printf("arr[%d]=", ii);
					scanf("%d", &arr[ii]);
				}
				for (ii = 0; ii<n; ii++)
				{
					if (arr[ii]>0 & arr[ii] % 2 == 0)
					{
						rez = rez * arr[ii];
					}
				}
				//вывод
				for (ii = 0; ii<n; ii++)
					printf(" %d ", arr[ii]);
				printf("\n");
				printf("Rezyltat = %d\n", rez);
				free(arr);
				arr = NULL;
				fflush(stdin);
1) строчка
Код:
system("chcp 1251");
я так понял, для подключения русского языка, но везде пишут английскими буквами. Уберём.

2) Строчка
Код:
system("cls");
обновление консоли, но у меня ошибку выводило (я помню использовал её в С++, но СИ...). Узнай в интернете какой у нее заголовочный файл нужно подключить для этой строчки. Отдельно попробуй эту строчку у себя. И Скажи всё ОК, ИЛИ ПИШИ ЕСЛИ НЕ ПОЛУЧИТЬСЯ.

3) И подумай что это:
Код:
n = getch();
n = n - 48;
Почему "48"? Почему "-"?


Пока всё, буду разбирать код дальше.
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 21:23   #16
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Прототип функции system() содержится в библиотеке <stdlib.h>.
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 21:27   #17
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

прописала библиотеку #include <stdlib.h> и он стал ругаться на все переменные которые мы дальше используем
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 21:28   #18
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

пОКАЖИ КОД/
ura_111 вне форума Ответить с цитированием
Старый 06.11.2016, 21:31   #19
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char str1[] = "Z1";
	char str2[] = "Z2";
	char str3[] = "Z3";
	char str4[] = "Z4";
	char str5[] = "exit";
	char meniu[6];


	while (strcmp(meniu, str5) != 0)
	{
		printf("Chto delat? \n");
		printf(" 'Task1' - zadanie nomer 1  \n");
		printf(" 'Task2' - zadanie nomer 2  \n");
		printf(" 'Task3' - zadanie nomer 3  \n");
		printf(" 'Task4' - zadanie nomer 4  \n");
		printf(" 'exit'- dlya vihoda  \n");
		gets(meniu);

		if (strcmp(meniu, str1) == 0 || strcmp(meniu, str2) == 0 || strcmp(meniu, str3) == 0 || strcmp(meniu, str4) == 0 || strcmp(meniu, str5) == 0)
		{
			if (strcmp(meniu, str1) == 0)
			{system("cls");
				rez = 1;
				printf("vvedite razmer odnomernogo massiva: ");
				n = getch();
				n = n - 48;
				printf("%d\n", n);
				//выделение памяти
				arr = (int*)malloc(n*sizeof(int));
				//введение массива
				for (ii = 0; ii<n; ii++)
				{
					printf("arr[%d]=", ii);
					scanf("%d", &arr[ii]);
				}
				for (ii = 0; ii<n; ii++)
				{
					if (arr[ii]>0 & arr[ii] % 2 == 0)
					{
						rez = rez * arr[ii];
					}
				}
				//вывод
				for (ii = 0; ii<n; ii++)
					printf(" %d ", arr[ii]);
				printf("\n");
				printf("Rezyltat = %d\n", rez);
				free(arr);
				arr = NULL;
				fflush(stdin);


			}
			
			if (strcmp(meniu, str2) == 0)
			{

			}

			if (strcmp(meniu, str3) == 0)
			{

			}
			if (strcmp(meniu, str4) == 0)
			{

			}
		}
		else printf("Eror! \n");
	}
}
Екатерина57 вне форума Ответить с цитированием
Старый 06.11.2016, 21:37   #20
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я сказал, проверь только 1-у сточку, что бы работала
Код:
system("cls");
и всё. С остальным кодом п. меню 1 надо разбираться.
Тебе надо было:
Код:
..................
if (strcmp(meniu, str1) == 0)
{ 
system("cls");
getch(); // чтобы рано экран не закрывался 
}
......................
1) Изменяй. И "Task1" поменяй под себя.
2) Скажи, что означает это
Код:
n = getch();
n = n - 48;
Почему "-48"?
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивами Devil669 Общие вопросы C/C++ 2 03.05.2013 19:54
Работа с массивами. asmars Общие вопросы C/C++ 0 10.11.2011 01:12
Работа с массивами pashqa Помощь студентам 2 27.05.2011 15:23
Работа с массивами madishka Помощь студентам 2 17.12.2010 21:45
Работа с массивами mchip Microsoft Office Excel 4 11.03.2009 17:11