Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Валидни документи Problem 3 (0 / 0)
- Една датотека documenti.txt се состои од имиња на документи секој запишан во посебен ред. Имињата не се поголеми од 100 знаци.
- Напишете програма што за ги отпечати сите имиња на документи проследни со буквата 'T' ако името на документот е валидно, и 'X'
- ако е невалидно.
- Името на еден документ е валидно ако не содржи цифра на почетокот, не содржи празни места и завршува со некоја од следните
- низи знаци:
- .txt, .pdf, .docx.
- Пример валидни имиња:
- doc.txt, file_5.docx,names.pdf
- Пример невалидни имиња:
- 5doc.txt, file 12 so.docx, names and surnames.xls
- */
- #include<stdio.h>
- #include<string.h>
- int validna(char niza[])
- {
- int i,j;
- char t[]="txt.";
- char d[]="xcod.";
- char p[]="fdp.";
- char nova[5];
- int zname=1;
- //printf("ddd");
- if(isdigit(niza[0]))
- {
- zname=0;
- }
- else{
- for(i=0; i<strlen(niza)-1; i++)
- {
- if(isspace(niza[i]))
- {
- zname=0;
- break;
- }
- else{
- for(j=strlen(niza)-1; j>0; j--)
- {
- if(strcmp(t,niza) || strcmp(d,niza) || strcmp(p,niza))
- {
- zname=1;
- //printf("%c ",niza[j]);
- }
- else{
- zname=0;
- break;
- }
- }
- //printf("%c ",niza[i]);
- zname=1;
- }
- }
- }
- return zname;
- }
- int main(){
- FILE *D;
- char red[20];
- if((D = fopen("doucmenti.txt", "r"))==NULL)
- {
- printf("ne postoi");
- return -1;
- }
- while((fgets(red,21,D))!='\0')
- {
- if(validna(red)==1)
- {
- printf("%s\n",red);
- }
- }
- fclose(D);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement