0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
||||||
1 | ||||||
Работа с функцией strcmp10.12.2017, 18:59. Показов 1486. Ответов 12
Метки нет (Все метки)
добрый вечер . создала структуру . реализовала почти все условия . нужно вывести на экран количество иногородних пациентов . понимаю что нужно использовать STRCMP , но как не кручу выбивает 0 . прикрепляю часть моей пользовательской функции . помогите пожалуйста
т е нужно вывести количество пациентов которые проживают не в Киеве
0
|
10.12.2017, 18:59 | |
Ответы с готовыми решениями:
12
Ошибка в коде с функцией strcmp Сравнение двух строк функцией strcmp Неправильная работа Функции strcmp Работа с функцией |
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
|||||||||||
10.12.2017, 19:12 | 2 | ||||||||||
Попробуйте так
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
||||||
10.12.2017, 19:24 [ТС] | 3 | |||||
спасибо за ответ , к сожалению всё равно выдаёт 0 . может быть неверно обращаюсь к самой структуре и функция неверно считывает инфу с файла
посмотрите пожалуйста начало кода .
0
|
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
|
10.12.2017, 20:28 | 4 |
Код
$ i686-w64-mingw32-g++ main.cpp main.cpp:7:21: fatal error: Windows.h: Нет такого файла или каталога #include <Windows.h> Код
$ i686-w64-mingw32-g++ main.cpp main.cpp: In function ‘void File_write()’: main.cpp:38:83: error: too few arguments to function ‘char* gets_s(char*, rsize_t)’ puts("Введите фамилию пациента:"); gets_s(a.Familiya); #define _CRT_SECURE_NO_WARNINGS ), зачем их используете. Причем, похоже, неправильно.Кликните здесь для просмотра всего текста
Код
$ i686-w64-mingw32-g++ main.cpp -Wall main.cpp: In function ‘void File_write()’: main.cpp:40:44: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] puts("Пол:"); scanf("%s", &a.pol); ^ main.cpp:41:50: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] puts("Город:"); scanf("%s", &a.gorod); ^ main.cpp:42:56: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] puts("Диагноз:"); scanf("%s", &a.diagnoz); ^ main.cpp: In function ‘void File_redactor()’: main.cpp:108:58: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Пол: "); scanf("%s", &c[n].pol); ^ main.cpp:109:63: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Город:"); scanf("%s", &c[n].gorod); ^ main.cpp:110:69: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Диагноз:"); scanf("%s", &c[n].diagnoz); ^ main.cpp:159:50: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Пол:"); scanf("%s", &a.pol); ^ main.cpp:160:56: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Город:"); scanf("%s", &a.gorod); ^ main.cpp:161:62: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘char (*)[300]’ [-Wformat=] printf("Диагноз:"); scanf("%s", &a.diagnoz); ^ main.cpp: In function ‘void File_zadanie()’: main.cpp:185:37: warning: unused variable ‘n’ [-Wunused-variable] int j = 0; int sum = 0; int n = 0; int i = 0; ^ main.cpp:175:9: warning: unused variable ‘num’ [-Wunused-variable] int num; char diag; int m, l = 0; ^~~ main.cpp:175:19: warning: unused variable ‘diag’ [-Wunused-variable] int num; char diag; int m, l = 0; ^~~~ main.cpp:175:30: warning: unused variable ‘m’ [-Wunused-variable] int num; char diag; int m, l = 0; ^ main.cpp:175:33: warning: unused variable ‘l’ [-Wunused-variable] int num; char diag; int m, l = 0; ^ main.cpp:176:9: warning: unused variable ‘x’ [-Wunused-variable] int x; char y; ^ main.cpp:176:17: warning: unused variable ‘y’ [-Wunused-variable] int x; char y; ^ Первые ошибки это необходимость передачи в scanf() не указателя на строку а ее саму. Когда все исправил, выяснилось что русская локаль не включается. Что, кстати, странно.
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
|
10.12.2017, 20:46 [ТС] | 5 |
что самое странное показывала код преподавателю , его всё устроило
просто сказал реализовать ещё 2 условия ..можете помочь с реализацией задачи поставленной ?или нужно всё с начала пересматривать ?
0
|
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
|
10.12.2017, 20:49 | 6 |
Ужасно. Оно вообще не работает. Даже _getch() по нажатии ESC выдает -1.
Скажите, обязательно было писать в таком неудобном стиле? Добавлено через 1 минуту Единственный способ помочь вам, который я вижу - переписать по-нормальному. Но код довольно большой, мне этим заниматься неохота. А вносить точечные правки не выйдет, поскольку нет возможности проверить
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
|
10.12.2017, 21:06 [ТС] | 7 |
а почему стиль неудобный ?укажите пожалуйста что не так . как видите преподу вообще всё равно ...
а помочь функцию написать можете ? а там уже буду сама пытаться Добавлено через 8 минут и может можете помочь со вторым условием ? "вывести на печать список пациентов ( фамилий ) старше Х лет с диагнозом Y (Х и Y с клавиатуры ) " , заранее спасибо
0
|
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
||||||
10.12.2017, 21:48 | 8 | |||||
Использование gets_s(), _getch() и прочих непереносимых вещей. Ничего виндоспецифичного у вас не используется, так зачем привязываться по таким мелочам. Скомпилировать это можно разве что кросскомпилятором, а там свои особенности. Причем если бы использовали только стандартные функции, программа была бы куда более предсказуемой и тестируемой.
Что за функция? Вот простой код, который работает
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
|
10.12.2017, 22:00 [ТС] | 9 |
0
|
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
||||||
10.12.2017, 22:22 | 10 | |||||
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
|
10.12.2017, 22:28 [ТС] | 11 |
можете ещё подсказать как перед выводом фамилий отсортировать их по алфавиту ?
Добавлено через 13 секунд спасибо за ответ !
0
|
4001 / 2548 / 428
Регистрация: 09.09.2017
Сообщений: 11,293
|
|
10.12.2017, 22:46 | 12 |
А в базе они не по алфавиту хранятся? Может проще сначала отсортировать а уже потом по условиям выбрать только нужные?
Этот-то код к себе встроили?
0
|
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
|
|
11.12.2017, 22:44 [ТС] | 13 |
работаю над этим )
проще конечно но условие требует перед выводом отсортировать и вывести на печать .. Добавлено через 23 часа 6 минут Большое спасибо за помощь , разобралась , оба условия реализовать удалось
0
|
11.12.2017, 22:44 | |
11.12.2017, 22:44 | |
Помогаю со студенческими работами здесь
13
Работа с функцией Работа с функцией Работа с функцией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |