Na ćwiczeniach z programowania strukturalnego, na których korzystamy z języka C mieliśmy zadanie:
Napisałem program, który wygląda tak:W katalogu projektu utworzyć plik SQ.TXT i dołączyć go do projektu. Wzorując się na
odpowiednim przykładzie z dokumentu TYPY FUNKCJI napisać wersję A2 funkcji void
nawiasy (void) przekształcającej strumienie wg reguły:
strumień wejściowy: ab@@cdef:g;h%ijkdASt
strumień wyjściowy: ab[@][@]cdef[:]g[;]h[%]ijkd{A}{S}t
(funkcja wyprowadza strumień obejmując każdy znak nie będący literą nawiasami [] zaś
każdą dużą literę nawiasami klamrowymi {})
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
void nawiasy (void);
void nawiasyA2 (char a [], int n);
void nawiasyA2Test (void);
/**************************/
int main()
{
nawiasy();
return 0;
}
/**************************/
void nawiasyA2Test (void)
{
#define MAX 20
char tab [MAX];
nawiasyA2 (tab, MAX);
printf ("-----------------------------------\n"); // separator
printf ("%sKONIEC",tab);
putchar ('\n');
}
/**************************/
void nawiasyA2 (char a [], int n)
{
int c;
int i = 0;
while ((c = getchar()) != EOF && i < n-1)
if (c > 64 && c < 91)
{
a [i++] = '{'; //zamiast putchar ('(');
if (i < n - 1)
a [i++] = c; //zamiast putchar (c);
if (i < n - 1)
a [i++] = '}'; //zamiast putchar ('}');
}
else if (c < 97 || c > 122)
{
a [i++] = '['; // putchar ('[');
if (i < n - 1)
a [i++] = c; // putchar (c);
if (i < n - 1)
a [i++] = ']'; // putchar (']');
}
else
a [i++] = c; // putchar (c);
a [i] = '\0';
}
/**************************/
void nawiasy (void)
{
int c;
while ((c = getchar()) != EOF)
if (c > 64 && c < 91)
{
putchar ('{');
putchar (c);
putchar ('}');
}
else if (c < 97 || c > 122)
{
putchar ('[');
putchar (c);
putchar (']');
}
else
putchar (c);
}
Z góry dziękuję.
