Advertisement
hocikto19

9.cviko ZPrPr 2

Apr 15th, 2014
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.55 KB | None | 0 0
  1. // uloha-9-1.c -- Tyzden 9 - Uloha 1
  2. // Michal Kovacik, 15.4.2014 07:07:46
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8. typedef struct tovar{
  9.     char nazov[100];
  10.     char vyrobca[100];
  11.     double mnozstvo;
  12.     double cena;
  13. }TOVAR;
  14.  
  15. int main(){
  16.     TOVAR *p = NULL, pom;
  17.     char prikaz[10];
  18.     int zaznamov = 0, i, j, maxZaznamov = 100;
  19.     p = (TOVAR*)malloc(maxZaznamov * sizeof(TOVAR));
  20.     while (scanf("%s", prikaz)!=EOF){
  21.         if (zaznamov == maxZaznamov){
  22.             maxZaznamov *= 2;
  23.             p = (TOVAR*)realloc(p, maxZaznamov * sizeof(TOVAR));
  24.         }
  25.         if (!strcmp("vloz", prikaz)){
  26.             scanf("%s", (p + zaznamov)->nazov);
  27.             scanf("%s", (p + zaznamov)->vyrobca);
  28.             scanf("%lf", &(p + zaznamov)->mnozstvo);
  29.             scanf("%lf", &(p + zaznamov)->cena);
  30.             zaznamov++;
  31.             for (j = zaznamov; j > 0; j--){
  32.                 for (i = 1; i < j; i++){
  33.                     if (strcmp((p + i - 1)->nazov, (p + i)->nazov)>0){
  34.                         pom = *(p + i - 1);
  35.                         *(p + i - 1) = *(p + i);
  36.                         *(p + i) = pom;
  37.                     }
  38.                 }
  39.             }
  40.         }
  41.         if (!strcmp("vypis", prikaz)){
  42.             for (i = 0; i < zaznamov; i++){
  43.                 printf("Nazov=%s, Vyrobca=%s, Mnozstvo=%lf, JednotkovaCena=%lf\n", (p + i)->nazov, (p + i)->vyrobca, (p + i)->mnozstvo, (p + i)->cena);
  44.             }
  45.             putchar('\n');
  46.         }
  47.     }
  48.     return 0;
  49. }
  50.  
  51. // uloha-9-1.c -- Tyzden 9 - Uloha 2
  52. // Michal Kovacik, 15.4.2014 09:07:46
  53.  
  54. #include <stdio.h>
  55. #include <stdlib.h>
  56. #include <string.h>
  57.  
  58. typedef struct tovar{
  59.     char nazov[100];
  60.     char vyrobca[100];
  61.     char mnozJednotka[3];
  62.     double mnozstvo;
  63.     double cena;
  64.     struct tovar *dalsi;
  65. }TOVAR;
  66.  
  67. int main(){
  68.     TOVAR *prvy = NULL, *akt = NULL, *novy = NULL;
  69.     char prikaz[20];
  70.     int size = 0;
  71.     while (scanf("%s", prikaz) != EOF){
  72.         if (!strcmp("vloz", prikaz)){
  73.             novy = (TOVAR*)malloc(sizeof(TOVAR));
  74.             scanf("%s %s %lf %lf %s", novy->nazov, novy->vyrobca, &novy->mnozstvo, &novy->cena, novy->mnozJednotka);
  75.             novy->dalsi = NULL;
  76.             if (prvy == NULL){
  77.                 prvy = novy;
  78.                 size++;
  79.             }
  80.             else{
  81.                 akt = prvy;
  82.                 if (strcmp(prvy->nazov, novy->nazov) >= 0){
  83.                     novy->dalsi = prvy;
  84.                     prvy = novy;
  85.                     size++;
  86.                 }
  87.                 else{
  88.                     while (akt->dalsi != NULL && strcmp(akt->dalsi->nazov, novy->nazov) <= 0)
  89.                         akt = akt->dalsi;
  90.                     novy->dalsi = akt->dalsi;
  91.                     akt->dalsi = novy;
  92.                     size++;
  93.                 }
  94.             }
  95.         }
  96.         if (!strcmp("vypis", prikaz)){
  97.             akt = prvy;
  98.             while (akt != NULL){
  99.                 printf("Nazov=%s, Vyrobca=%s, Mnozstvo=%lf, JednotkovaCena=%lf, MJ=%s\n", akt->nazov, akt->vyrobca, akt->mnozstvo, akt->cena, akt->mnozJednotka);
  100.                 akt = akt->dalsi;
  101.             }
  102.             putchar('\n');
  103.         }
  104.     }
  105.     return 0;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement