Advertisement
Guest User

Bai 4 - BG8 - ver2

a guest
Aug 22nd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.65 KB | None | 0 0
  1. // Nhận xét
  2. Bài 4. Chẳng lẽ database chỉ có 8 chuỗi như em quy định hả
  3. // Code
  4. #include<stdio.h>
  5. #include<stdlib.h>
  6. #include<string>
  7. #define MAX 100
  8.  
  9. void XoaXuongDong(char s[])
  10. {
  11.     int n = strlen(s);
  12.  
  13.     if (n > 0 && s[n - 1] == '\n')
  14.         s[n - 1] = '\0';
  15. }
  16.  
  17. char** NhapData(char **data, FILE *f, int *pCount)
  18. {
  19.     int i;
  20.  
  21.     // tao mang luu data
  22.     data = (char**)malloc(MAX * sizeof(char*));
  23.  
  24.     for (i = 0; i < MAX; i++)
  25.         data[i] = (char*)malloc(100);
  26.    
  27.     // luu data
  28.     while(!feof(f))
  29.     {
  30.         fgets(data[*pCount], 100, f);
  31.         XoaXuongDong(data[*pCount]);
  32.  
  33.         ++(*pCount);
  34.     }
  35.  
  36.     return data;
  37. }
  38.  
  39. int Google(char *s, char *s1, char **data, int Count)
  40. {
  41.     int i;
  42.     int dem = 0;
  43.     char *p = NULL;
  44.  
  45.     for (i = 0; i < Count; i = i + 2)
  46.     {
  47.         strcpy(s1, s);
  48.         p = strtok(s1, " ");
  49.  
  50.         while (p)
  51.         {
  52.             if (strstr(data[i], p) != NULL)
  53.             {
  54.                 printf("%s \n", data[i]);
  55.                 printf("%s \n", data[i + 1]);
  56.                 printf("\n");
  57.  
  58.                 ++dem;
  59.                 break;
  60.             }
  61.  
  62.             p = strtok(NULL, " ");
  63.         }
  64.     }
  65.  
  66.     return dem;
  67. }
  68.  
  69. int main()
  70. {
  71.     // khai bao
  72.     char s[50] = "";
  73.     char s1[50] = "";
  74.     char **data = NULL;
  75.     FILE *f = NULL;
  76.     int Count = 0;
  77.     int i;
  78.  
  79.     // mo file
  80.     f = fopen("data.txt", "r");
  81.  
  82.     if (f == NULL)
  83.     {
  84.         printf("Khong mo duoc file data.txt \n");
  85.         return 1;
  86.     }
  87.    
  88.     // xu li file
  89.     data = NhapData(data, f, &Count);
  90.  
  91.     // dong file
  92.     fclose(f);
  93.  
  94.     // nhap tu khoa
  95.     printf("Ban muon tim kiem gi: ");
  96.     gets_s(s);
  97.  
  98.     // google
  99.     printf("------>  Co %d ket qua tim thay \n", Google(s, s1, data, Count));
  100.    
  101.     // giai phong bo nho
  102.     for (i = 0; i < MAX; i++)
  103.         free(data[i]);
  104.  
  105.     free(data);
  106.     data = NULL;
  107.  
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement