Advertisement
Matqux

házi feladat generátor

Nov 17th, 2019
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. #define  NUM 150
  7.  
  8.  
  9. int main()
  10. {
  11.     srand(time(NULL)); //timer inicializálás a véletlenszám generáláshoz
  12.  
  13.     FILE *adatok; //fájlok létrehozása
  14.     FILE *jellemzok;
  15.  
  16.     adatok = fopen("adatok.txt", "w"); //fájlok megnyitása írásra
  17.     jellemzok = fopen("jellemzok.txt", "w");
  18.  
  19.     if (jellemzok == NULL || adatok == NULL) //hibakezelés olvasáskor
  20.     {
  21.         printf("Fajl megnyitasa sikertelen!");
  22.         return -1;
  23.     }
  24.  
  25.  
  26.     for (int i = 0; i < NUM; i++) //NUM számú sort fogunk generálni
  27.     {
  28.         int random; //a random változóval fogjuk az adatokat létrehozni
  29.  
  30.         {//a rendszámok legenerálása és kiírása mindkét fájlba
  31.             for (int j = 0; j < 3; j++)  //3 nagybetű
  32.             {
  33.                 random = rand() % 26;
  34.                 fprintf(adatok, "%c", 65 + random);
  35.                 fprintf(jellemzok, "%c", 65 + random);
  36.             }
  37.  
  38.             fprintf(adatok, "-"); //kötőjel
  39.             fprintf(jellemzok, "-");
  40.  
  41.             for (int j = 0; j < 3; j++) //3 szám
  42.             {
  43.                 random = rand() % 10;
  44.                 fprintf(adatok, "%d", random);
  45.                 fprintf(jellemzok, "%d", random);
  46.             }
  47.  
  48.             fprintf(adatok, "\t");
  49.             fprintf(jellemzok, "\t");
  50.         }
  51.  
  52.         {// az adatok legenerálása az adatok.txt fájlba
  53.             random = rand() % 5; //öt gyártó közül valamit választunk
  54.             switch (random)
  55.             {
  56.             case 0:
  57.                 fprintf(adatok, "Mazda\t"); //egy gyártóhoz adott típusok generálása
  58.                 random = rand() % 5;
  59.                 switch (random)
  60.                 {
  61.                 case 0: fprintf(adatok, "323\t"); break;
  62.                 case 1: fprintf(adatok, "3\t"); break;
  63.                 case 2: fprintf(adatok, "6\t"); break;
  64.                 case 3: fprintf(adatok, "CX-5\t"); break;
  65.                 case 4: fprintf(adatok, "Premacy\t"); break;
  66.                 }
  67.                 break;
  68.             case 1: fprintf(adatok, "Honda\t");
  69.                 random = rand() % 3;
  70.                 switch (random)
  71.                 {
  72.                 case 0: fprintf(adatok, "Accord\t"); break;
  73.                 case 1: fprintf(adatok, "Civic\t"); break;
  74.                 case 2: fprintf(adatok, "Jazz\t"); break;
  75.                 }
  76.                 break;
  77.             case 2: fprintf(adatok, "Toyota\t");
  78.                 random = rand() % 4;
  79.                 switch (random)
  80.                 {
  81.                 case 0: fprintf(adatok, "Prius\t"); break;
  82.                 case 1: fprintf(adatok, "Auris\t"); break;
  83.                 case 2: fprintf(adatok, "Corolla\t"); break;
  84.                 case 3: fprintf(adatok, "Yaris\t"); break;
  85.                 }
  86.                 break;
  87.             case 3: fprintf(adatok, "Hyundai\t");
  88.                 random = rand() % 4;
  89.                 switch (random)
  90.                 {
  91.                 case 0: fprintf(adatok, "Getz\t"); break;
  92.                 case 1: fprintf(adatok, "Accent\t"); break;
  93.                 case 2: fprintf(adatok, "i20\t"); break;
  94.                 case 3: fprintf(adatok, "i30\t"); break;
  95.                 }
  96.                 break;
  97.             case 4: fprintf(adatok, "Suzuki\t");
  98.                 random = rand() % 3;
  99.                 switch (random)
  100.                 {
  101.                 case 0: fprintf(adatok, "Swift\t"); break;
  102.                 case 1: fprintf(adatok, "Ignis\t"); break;
  103.                 case 2: fprintf(adatok, "Vitara\t"); break;
  104.                 }
  105.                 break;
  106.             }
  107.  
  108.             fprintf(adatok, "%d\t", (rand() % 25) + 1995); //gyártási év generálása
  109.  
  110.             random = rand() % 6; //szín generálása
  111.             switch (random)
  112.             {
  113.             case 0: fprintf(adatok, "fekete\t"); break;
  114.             case 1: fprintf(adatok, "feher\t"); break;
  115.             case 2: fprintf(adatok, "szurke\t"); break;
  116.             case 3: fprintf(adatok, "zold\t"); break;
  117.             case 4: fprintf(adatok, "piros\t"); break;
  118.             case 5: fprintf(adatok, "kek\t"); break;
  119.             }
  120.  
  121.             random = rand() % 2; //ülőhelyek számának generálása
  122.             switch (random)
  123.             {
  124.             case 0: fprintf(adatok, "5\t"); break;
  125.             case 1: fprintf(adatok, "7\t"); break;
  126.             }
  127.  
  128.             fprintf(adatok, "%d\t", (rand() % 801) + 1200); //hengerűrtartalom generálása
  129.  
  130.             fprintf(adatok, "%d", (rand() % 141) + 60); //teljesítmény generálása
  131.  
  132.             fprintf(adatok, "\n"); //sor lezárása
  133.  
  134.         }
  135.  
  136.         {// az adatok legenerálása az jellemzok.txt fájlba
  137.             random = rand() % 6;
  138.             switch (random)
  139.             {
  140.             case 0: fprintf(jellemzok, "Magyar\t"); break;
  141.             case 1: fprintf(jellemzok, "Nemet\t"); break;
  142.             case 2: fprintf(jellemzok, "Osztrak\t"); break;
  143.             case 3: fprintf(jellemzok, "Roman\t"); break;
  144.             case 4: fprintf(jellemzok, "Szerb\t"); break;
  145.             case 5: fprintf(jellemzok, "Szlovak\t"); break;
  146.             }
  147.  
  148.             fprintf(jellemzok, "%d\t", ((rand() % 4910) * 100) + 10000); //kilóméteroraálás generálása
  149.  
  150.             fprintf(jellemzok, "%d\t", rand() % 6); //hibakód generálása
  151.  
  152.             fprintf(jellemzok, "%d\t", (rand() % 5) + 1); //állapot generálása
  153.  
  154.             int elado = rand() % 2; //eladó-e
  155.             fprintf(jellemzok, "%d\t", elado);
  156.  
  157.             if (elado) //ha eladó, akkor ár generálása
  158.             {
  159.                 fprintf(jellemzok, "%d", ((rand() % 9900) * 1000) + 100000);
  160.             }
  161.             else //ha nem, akkor 0 kiírása
  162.             {
  163.                 fprintf(jellemzok, "%d", 0);
  164.             }
  165.  
  166.             fprintf(jellemzok, "\n");
  167.         }
  168.     }
  169.  
  170.     fclose(adatok); //fájlok bezárása
  171.     fclose(jellemzok);
  172.  
  173.     //adatok = fopen("adatok.txt", "r"); //adatok.txt-ből a rendszámok visszaolvasása ellenőrzésként
  174.  
  175.     //char rendsz[8];
  176.  
  177.     //for (int i = 0; i < num; i++)
  178.     //{
  179.     //  fscanf(adatok, "%s%*[^\n]", rendsz);
  180.     //  printf("%s\n", rendsz);
  181.     //}
  182.  
  183.     //fclose(adatok);
  184.     return 0;
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement