Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
НУ “Львівська політехніка”
Лабораторна робота №5
“Передача параметрів програмі через аргументи функції main()”
Львів 2005
Назва роботи: Передача параметрів програмі через аргументи функції main().
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками опрацювання символьних рядків. Засвоїти методику роботи з символьними рядками за допомогою стандартних функцій бібліотеки Сі.
Завдання на лабораторну роботу.
Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що містять літеру ’x’, де ’x’ - довільний алфавітний символ, та вивести їх на стандартний пристрій виводу. Довжину речення, в символах та символ ’x’, передавати програмі через аргументи функції main().
Текст програми:
#include <stdio.h> //підключення заголовочних файлів
#include <conio.h>
#include <alloc.h>
#include <string.h>
int main(int argc,char* argv[]) //головна функція програми
{
char *p,*s,*t; //необхідні змінні
char ch,ind;
int i=1,num;
clrscr(); //очистка екрану
if(argc!=3){printf("Error");return 1;} //перевірка наявності параметрів
sscanf(argv[1],"%d",&num); //опрацювання параметрів
sscanf(argv[2],"%c",&ind);
s=(char*)malloc(num+1); //виділення памяті
printf("\nEnter a string:\n");
t=(char*)malloc(2);
t[1]=0;
s[0]=0;
//введення строки
while((ch=getch())!=13)if(i<num){
putchar(ch);
t[0]=ch;
i++;
s=strcat(s,t);
}
//аналіз рядка
//пошук слів, які містять заданий символ
printf("\nAll words contained \"%c\" are:\n",ind);
p = strtok(s, " ");
if (p&&strrchr(p,ind)) printf("%s\n", p);
while(p){
p = strtok(NULL, " ");
if (p&&strrchr(p,ind)) printf("%s\n", p);
}
return 0;
}
Результат роботи програми:
Enter a string:
asdf zxcv bnm fgxc
All words contained “x” are:
zxcv fgxc
Алгоритм програми
Висновок: Ознайомились з функціями для роботи з рядками з стандартної бібліотеки. Випробували деякі з них на практиці. Засвоїли методи опрацювання текстової інформації. Дослідили вид функції main з параметрами.