Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 7

case 55:

int najmniejsza = 0, nowa;


printf("zadanie 55\n\n");
printf("Podawaj kolejne liczby dodatnie (0 aby zakonczyc): \n");
do
{
k = scanf_s("%d", &nowa);
// printf(" k=%d, nowa=%d, najmniejsza=%d\n", k, nowa,
najmniejsza);
gets_s(t, 81); // czyszczenie bufora klawiatury
if (k != 1)
{
printf("Nie podano liczby calkowitej! Sprobuj
ponownie (0 aby skonczyc): ");
continue;
}
if (nowa < 0)
{
printf("Podana liczba jest mniejsza od zera - sprobuj
jeszcze raz: ");
continue;
}
if (najmniejsza == 0) // jeszcze nie wczytano
zadnej liczby
najmniejsza = nowa;
else
if (nowa < najmniejsza && nowa != 0)
najmniejsza = nowa;
if (nowa == 0)
break;
} while (1);
if (najmniejsza == 0)
printf("Nie podano zadnej liczby wiekszej od zera!\n\n");
else
printf("Najmniejsza podana liczba to %d.\n\n",
najmniejsza);
continue;

case 56:
//int ile_wczytano
//double suma
printf("zadanie 56\n\n");
printf("Napisz 10 dowolnych liczb zmiennoprzecinkowych:\n");
do
{
k = scanf_s("%lf", &a);
gets_s(t, 81); // czyszczenie bufora klawiatury
if (k != 1)
{
printf("Nie podano liczby zmiennopozycyjnej! Sprobuj
ponownie: ");
continue;
}
suma += a;
ile_wczytano++;
} while (ile_wczytano < 10);
printf("Srednia podanych liczby to %lf.\n\n", suma /
ile_wczytano);
continue;
case 57:
printf("zadanie 57\n\n");
printf("Napisz ciag dowolnych liczb zmiennoprzecinkowych:\n");
ile_wczytano = 0;
suma = 0.0;
iloczyn = 1.0;
do
{
k = scanf_s("%lf", &a);
gets_s(t, 81); // czyszczenie bufora klawiatury
if (k != 1)
{
printf("Nie podano liczby zmiennopozycyjnej! Sprobuj
ponownie(0 aby skonczyc): ");
continue;
}
if (a == 0)
break;
suma += a;
ile_wczytano++;

iloczyn *= a;
} while (1);
printf("Srednia arytmetyczna podanych liczby to %lf.\n\n", suma /
ile_wczytano);
printf("Srednia geometryczna podanych liczby to %lf.\n\n",
(double)pow(iloczyn, 1.0 / ile_wczytano));
continue;

case 58:
printf("zadanie 58\n\n");
printf("Podaj ciag skladajacy się z zer i jedynek (maks.32
znaki): ");
k = scanf_s("%s", t, 81);
int same0i1 = 1, liczba = 0, potega = 0;
if (k != 1)
{
printf("Nie podano tekstu!\n");
break;
}
j = 0;
while (t[j] != '\0')
{
if (t[j] != '0' && t[j] != '1')
{
printf("Znak numer %d nie jest 0 ani 1!\n", j);
same0i1 = 0;
break;
}
j++;
}
if (j > 32)
{
printf("Podano za dluga liczbe - maks to 32 znaki!\n");
same0i1 = 0;
}
j--;
while (j >= 0)
{
if (t[j] == '1')
liczba += pow(2, potega);
j--;
potega++;
}
if (same0i1)
{//oblicz wartosc
printf("Uzyskana liczba to dziesietnie %d.\n\n", liczba);
}
break;
//

case 59:
double liczby[30], wynik_tablicy=0;
int ile_liczb = 0;
printf("zadanie 59\n\n");
do {
printf("Podaj akcje, ktora chesz wykonac (1,2,3,4,5)\n");
printf("0. zakoncz program\n 1. Wczytaj liczby\n 2. Dodaj\n
3. Odejmij\n 4. Pomnoz\n 5. Podziel\n");
k = scanf_s("%d", &wybor2);
gets_s(t, 80);
if (k != 1)
{
printf("Nie podano liczby calkowitej!\n");
continue;
}
switch (wybor2)
{
case 0:
break;

case 1:
do
{
printf("Podaj dowolna liczbe zmiennoprzecinkowa
(0, aby skonczyc): ");
k = scanf_s("%lf", &a);
gets_s(t, 81); // czyszczenie bufora
klawiatury
if (k != 1)
{
printf("Nie podano liczby
zmiennopozycyjnej! Sprobuj ponownie: \n");
continue;
}
if (a != 0)
{
liczby[ile_liczb] = a;
ile_liczb++;
}
} while (a != 0);
if (ile_liczb == 0)
printf("Nie podano zadnej liczby roznej od
zera!\n");
else
{
printf("Wczytane liczby to: ");
for (x = 0; x < ile_liczb; x++)
printf("%lf ", liczby[x]);
}
break;
case 2: // dodawanie
if(ile_liczb==0)
{
printf("Nie wczytano zadnych liczb!\n");
break;
}
wynik_tablicy = 0.0;
for (x = 0; x < ile_liczb; x++)
wynik_tablicy += liczby[x];
printf("Suma podanych liczb to %lf.\n\n",
wynik_tablicy);
break;
case 3: // odejmowanie
if(ile_liczb==0)
{
printf("Nie wczytano zadnych liczb!\n");
break;
}
wynik_tablicy = liczby[0];
for (x = 1; x < ile_liczb; x++)
wynik_tablicy -= liczby[x];
printf("Roznica podanych liczb to %lf.\n\n",
wynik_tablicy);
break;

case 4: //mnożenie
if (ile_liczb == 0)
{
printf("Nie wczytano zadnych liczb!\n");
break;
}
wynik_tablicy = 1.0;
for (x = 0; x < ile_liczb; x++)
wynik_tablicy *= liczby[x];
printf("Iloczyn podanych liczb to %lf.\n\n",
wynik_tablicy);
break;

case 5: //dzielenie
if (ile_liczb == 0)
{
printf("Nie wczytano zadnych liczb!\n");
break;
}
wynik_tablicy = liczby[0];
for (x = 1; x < ile_liczb; x++)
wynik_tablicy /= liczby[x];
printf("Suma podanych liczb to %lf.\n\n",
wynik_tablicy);
break;

default:
printf("Nie wybrano prawidlowej opcji!\n\n");
break;
} // switch(wybor2)
} // do:while: kolejne opcje
while (wybor2!=0);
break;

case 60:
wynik = 1;
printf("zadanie 60\n\n");
while (wynik != '0') {
printf("Podaj z jakich danych chcesz skorzystac
(0=koniec):\n\n");
printf(" bok + wysokosc na niego (1), 2 boki i
kat miedzy nimi (2) lub 3 boki (3); 0=powrot do wyboru zadania: ");
wynik = getchar();
wynik = getchar(); // czyszczenie bufora
switch (wynik) {
case '1':
do {
printf("Podaj bok i spuszczona nan
wysokosc: ");
k = scanf_s("%lf %lf", &a,
&wysokosc);
if (k != 2)
{
printf("Nie podano dwoch
danych\n\n");
gets_s(t, 81); // czyszenie
bufora
continue;
}
pole = (a * wysokosc / 2.0);
} while (k != 2);
break;

case '2':
do {
printf("Podaj dwa boki i kat miedzy
nimi: ");
k = scanf_s("%lf %lf %lf", &a, &b,
&kat);
if (k != 3)
{
printf("Nie podano trzech
danych\n\n");
continue;
}
printf("W czym podano kat - stopnie
(S) czy radiany (R)? ");
wybor = getchar();
wybor = getchar();
switch (wybor)
{
printf("%d", (int)wybor);
case 'S':
case 's':
kat = kat * pi / 180.0;
break;
case 'R':
case 'r':
break;
default:
printf("Powinienes byl podac
S lub R!\n");
continue;
}
} while (k != 3);
pole = (a * b * sin(kat)) / 2.0;
break;
case '3':
do {
printf("Podaj dlugosci trzech
bokow: ");
k = scanf_s("%lf %lf %lf", &a, &b,
&c);
if (k != 3)
{
printf("Nie podano trzech
liczb!\n");
continue;
}
} while (k !=
3);
double obwod2 = 0.0;
obwod2 = (a + b + c) / 2.0;
pole = sqrt(obwod2 * (obwod2 - a) *
(obwod2 - b) * (obwod2 - c));
break;

case '0':
break;
default:
printf("Dokonano niewlasciwego wyboru
opcji!\n");
continue;
} // koniec switch
if (wynik == '0')
break;
printf("Pole wybranego trojkata wynosi %lf.\n",
pole);
} // koniec while()
break;

case 61:
int sukces = 0;
printf("zadanie 46\n\n");
do {
printf("Podaj godzine w formacie hh:mm ");
//sprawdze czy czas jest w odpowiednim formacie
//sprawdze czy godzina jest pomiedzy 0 a 23
//sprawdze czy minuty sa pomiedzy 0 a 59
k = scanf_s("%02d:%02d", &hh, &mm);
if (k != 2)
{
gets_s(t, 80); // wyczytanie
czekajacych znakow z klawiatury
printf("Nie podano prawidlowej godziny\n\
n");
continue;
}
if (hh < 0 || hh>23)
{
printf("Podana godzina nie jest pomiedzy
0 a 23n\n\n ");
continue;
}
if (mm < 0 || mm>59)
{
printf("Podane minuty nie są pomiedzy 0 a
59\n\n");
continue;
}
sukces = 1;
if (mm == 0)
{
printf("Oto wczytana godzina: \n ");
printf("Godzina %d\n\n", hh);
continue;
}
if (mm >= 5 && mm <= 29)
{
printf("Oto wczytana godzina: \n ");
printf("%d minut po %d\n\n", mm, hh);
continue;
}
if (mm == 2 || mm == 3 || mm == 4 || mm == 22
|| mm == 23 || mm == 24) {
printf("Oto wczytana godzina: \n ");
printf("%d minuty po %d\n\n", mm, hh);
continue;
}
if (mm == 1) {
printf("Oto wczytana godzina: \n ");
printf("%d minuta po %d\n\n", mm, hh);
continue;
}
if (mm == 30) {
printf("Oto wczytana godzina: \n ");
printf("wpol do %d\n\n", hh + 1);
continue;
}
if (mm > 31 && mm <= 59) {
printf("Oto wczytana godzina: \n ");
printf("%d minut do %d\n\n", mm, hh);
continue;
}
} while (!sukces);

You might also like