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

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

Войти
Регистрация
Восстановить пароль
 
xtrafrancyz
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 3
#1

найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)). - C++

16.11.2012, 17:06. Просмотров 533. Ответов 4
Метки нет (Все метки)

Всем привет!
Дан файл с "базой данных" нужно его прочитать и найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)).
Ошибка вылазит на моменте сравнения буквы Ч.
Файл с базой в приложении...
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
#include "stdafx.h"
#include <string.h>
#include <stdio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    FILE *file= fopen ("src.txt", "rt");
    if (file==NULL) 
    {cout << "Can't open file"<< endl;
    system("pause");
    return 0;}
    struct str1
    {
        string f;
        string name;
        string o;
        int year;
        short int kurs;
        char *pol;
    } bd[20];
    int i=0, counter[6]={0};
    cout << "Список студентов: " << endl;
    while (!feof(file))
    {
        counter[0]++;
        fscanf (file, "%s %s %s %d %d %c;", &bd[i].f, &bd[i].name, &bd[i].o, &bd[i].year, &bd[i].kurs, &bd[i].pol);
        printf ("%d: %s %s %s %d %d %c;\n",counter[0] , &bd[i].f, &bd[i].name, &bd[i].o, bd[i].year, bd[i].kurs, bd[i].pol);
        i++;
        if (strcmp(bd[i].pol,"Ч") == 0) //тут ошибка, пробовал и через переменную и так, ничего не помогает
        {
            cout << "проверка";
        }
    }
    int max=counter[1];
    for (int k=2; k<5; k++)
        if (counter[k]>max){
            max=counter[k];
            cout <<max;}
    for (int k=1; k<6; k++){
        if(counter[k]==max) max=k;
        cout << max;}
    printf ("\nМаксимальное количество мужчин на %d курсе\n", max);
    cout << "\nOперация выполнена успешно, закройте окно\n";
    cin >> bd[0].pol;
}
Вложения
Тип файла: txt src.txt (218 байт, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 17:06     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)).
Посмотрите здесь:

Используя структуру "People" найти номер курса, на котором наибольшее количество мужчин - C++
Входной файл хранит следующую информацию по студентам: &lt;Фамилия&gt;, &lt;имя&gt;, &lt;отчество&gt;, &lt;год рождения&gt;, &lt;курс&gt;, &lt;пол&gt;, причем фамилия, имя...

Определить номер слова в котором больше всего гласных букв - C++
1. Определить номер слова в котором больше всего гласных букв 2. Найти самое короткое слово в файле F

Из файла с информацией о студентах узнать номер курса с наибольшим процентом мужчин - C++
Здравствуйте, буду благодарен всем за помощь со следующей задачей: Дан файл, в котором содержится информацияо студентах некоторого вуза:...

Найти и напечатать слово, в котором содержится больше всего символов “А” - C++
Дан текст, который содержит буквы и пропуски. Найти и напечатать слово, в котором содержится больше всего символов “А”. Словом считать...

Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. - C++
Дана квадратная матрица А порядка n. Найти номер строки матрицы, в которой больше всего единичных элементов.

Дан двумерный массив. Найти номер строки, где больше всего нулей. - C++
Дан двумерный массив. Найти номер строки, где больше всего нулей. Помогите пожалуйсто, больше не на кого положиться. При Многом благодарен)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
16.11.2012, 18:57     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)). #2
Цитата Сообщение от xtrafrancyz Посмотреть сообщение
Ч (чоловiк) или Ж (жiнка)).

Не по теме:

курица не птица, баба не человек

С литералами на кириллице в кавычках, думаю не стоит сравнивать. Узнай код этого символа и сравнивай с ним.
xtrafrancyz
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 3
16.11.2012, 19:44  [ТС]     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)). #3
и как мне сравнивать коды? Как перевести букву автоматически, про гугл я знаю, там готовый, а вот чтобы прога переводила я хз
Можно простой примерчик как это делать?)
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
16.11.2012, 20:01     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)). #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(){
    char pol;
    setlocale(LC_ALL, "Russian");
    
    printf("(Ч/Ж)?:");
    scanf("%c", &pol);
    if (pol==-105)
        printf("человек");
    else
        if (pol==-122)
            printf("баба-не человек");
        else
            printf("???");
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 20:12     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)).
Еще ссылки по теме:

Дана символьная прямоугольная матрица NхM. Найти номер столбца, содержащего больше всего цифр. - C++
Дана символьная прямоугольная матрица NхM. Найти номер столбца, содержащего больше всего цифр.

Предложение, в котором больше всего знаков препинания - C++
Добрый день. Нужно написать программу, которая читает текст из файла и выводит предложения(е), где больше всего знаков препинания. ...

Функции. Программу для занесения в массив информации о N туристах. Определить, кого больше мужчин или женщин... - C++
Информация о туристе состоит из фамилии возраста и пола. Написать программу для занесения в массив информации о N туристах. Определить,...

Определить номер строки в которой больше всего гласных букв - C++
Задание: 1) Скопировать из файла F1 в файл F2 все строки, кроме той, в которой больше гласных. 2) Вивести номер этой строки. код: ...


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

Или воспользуйтесь поиском по форуму:
xtrafrancyz
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 3
16.11.2012, 20:12  [ТС]     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)). #5
Спасибо) выручил)) держи плюсы ++
Yandex
Объявления
16.11.2012, 20:12     найти номер курса на котором больше всего мужчин(пол указывается буквой Ч (чоловiк) или Ж (жiнка)).
Ответ Создать тему
Опции темы

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