Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 11:26   #1
inventro
Новичок
Джуниор
 
Регистрация: 15.05.2011
Сообщений: 2
Сообщение как написать программу в С

нужно написать программу в С
главное чтобы в ней НЕ присутствовали конструкции С++
"в текстовом файле заменить слова "ноль", "один", "два",..., " девять" на соответствующие цифры"
inventro вне форума Ответить с цитированием
Старый 15.05.2011, 11:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
{
	FILE* f=fopen("d:\\1\\q.txt","r");
	char s[255]="";
	char a[2][2][255]={{"один","1"},{"два","2"}};
	int i=0;
	while(!feof(f)){
		char c=fgetc(f);
		if(c==' ') {
			int n=0;for(;n<2 && strcmp(s,a[n][0]);n++) ;
			if(n<2){printf(a[n][1]);	} else {printf(s);}
			i=0;
		} else {
			s[i++]=c;s[i]=0;
		}

	}
	fclose(f);getchar();
	return 0;
}
Подойдет? Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2011, 18:55   #3
inventro
Новичок
Джуниор
 
Регистрация: 15.05.2011
Сообщений: 2
По умолчанию

а как сдклать чтобы текст вписывался в программу
а не брался из файла
inventro вне форума Ответить с цитированием
Старый 15.05.2011, 20:29   #4
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
{
	FILE* f=fopen("d:\\1\\q.txt","r");
	char s[255]="";
	char a[2][2][255]={{"один","1"},{"два","2"}};
	int i=0;
	while(!feof(f)){
		char c=fgetc(f);
		if(c==' ') {
			int n=0;for(;n<2 && strcmp(s,a[n][0]);n++) ;
			if(n<2){printf(a[n][1]);	} else {printf(s);}
			i=0;
		} else {
			s[i++]=c;s[i]=0;
		}

	}
	fclose(f);getchar();
	return 0;
}
Подойдет? Идея понятна?
о ужас...

Код:
struct Nums { 
   char text[10]; 
   char numeric[2]; 
} nums[10] = {
"один", "1",
"два", "2",
...
};
же

Последний раз редактировалось onewho; 15.05.2011 в 20:33.
onewho вне форума Ответить с цитированием
Старый 28.05.2011, 22:01   #5
alexeizav
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 2
По умолчанию

подскаите всётаки как эта программа должна выглядеть чтобы текст брался не из файла а вводился вручную , и добавьте пожалста комментарии к действиям если что где не так как есть


{
FILE* f=fopen("d:\\1\\q.txt","r");
char s[255]="";/ задаёться одномерный массив s
char a[10][2][255]={{"ноль","0"},{"один","1"},{"два", "2"},{"три","3"},{"четыре","4"},{"п ять","5"},{"шесть","6"},{"семь","7" },{"восемь","8"},{"девять","9"}};/ трёхмерный массив а
while(!feof(f)) /этот цикл выполнякться пока фаил не кончиться
{
char c=fgetc(f); /char это значение символьной переменной в нашей ситуации переменной с хадаёться значение символов стоящих между пробелами (получаем символ из фала)
if(c==' ') /если с=пробел то выполняеться
{
int n=0; /описываеться число n ему задаёться значение 0
for(;n<10 && strcmp(s,a[n][0]);n++) ; слово сравниваеться с значением
if (n<10) printf(a[n][1]);
else printf(s);
i=0;
}
else
{
s[i++]=c;s[i]=0;
}
}
fclose(f);getchar(); / закрытие файла ожидание нажати клавиши
return 0;
}
alexeizav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как написать программу? adm2010 Общие вопросы Delphi 1 21.12.2010 16:53
Как написать программу AlexeyMikr Общие вопросы C/C++ 4 15.12.2010 18:50
C++. Как написать программу? Sasha-773 Помощь студентам 6 19.01.2010 21:51
Как написать программу? peach Помощь студентам 2 02.06.2009 17:04
паскль. как написать программу ? madmax Помощь студентам 2 24.05.2009 15:10