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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2009, 20:36   #1
blackbanny
Форумчанин
 
Аватар для blackbanny
 
Регистрация: 02.10.2009
Сообщений: 104
Восклицание прога на Си

написал прогу, выдает ошибку на строчке fprintf(f,"%s %d %d \n", chislo, kolstr, price); , объясните в чем дело...

Код:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

//------------------------------------------------------------------------------

int numb;
	char chislo;
	int kolstr=0;
	int price=0;



//------------------------------------------------------------------------------

//Функция записи данных в отчет:

void vvod ()
{


 
 printf("\n Vvedy kolichestvo stranic: ");
 scanf("%d", &kolstr);

 if (kolstr<=30)
	price=kolstr*2;

 else
 price=kolstr*1.5;


 chislo=2009;

 FILE*f;
	f=fopen("otchet.txt","a");
	fprintf(f,"%s %d %d \n", chislo, kolstr, price);

	fclose(f);
	printf("\n Zapis uspeshno vnesena!");
 return;
 }

//------------------------------------------------------------------------------

//Главная функция:

void main()
{

 char str;

 Menu:
 while (1)
	 {
	 clrscr();
	 printf("\n Menu:");
	 printf("\n 1.Vvod zapisi v BD");
	 printf("\n 2.Exit");
	 printf("\n Vvedi variant menu: ");
	 scanf("%c",&str);
	 switch(str)

	 {
		 case '1':vvod();break;
		 case '2':exit(0);
		 default : printf("\n Nevernii variant menu");
		
	  
		  goto Menu;

		 
	 }
         getch();

	 }
return;
}

Последний раз редактировалось Stilet; 02.11.2009 в 09:59.
blackbanny вне форума Ответить с цитированием
Старый 01.11.2009, 20:49   #2
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

%s печатает массив символов, а у тебя char
кстате, chislo = 2009 не вместит 2 байта, поэтому произодет переполнение и будет не то число которое ты хотел бы, char вмещает в себя один байт
lennon вне форума Ответить с цитированием
Старый 01.11.2009, 21:06   #3
blackbanny
Форумчанин
 
Аватар для blackbanny
 
Регистрация: 02.10.2009
Сообщений: 104
По умолчанию

значит нужно char chislo[20]; или как?
blackbanny вне форума Ответить с цитированием
Старый 02.11.2009, 10:00   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
значит нужно char chislo[20]; или как?
Значит нужно обьяснить что ты этим кодом решить хочешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прога по с++ glasian Фриланс 1 04.06.2009 08:51
Перевести фотографию в рисованное изображение (мультяшное) beygul Моделирование, изометрия, photoshop, 3d редакторы 12 03.11.2008 22:07
прога и чюжая прога benjaminfran Общие вопросы Delphi 5 28.03.2008 15:07
прога vovik Свободное общение 2 02.07.2007 10:13
Прога на с# rojer Помощь студентам 6 22.05.2007 22:37