В текстовом документе записаны буквы и цифры - после цифр поставить "() " - C (СИ)
Формулировка задачи:
в текстовом документе записаны буквы и цифры мне надо после цифр поставить "()"
с этим кодом после некоторых русских букв тоже ставятся скобки как исправить?
void main(){ char a,s,v[300]; int d=0; printf("vvedite adres faila\n"); FILE *fr; fr=fopen("out.txt","w"); FILE *fp; gets(v); fp=fopen(v,"r"); if(fp!=NULL) printf("Fail otkrit"); else { printf("Nenaiden fail"); return;} i=0; while(!feof(fp)){ z=0; s=getc(fp); if(s==0x30){ x[i]=0;i++;d=1;} if(s==0x31){ x[i]=1;i++;d=1;} if(s==0x32){ x[i]=2;i++;d=1;} if(s==0x33){ x[i]=3;i++;d=1;} if(s==0x34){ x[i]=4;i++;d=1;} if(s==0x35){ x[i]=5;i++;d=1;} if(s==0x36){ x[i]=6;i++;d=1;} if(s==0x37){ x[i]=7;i++;d=1;} if(s==0x38){ x[i]=8;i++;d=1;} if(s==0x39){ x[i]=9;i++;d=1;} if(s==0x2e){ h=i;} z=i; if ((s!='.'&& (!isdigit(s)) && isdigit(a)&& d==1)&&((h==0&&i<=4)||(h!=0&&i-h<=2))){ rasp(i);i=0; fprintf(fr,"("); fprintf(fr,")%c",s); else{ fprintf(fr,"%c",s); a=s; } } fclose(fp); fclose(fr); unlink(v); rename("out.txt",v); }
Решение задачи: «В текстовом документе записаны буквы и цифры - после цифр поставить "() "»
textual
Листинг программы
#include<stdio.h> #include<conio.h> int main(){ clrscr(); char s, fname[300]; printf("Enter file adress:\n"); FILE *fr; FILE *fw; gets(fname); fr=fopen(fname,"r"); //здесь просто адрес писать например C:/in.txt fw=fopen("C:\\out.txt","w"); //если писать доступ к файлу, а он в папке хранится, нужно ставить '//' для доступа в папку //если просто out.txt, то по умолчанию файл будет на рабочем столе if(fr!=NULL) printf("File is opened!"); else{ printf("Error: This file doesn't exist!"); getch(); return 0; } while(!feof(fr)){ s = getc(fr); if (s >= 48 && s <= 57) //47, 48, 49, ..., 57 ASCII коды цифр от 0 до 9 fprintf(fw, "%c()", s); //если попадает s под описание этого прмежутка, ставит скобки после цифры else fprintf(fw, "%c", s); } fclose(fr); fclose(fw); unlink(fname); //удаление исходного файла, насколько я понял printf("\nProcess successfully finished! :)"); getch(); return 0; }
Объяснение кода листинга программы
- В начале программы подключаются необходимые библиотеки.
- Затем пользователю предлагается ввести адрес файла для обработки.
- Далее открываются два файла для чтения из и записи в.
- Если файл для чтения открыть не удалось (файл не существует), выводится сообщение об ошибке и программа завершается.
- Если файл для чтения открыть удалось, программа переходит к чтению содержимого файла.
- В процессе чтения, если текущий символ является цифрой (в диапазоне от 0 до 9), он записывается в выходной файл вместе с парой скобок.
- Если текущий символ не является цифрой, он просто записывается в выходной файл.
- После завершения чтения, файлы закрываются.
- Исходный файл удаляется.
- Выводится сообщение о успешном завершении процесса.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д