Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Panterka
 Аватар для Panterka
0 / 0 / 0
Регистрация: 18.12.2007
Сообщений: 10
#1

Нужна помощь!Ошибка в структуре. - C++

18.12.2007, 10:25. Просмотров 1245. Ответов 7
Метки нет (Все метки)

Есть программа,работает вроде нормально, но в одной колонки (срок годности), по программе прописанно 8 знаков для набора, а в итоге, когда прописываешь 8 знаков, программа выдаёт 9 знаков, причём 9-ый произвольно записывает сама, в чём может быть проблема?
Вот программа:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<stdio.h>
#include<conio.h>
 
void main()
{
 int S=0;
 int i;
 
 
 FILE*L6;
 L6=fopen("C:\laba6.txt", "wt");
 struct Magazin
 {
  char nazvanie[15];
  char srok_godnosti[8];
  int cena;
  int kolich;
 } ;
Magazin A[2];
for(i=0;i<2;i++)
{printf("\n Tovar %d",i+1);
 printf ("\n Nazvanie:");scanf("%s",&A[i].nazvanie);
 printf("\n Srok godnosti:");scanf("%s",A[i].srok_godnosti);
 printf("\n Cena:");scanf("%d",&A[i].cena) ;
 printf("\n Kol-vo:");scanf("%d",&A[i].kolich);
 S+=A[i].cena*A[i].kolich;
}
 
printf ("\n --------------------------------------------------------------- ") ;
fprintf(L6,"\n --------------------------------------------------------------- ") ;
printf("\n|    Nazvanie   | Srok godnosti |     Cena      |    Kol-vo     |");
fprintf(L6,"\n|    Nazvanie   | Srok godnosti |     Cena      |    Kol-vo     |");
printf ("\n --------------------------------------------------------------- ") ;
fprintf(L6,"\n --------------------------------------------------------------- ");
 
for (i=0;i<2;i++)
{
 printf("\n|     %s    |   %s   |      %d       |        %d      |",
  A[i].nazvanie,A[i].srok_godnosti,A[i].cena,A[i].kolich);
 fprintf(L6,"\n|     %s    |   %s   |      %d       |        %d      |",
  A[i].nazvanie,A[i].srok_godnosti,A[i].cena,A[i].kolich);
 printf ("\n --------------------------------------------------------------- ");
 fprintf (L6,"\n --------------------------------------------------------------- ");
}
 
printf("\n\n Obwaya stoimost: %d",S);
fprintf(L6,"\n\n Obwaya stoimost: %d",S);
 
getch();
 
}
Вот что получается:
Вложения
Тип файла: zip прога.zip (7.6 Кб, 3 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,848
Завершенные тесты: 1
18.12.2007, 11:43     Нужна помощь!Ошибка в структуре. #2
попробуй сначала обнулять строку символов при инициализации
Panterka
 Аватар для Panterka
0 / 0 / 0
Регистрация: 18.12.2007
Сообщений: 10
18.12.2007, 12:13  [ТС]     Нужна помощь!Ошибка в структуре. #3
Цитата Сообщение от WooDooMan666 Посмотреть сообщение
попробуй сначала обнулять строку символов при инициализации
Покажи пожалуйсто как это должно выглядеть,если ты имеешь ввиду прописать clrscr(), то это не помогает.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,848
Завершенные тесты: 1
18.12.2007, 12:55     Нужна помощь!Ошибка в структуре. #4
Цитата Сообщение от Panterka Посмотреть сообщение
Покажи пожалуйсто как это должно выглядеть,если ты имеешь ввиду прописать clrscr(), то это не помогает.

да нет, метод прописать надо, куда будешь передавать строку символов и размер, а внутри по циклу заливать в нее пробелы... clsscr - это очистка экрана, а не массива символов
Panterka
 Аватар для Panterka
0 / 0 / 0
Регистрация: 18.12.2007
Сообщений: 10
18.12.2007, 14:22  [ТС]     Нужна помощь!Ошибка в структуре. #5
Цитата Сообщение от WooDooMan666 Посмотреть сообщение
да нет, метод прописать надо, куда будешь передавать строку символов и размер, а внутри по циклу заливать в нее пробелы... clsscr - это очистка экрана, а не массива символов
ладно, спасибо за попытку помочь, всё там гораздо проще оказалось.
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,848
Завершенные тесты: 1
18.12.2007, 14:42     Нужна помощь!Ошибка в структуре. #6
так просвети темного
Panterka
 Аватар для Panterka
0 / 0 / 0
Регистрация: 18.12.2007
Сообщений: 10
18.12.2007, 16:42  [ТС]     Нужна помощь!Ошибка в структуре. #7
Цитата Сообщение от WooDooMan666 Посмотреть сообщение
так просвети темного
Просто в
PHP
1
char srok_godnosti[8];
надо было [9] писать, а когда в проге вводишь 8 знаков, всё ок!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2007, 17:21     Нужна помощь!Ошибка в структуре.
Еще ссылки по теме:

C++ Нужна помощь. Ошибка с #include "text.h".
C++ Нужна помощь в структуре поезд!
C++ Ошибка в структуре?
Ошибка в структуре C++
C++ Ввод строки в структуре, заданной как char *str через scanf (ПОМОЩЬ)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,848
Завершенные тесты: 1
18.12.2007, 17:21     Нужна помощь!Ошибка в структуре. #8
ну ладно, это все хорошо, а если введешь 9 символ, как прога себя ведет?

тем более у себя я компилировал и запускал твои сырцы, эффект не повторился, как-то все это странно...
Yandex
Объявления
18.12.2007, 17:21     Нужна помощь!Ошибка в структуре.
Ответ Создать тему
Опции темы

Текущее время: 03:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru