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

Базы данных на си - C++

Восстановить пароль Регистрация
 
Oksana_ks
 Аватар для Oksana_ks
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 51
12.11.2012, 17:35     Базы данных на си #1
не понимаю в чем ошибка

C++
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#define n 3;
#define line printf     ("\n----------------------------------------------------------------------------------------------------------------------------");
#define  shapka printf  ("\nImya |ed | izgotl| postav   |stoim | izgot |data | srokhran |stoimperev |stoimbezperev| stoimsperev| ");
 
struct sklad { char Imya[15], ed[15], izgotl[15], postav[15], data[15];
               int stoim, izgot, srokhran, stoimbezperev;
               float stoimperev, stoimsperev;
               } M[3];
 
void vvod ()
{
    for (int i=0;i<n;i++)
{
    printf ("\n  vvedite im9 :");
    scanf ("%s", &M[i].Imya);
    printf ("\n  vvedite nazvanie edinic zmerenia :");
    scanf ("%s", &M[i].ed);
    printf ("\n  vvedite izgotovitelya:");
    scanf ("%s", &M[i].izgotl);
    printf ("\n  vvedite postavshika:");
    scanf ("%s", &M[i].postav);
    printf ("\n  vvedite stoimost edinicu tovara :");
    scanf ("%d", &M[i].stoim);
    printf ("\n  vvedite kol-vo edinic tovara:");
    scanf ("%d", &M[i].izgot);
    printf ("\n  vvedite datu postuplenia :");
    scanf ("%s", &M[i].data);
    M[i].stoimperev = M[i].izgot * M[i].stoim * 0.25;
    M[i].stoimbezperev = M[i].izgot * M[i].stoim;
    M[i].stoimsperev = M[i].stoimbezperev + M[i].stoimperev;
}
return;
}
 
 
void vivod()
{line;
shapka;
line;
for (int i=0;i<n;i++)
{printf ("\n |%7s|%7s|%7s|%7s|%5d|%7d|%7s|%5d|%7f|%7d|%7f|", M[i].Imya, M[i].ed, M[i].izgotl, M[i].postav, M[i].stoim, M[i].izgot, M[i].data, M[i].srokhran,M[i].stoimperev, M[i].stoimbezperev, M[i].stoimsperev);
line;};
return;
}
 
 
 
 
 
main()
{int key;
do {printf ("\n ***Menu***");
    printf ("\n 1 - vvod");
    printf ("\n 2 - vivod");
    printf ("\n 3 - exit");
    printf ("\n vvedite nomer");
    scanf ("%d", key);
switch (key)
{
       case1: vvod();break;
       case2: vivod(); break;
       case3: break;
       default: printf ("\n Error");}
       while (key!=3);
       printf ("\n End Programm");
}
while(key!=3);
     getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 17:35     Базы данных на си
Посмотрите здесь:

C++ С++ базы данных
Базы данных C++
создание базы данных C++
Сортировка информации из базы данных C++
Подобие базы данных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.11.2012, 17:36     Базы данных на си #2
Цитата Сообщение от Oksana_ks Посмотреть сообщение
не понимаю в чем ошибка
я тоже не понимаю в чём суть вопроса.
Oksana_ks
 Аватар для Oksana_ks
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 51
12.11.2012, 17:39  [ТС]     Базы данных на си #3
в чем суть вопроса?
помогите исправить ошибки
вот в чем суть
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.11.2012, 17:43     Базы данных на си #4
какого рода ошибки? Не компилируется? Не запускается? Вылетает при запуске? Работает, выдавая неверный результат? Если не компилируется, какие сообщения об ошибках даёт компилятор? Иначе, немного лень читать 70 строчек.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
12.11.2012, 17:43     Базы данных на си #5
Цитата Сообщение от Oksana_ks Посмотреть сообщение
в чем суть вопроса?
помогите исправить ошибки
вот в чем суть
че тут исправлять?
после
C++
1
#define n 3
точка с запятой не нужна
И после остальных тоже.
Oksana_ks
 Аватар для Oksana_ks
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 51
12.11.2012, 17:46  [ТС]     Базы данных на си #6
не компилируется
ошибки на картинке уточнены
Миниатюры
Базы данных на си  
Oksana_ks
 Аватар для Oksana_ks
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 51
12.11.2012, 17:48  [ТС]     Базы данных на си #7
Croessmah, программа все равно не работает
вывести меню выводит, а дальше она просто пишет об ошибке и закрывает программу
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.11.2012, 17:52     Базы данных на си #8
Ну, про точку с запятой тебе сказать Croessmah успел уже.
Цитата Сообщение от Oksana_ks Посмотреть сообщение
scanf ("%d", key);
C++
1
scanf ("%d", &key);
Если б сканф принимал по значению, Аргументы, передаваемые в функцию по значению изменяться, присваивая себе введённое пользователем не могли бы. Но в твоём случае кий не просто не изменялся, он интерпретировался как указатель на адрес некой переменной, которую сканф пытался изменить. Поэтому ошибок компилятор не выдавал. Но так как адрес это абсолютно левый, при попытке записи по нему вылетала программа.
alex_289
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 12
12.11.2012, 17:55     Базы данных на си #9
Цитата Сообщение от Oksana_ks Посмотреть сообщение
case1: vvod();break;
case2: vivod(); break;
case3: break;

C++
1
2
3
case 1: vvod();break;
       case 2: vivod(); break;
       case 3: break;
Oksana_ks
 Аватар для Oksana_ks
2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 51
12.11.2012, 17:57  [ТС]     Базы данных на си #10
Kuzia domovenok, теперь , что бы я не вводила он всегда пишет Error
Миниатюры
Базы данных на си  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 17:58     Базы данных на си
Еще ссылки по теме:

C++ Выбор базы данных
Структуры и базы данных C++
Хеширование базы данных C++

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

Или воспользуйтесь поиском по форуму:
alex_289
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 12
12.11.2012, 17:58     Базы данных на си #11
Поставь пробелы между case и цифрой
Yandex
Объявления
12.11.2012, 17:58     Базы данных на си
Ответ Создать тему
Опции темы

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