Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- PK LAB 1
- Dawid Mocek
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include <time.h>
- int main(void) {
- int l, a, b, c, day, month, year, delta, x1, x2;
- int day_now = 23;
- int mth_now = 2;
- int year_now = 2013;
- struct tm person1;
- struct tm person2;
- double seconds;
- /* Part 1 */
- // 1 Wypisz na ekranie dowolny komunikat.
- printf("Part 1\n");
- printf("Msg\n");
- // 2 Popro użytkownika o podanie dowolnej liczby. Wypisz podanš liczbę na ekranie.
- printf("Give number: ");
- scanf("%d", &l);
- printf("You wrote: %d\n", l);
- // 3 Popro użytkownika o podanie daty urodzenia i wypisz na ekranie jego wiek.
- printf("Date of born(dd-mm-YYYY):\n");
- scanf("%2d-%2d-%4d", &day, &month, &year);
- printf("Your age is: %d\n", ( 2013-year ));
- /* Part 2 */
- printf("Part 2\n");
- // 1 Popro użytkownika o podanie daty urodzenia i wypisz, czy obchodził już w tym roku urodziny.
- printf("Date of born(dd-mm-YYYY):\n");
- scanf("%2d-%2d-%4d", &day, &month, &year);
- if( ( mth_now > month ) && ( day_now > day )) {
- printf("Obchodziles juz urodziny!\n");
- }
- else {
- printf("Jeszcze nie miales urodzin\n");
- }
- // 2 Popro użytkownika o podanie dwóch dowolnych liczb i wypisz większš z nich.
- printf("Compare numbers\n");
- printf("First number:\n");
- scanf("%d", &a);
- printf("Second number:\n");
- scanf("%d", &b);
- a >= b ? printf("a >= b\n") : printf("b < a\n");
- /* Part 3 */
- // 1 Napisz program, który wypisze liczby z zakresu podanego przez użytkownika.
- printf("Range\n");
- printf("Min:\n");
- scanf("%d", &a);
- printf("Max:\n");
- scanf("%d", &b);
- if ( a <= b ) {
- while(a <= b) {
- printf("%d\n", a);
- a++;
- }
- }
- else {
- printf("Error: Min > Max !\n");
- }
- // 2 Napisz program, który będzie prosił użytkownika o podanie dowolnej liczby tak długo, aż ten nie poda liczby parzystej.
- printf("Liczba parzysta = koniec\n");
- a = 1;
- while(true) {
- if( a % 2 == 0) break;
- scanf("%d", &a);
- }
- /* Part 4 */
- /*
- Napisz program, który będzie znajdował pierwiastki równania kwadratowego.
- Równanie kwadratowe dane jest wzorem ax^2 + bx + c = 0.
- W celu obliczenia pierwiastków, należy policzyć deltę = b^2 4ac.
- Jeżeli delta jest dodatnia istniejš dwa miejsca zerowe x1/2 = (-b /+ sqrt(delta))/2a.
- Jeżeli delta ma wartoć zero istnieje jedno miejsce zerowe x = -b/2a
- */
- l = 1;
- while(l != 0) {
- printf("\nQuadratic equation - ax^2 + bx + c = 0\n");
- printf("Factor a = ");
- scanf("%d", &a);
- printf("Facrot b = ");
- scanf("%d", &b);
- printf("Factor c = ");
- scanf("%d", &c);
- if ( a == 0 ) {
- printf("Equation is not quadratic !");
- }
- else {
- delta = (b * b) - (4 * a * c) ;
- printf("\tDelta = %d\n", delta);
- if( delta > 0 ) {
- x1 = ((-b) + sqrt((double)delta) ) / ( 2 * a );
- x2 = ((-b) - sqrt((double)delta) ) / ( 2 * a );
- printf("\t\tDelta > 0 so x1 = %d && x2 = %d\n\n", x1, x2);
- }
- else if( delta == 0 ) {
- x1 = ( (-b) / (2 * a));
- printf("\t\tDelta = 0 so x = %d\n\n", x1);
- }
- else {
- printf("\t\tDelta < 0, void result\n\n");
- }
- }
- printf(" 0 - exit ; 1 - continue .\n ");
- printf("Your choice: ");
- scanf("%d", &l);
- }
- // Dariusz Myszor - ekstra zadanko
- // Pobierz dwie daty: Prównaj je i pokaż róznice. (Zadanie nie sprawdzone calkwocie)
- printf("Data urodzenia osobnika pierwszego ( dd-mm-YYYY ) \n");
- scanf("%2d-%2d-%4d", &day, &month, &year);
- person1.tm_mday = day;
- person1.tm_year = year - 1900;
- person1.tm_mon = month - 1;
- person1.tm_hour = 0;
- person1.tm_min = 0;
- person1.tm_sec = 0;
- printf("Data urodzenia osobnika drugiego ( dd-mm-YYYY ) \n");
- scanf("%2d-%2d-%4d", &day, &month, &year);
- person2.tm_mday = day;
- person2.tm_year = year - 1900;
- person2.tm_mon = month - 1;
- person2.tm_hour = 0;
- person2.tm_min = 0;
- person2.tm_sec = 0;
- seconds = difftime(mktime(&person1),mktime(&person2));
- printf ("%.f godzin roznicy\n", seconds/3600);
- system("PAUSE");
- return 0;
- }
- syntax highlighted by Code2HTML, v. 0.9.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement