Функция scanf - въвеждане на данни

Описание на функциите scanf и printf е включено в библиотечния файл stdio.h. Библиотечна функция scanf използва следните стандартни спецификатори за преобразуване :
%c - знак
%d - цяло число със знак
%f - реално число (число с плаваща запетая)
%s - знаков низ, стринг
%u - цяло число без знак

Библиотечна функция printf извежда на екрана съобщение и/или стойност на данни. Същите спецификатори се използват и от библиотечната функция printf.


Следващият пример за библиотечна функция scanf илюстрира как се въвежда стринг от клавиатурата.
#include<iostream>
#include <stdio.h>
using namespace std;

int main()
{
   int i;
   char mas[80]; 
 
// Opisanie na bibliotechni funkcii za nasochwane na potoka pri startirane na programata
// funkciq : standartno ustrojstwo
// stdin    : standartno whodno ustrojstwo - w sluchaq klawiatura
// stdout   : standartno izhodno ustrojstwo - w sluchaq monitor
// stderr   : standartno ustrojstwo za izwevdane na greshki - w sluchaq monitor
// stdprn   : standartno izhodno ustrojstwo - w sluchaq printer

   printf ("Da se systawi programa, chrez ");//bez npreminawane na now red
   printf ("koqto se wywevdat realno\n");//s preminawane na now red
   fprintf (stdout,"chislo ot interwala ");//bez preminawane na now red
   fprintf (stdout,"[-99.9..99.99].\n");//s preminawane na now red
   printf ("Programata da izwede cqlata chast na chisloto ili syobshenie\n");
   fprintf (stdout,"za greshka, ako wywedenata stojnost e nekorektna.\n");
   printf ("Primer: -45.93 Izhod -45\n");

   printf ("Wywedete chislo ot interwala: [-99.9..99.9]: ");
   if ( fscanf (stdin,"%d", &i))

      printf("Programata wyzpriema stojnost: %i\n", i);
   else
   {  
       fprintf(stderr, "Ot klawiaturata e wywedena greshna informaciq!\n");
      //exit(1);//
   }
   system("pause");
   return 0;
}//kraj na pograma scanf 

Нека разгледаме следната примерна задача: За успоредник с въведени две прилежащи страни a,b, както и сключения между тях остър ъгъл трябва да изчислим лицето му.

Алгоритъм:
Използва се функция scanf за въвеждане на входни данни: дължини на страни a,b, и ъгъл.
Преобразуваме въведените данни за ъгъла в радиани: yg=y*pi/180;
Лицето S се изчислява по формулата: S=a*b*sin(yg);
Следващата програма дава решен пример за въвеждане на входни данни чрез функция scanf:
#include<iostream>
#include <stdio.h>
 
#include <cmath>
using namespace std;
double pi=3.1415926;
int main()
{   float a,b,y,yg,S;
  printf ("Da se systawi programa, chrez koqto se wywevdat\n");
  printf ("dwe prilevashi strani na usporednik - a,b, kakto i\n");
  printf ("ygyla mevdu tqh - yg i se izwevda liceto na ysporednika\n");
  printf ("Primer: a=8; b=9; yg=30 Izhod: S=36.\n");

  printf ("Strana a: "); scanf ("%f",&a);
  printf ("Strana b: "); scanf ("%f",&b);
  printf ("Ygyl mevdu stranite: "); scanf ("%f",&y);
  yg=y*pi/180;
 S=a*b*sin(yg);
  printf ("Liceto na usporednika e: %f\n", S);
  system("pause");
   return 0;
}//kraj na pograma scanf 

Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.

Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: