Guest User

Untitled

a guest
Mar 15th, 2017
110
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #define max 100
  5.  
  6. struct nevek {
  7.         int azon;
  8.         char nevek[100];
  9.         int telszam;
  10.     };
  11.  
  12. //FÜGGVÉNYEK
  13.  
  14. void adatbevitel(struct nevek *n, int db) {
  15.     int letezik,a,kesz;
  16.     printf("__________________________________\n");
  17.             printf("Uj adat felvetele\n");
  18.             do {
  19.                 azon_bekeres:
  20.                 printf("\nAdjon meg egy int tipusu azonositot: ");scanf("%d",&a);
  21.                 for(int i=0;i<db;i++){
  22.                     if(n[i].azon == a) {
  23.                         printf("Ez az azonosito mar szerepel! Adjon meg masikat!");
  24.                         goto azon_bekeres;
  25.                         letezik=1;
  26.  
  27.                 }else {
  28.                     letezik=0;
  29.                 }
  30.             }
  31.             if (letezik==false) {
  32.                 n[db].azon=a;
  33.                 printf("Adja meg a nevet: ");scanf("%s",&n[db].nevek);
  34.                 printf("Adja meg a telefonszamot: ");scanf("%d",&n[db].telszam);
  35.                 db++;
  36.                 printf("Uj adat felvetel: (0), Menupontok: (1): ");scanf("%d",&kesz);
  37.             }
  38.             }while(kesz!=true);
  39. }
  40.  
  41.  
  42. void kereses(struct nevek *n,int db) {
  43.     int i,keres;
  44.     printf("__________________________________\n");
  45.             printf("Kereses:\n");
  46.             printf("rekordok szama: %d\n",db);
  47.             printf("Adja meg a keresendo: ");scanf("%d",&keres);
  48.             i=0;
  49.             while(i<=db && n[i].azon!=keres)i++;
  50.             if(i<=db) {
  51.                 printf("Keresett elem: %d - %s - %d",n[i].azon,n[i].nevek,n[i].telszam);
  52.             }else {
  53.                 printf("Nem letezik a keresett elem!");
  54.             }
  55.  
  56.  
  57. }
  58.  
  59.  
  60. void adatmodositas(struct nevek *n,int db) {
  61.     int i,keres;
  62.     printf("__________________________________\n");
  63.             printf("Adatmodositas:\n");
  64.             printf("Adja meg a modositando rekord azonositojat: ");scanf("%d",&keres);
  65.             i=0;
  66.             while(n[i].azon!=keres) {
  67.                 i++;
  68.             }
  69.             if (i<=db) {
  70.                 printf("Nem letezik rekord a megadott azonositoval!");
  71.             }else {
  72.                 printf("Uj nev: ");scanf("%s",&n[i].nevek);
  73.                 printf("Uj telefonszam: ");scanf("%d",&n[i].telszam);
  74.             }
  75.             printf("\nA modositas megtortent!\n");
  76. }
  77.  
  78.  
  79. void adat_torles(struct nevek *n,int db) {
  80.     int i,keres;
  81.     char torol;
  82.     printf("__________________________________\n");
  83.             printf("Rekord torlese:\n");
  84.             printf("Adja meg a torlendo rekord azonositojat: ");scanf("%d",&keres);
  85.             for(i=0;i<db;i++){
  86.                 if(keres==n[i].azon)break;
  87.             }
  88.             if(db==i)printf("\nNem letezik a megadott azonosito!\n");
  89.                 else{
  90.                     printf("Biztos torlni akarja a megadott rekordot? (%d - %s - %d)(1-Igen/0-Nem)",n[i].azon,n[i].nevek,n[i].telszam);scanf("%d",&torol);
  91.                     if(torol==1) {
  92.                         for(;i<db;i++){
  93.                     strcpy(n[i].nevek, n[i+1].nevek);
  94.                     n[i].telszam=n[i+1].telszam;
  95.  
  96.                     }
  97.                 }else {
  98.  
  99.                 }
  100.                     }
  101.             db--;
  102. }
  103.  
  104.  
  105. void listazas(struct nevek *n,int db) {
  106.     int tmp;
  107.     char tmp1[100];
  108.     printf("__________________________________\n");
  109.             printf("Listazas:\n");
  110.             //Buborék rendezés
  111.             for(int i=0;i<db-1;i++) {
  112.                 for(int j=0;j<db-i-1;j++) {
  113.                     if(n[j].azon>n[j+1].azon) {
  114.                         tmp=n[j].azon;
  115.                         n[j].azon=n[j+1].azon;
  116.                         n[j+1].azon=tmp;
  117.                         strcpy(tmp1, n[j].nevek);
  118.                         strcpy(n[j].nevek, n[j+1].nevek);
  119.                         strcpy(n[j+1].nevek, tmp1);
  120.                         tmp=n[j].telszam;
  121.                         n[j].telszam=n[j+1].telszam;
  122.                         n[j+1].telszam=tmp;
  123.  
  124.                     }
  125.                 }
  126.             }
  127.             printf("Azonostio - Nev - Telefonszam\n");
  128.             for(int i=0;i<db;i++) {
  129.                 printf("%d - %s -  %d\n",n[i].azon,n[i].nevek,n[i].telszam);
  130.  
  131.             }
  132. }
  133.  
  134.  
  135.  
  136.  
  137. int main () {
  138.  
  139.     nevek n[max];
  140.     int menu;
  141.     int db=0;
  142.     printf("\t\t\t\t\tAdatnyilvantarto program: \n");
  143.     printf("Menupontok: \n");
  144.     Menupontok:
  145.     printf("\n__________________\n");
  146.     printf("Uj adat:(1)\nKereses:(2)\nAdatmodositas:(3)\nTorles:(4)\nListazas:(5)\nKilepes:(6)");
  147.     printf("\n__________________\n");
  148.     printf("valasz: ");scanf("%d",&menu);
  149.     switch (menu) {
  150.         case 1:
  151.             adatbevitel(n,db);
  152.             goto Menupontok;
  153.         case 2:
  154.             kereses(n,db);
  155.             goto Menupontok;
  156.         case 3:
  157.             adatmodositas(n,db);
  158.             goto Menupontok;
  159.         case 4:
  160.             adat_torles(n,db);
  161.             goto Menupontok;
  162.         case 5:
  163.             listazas(n,db);
  164.             goto Menupontok;
  165.         case 6:
  166.             break;
  167.     }
  168. }
RAW Paste Data