Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

помощ за задача на С която ме измъчи ;(

Featured Replies

Да се състави програма на С, за упражняване с таблицата за умножение. Програмата да изисква от потребителя да въвежда число, докато не въведе число от интервала [1,9]. След това потребителят трябва да даде верния, според него, резултат от умножението на въведеното число с всяко едно число от 1 до 10. Програмата да извежда съобщение дали отговорът е верен, или не. Накрая потребителят да има възможност да избира дали да прекрати изпълнението на програмата или да въведе друго число, за да тества знанията си. Програмата трябва да осигурява следния диалог (с червен цвят са отбелязани примерни стойности, които е въвел потребителят): Знаеш ли таблицата за умножение? Провери! Въведи число (от 1 до 9): 15 Въведи число (от 1 до 9): 7 1.7=7 Верен отговор! 2.7=14 Верен отговор! 3.7=21 Верен отговор! 4.7=28 Верен отговор! 5.7=35 Верен отговор! 6.7=43 Грешен отговор! Верният отговор е 42! 7.7=49 Верен отговор! 8.7=57 Грешен отговор! Верният отговор е 56! 9.7=63 Верен отговор! 10.7=70 Верен отговор! Желаете ли да проверите знанията си с друго число (y/n)?y Използвайте вложени цикли. Използвайте функцията getche() за въвеждане от потребителя на Y или N за изход от програмата. Функцията getche() връща стойността веднага след като се натисне някакъв клавиш и не буферира линейно входа за разлика от функцията getchar(). Функцията getche() изисква да се включи хедърен файл CONIO.H Пример1 за използване на getche(): char ch; printf(“Желаете ли да продължите (y/n)?”); ch=getche(); if (ch==’y’) { ...... ....... } Пример2: char ch; do { ch=getche(); } while(ch!=’q’) printf(“Въведено е q”); ............. Много спешно ми трябва програмката ;( днес цял ден си блъсках главата, но без успех утре ще кача домоментния ми програс (който изобщо не е прогрес но няма значение) понеже е прекалено късно а и освен че см много изморен кода ми е на друг компютър...

Ето едно бързо решение (с моите възможности на начинаещ :) ). Вероятно има и по-рационално решение, но...

Има още няколко проверки, които трябва да се направят, за да е напълно коректна програмата, но стана късно. Ако имам време утре може да ги добавя.

Ето и това, което написах:

#include <stdio.h>
#include <conio.h>
options();
main()
{
	
	int option;
	options();
	do
	{
	 printf("Jelaete li da proverite znaniqta si s drugo chislo? Y/N");
	 option=getche();
        }
	while ((option!=89)&&(option!=121)&&(option!=78)&&(option!=110));
        switch(option) 
	  {
              case (89): options();; break;
              case (121): options();; break;
              case (78): break;
              case (110): break;
	  }
	 return 0;
}

  options()
   {	
	int i,num,t,result;
	
	do
	{
		printf("Vavedi chislo v intervala [1;9] \n");
		scanf("%d",&num);
	}
	while ((num<1)||(num>9));
	
	for (i=1; i<=10; i++)
	{
		printf(" %d * %d= ",i,num);
		scanf("%d",&result);
		t=num*i;
		if (t==result)
			printf("Veren otgovor!\n");
		else 
			printf("Greshen otgovor.Verniqt otgovor e: %d! \n", t);
	}
    return 0;
   }

Надявам се да върши работа.(И дано отговаря на условието)

  • Автор

Ето едно бързо решение (с моите възможности на начинаещ :yanim: ). Вероятно има и по-рационално решение, но...

Има още няколко проверки, които трябва да се направят, за да е напълно коректна програмата, но стана късно. Ако имам време утре може да ги добавя.

Ето и това, което написах:

#include <stdio.h>
#include <conio.h>
options();
main()
{
	
	int option;
	options();
	do
	{
	 printf("Jelaete li da proverite znaniqta si s drugo chislo? Y/N");
	 option=getche();
        }
	while ((option!=89)&&(option!=121)&&(option!=78)&&(option!=110));
        switch(option) 
	  {
              case (89): options();; break;
              case (121): options();; break;
              case (78): break;
              case (110): break;
	  }
	 return 0;
}

  options()
   {	
	int i,num,t,result;
	
	do
	{
		printf("Vavedi chislo v intervala [1;9] \n");
		scanf("%d",&num);
	}
	while ((num<1)||(num>9));
	
	for (i=1; i<=10; i++)
	{
		printf(" %d * %d= ",i,num);
		scanf("%d",&result);
		t=num*i;
		if (t==result)
			printf("Veren otgovor!\n");
		else 
			printf("Greshen otgovor.Verniqt otgovor e: %d! \n", t);
	}
    return 0;
   }

Надявам се да върши работа.(И дано отговаря на условието)

Мерси много за положения труд обаче трябва да се използват само цикли и getche() понеже само това сме зали до момента, ето до къде бях стигнал вчера:

#include <stdio.h>
#include <conio.h>


int main()
{
      	int x, y, k;
      	char ch;
      	y=1;
	  	printf("%s", "Znaesh li tablicata za umnojenie?Proveri! \n");
	  	printf("%s", "Vavedete chisloto s koeto iskate da se uprajnite:\n");
          while ((scanf("%d", &x)) ==1)
          if(x>0 && 10>x)
          break;
        do {   
		printf("%d*%d=", y,x);
            scanf("%d", &k);
            if (k==x*y) printf("%s", "Veren odgovor!\n");
            else printf("%s", "Greshen odgovor!\n");
            y=y+1;
            }
        while (y<=10);
                 
      	system("PAUSE");

             return 0;
 }

само трябва да измисля как ако не е написано число в интервала да излиза съобщение "въведеното число не е в интервала моля въведете ново:" и също така трябва да добавя накрая след приключване на последния цикъл избор да се продължи ли с ново число или да се излезе от програмата.

Редактирано от xaugyka (преглед на промените)

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Публикацията ви съдържа термини, които не допускаме! Моля, редактирайте съдържанието си и премахнете подчертаните думи по-долу. Ако замените букви от думата със звездички или друго, за да заобиколите това предупреждение, профилът ви ще бъде блокиран и наказан!
Напишете отговор в тази тема...

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.