Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. /*
  2. Валидни документи Problem 3 (0 / 0)
  3. Една датотека documenti.txt се состои од имиња на документи секој запишан во посебен ред. Имињата не се поголеми од 100 знаци.
  4.  
  5. Напишете програма што за ги отпечати сите имиња на документи проследни со буквата 'T' ако името на документот е валидно, и 'X'
  6. ако е невалидно.
  7.  
  8. Името на еден документ е валидно ако не содржи цифра на почетокот, не содржи празни места и завршува со некоја од следните
  9. низи знаци:
  10.  
  11. .txt, .pdf, .docx.
  12.  
  13. Пример валидни имиња:
  14.  
  15. doc.txt, file_5.docx,names.pdf
  16.  
  17. Пример невалидни имиња:
  18.  
  19. 5doc.txt, file 12 so.docx, names and surnames.xls
  20. */
  21. #include<stdio.h>
  22. #include<string.h>
  23.  
  24. int validna(char niza[])
  25. {
  26. int i,j;
  27. char t[]="txt.";
  28. char d[]="xcod.";
  29. char p[]="fdp.";
  30. char nova[5];
  31. int zname=1;
  32. //printf("ddd");
  33. if(isdigit(niza[0]))
  34. {
  35. zname=0;
  36. }
  37. else{
  38. for(i=0; i<strlen(niza)-1; i++)
  39. {
  40. if(isspace(niza[i]))
  41. {
  42. zname=0;
  43. break;
  44. }
  45. else{
  46. for(j=strlen(niza)-1; j>0; j--)
  47. {
  48. if(strcmp(t,niza) || strcmp(d,niza) || strcmp(p,niza))
  49. {
  50. zname=1;
  51. //printf("%c ",niza[j]);
  52. }
  53. else{
  54. zname=0;
  55. break;
  56. }
  57. }
  58. //printf("%c ",niza[i]);
  59. zname=1;
  60. }
  61. }
  62. }
  63.  
  64. return zname;
  65.  
  66.  
  67. }
  68.  
  69. int main(){
  70.  
  71. FILE *D;
  72. char red[20];
  73.  
  74. if((D = fopen("doucmenti.txt", "r"))==NULL)
  75. {
  76. printf("ne postoi");
  77. return -1;
  78. }
  79.  
  80. while((fgets(red,21,D))!='\0')
  81. {
  82. if(validna(red)==1)
  83. {
  84. printf("%s\n",red);
  85. }
  86.  
  87. }
  88. fclose(D);
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement