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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2009, 02:00   #1
AlexandrSN
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 14
По умолчанию [HELP] C; сравнение не происходит

Здравствуйте!

Ребята, помогите пожалуйста разобраться на взгляд с найспростейшим кодом. Написал, работает, да не делает того, что надо.
Выставляю код и весь архив с файлами.
Код:
#include <stdio.h>

struct{
       char Code_1[6], Code_2[6];
}ID[30];

/*void OpenFiles(){
     FILE *InPut_1_1, *InPut_2_2;
     InPut_1_1 = fopen("InPut_1_1.txt", "rt");
     InPut_2_2 = fopen("InPut_2_2.txt", "rt");
     printf("InPut_1_1.txt & InPut_2_2.txt are opened\n");
}*/

int main(){
    
    FILE *InPut_1_1, *InPut_2_2;
    int i=0, j;
    
    //OpenFiles();
    
    InPut_1_1 = fopen("InPut_1_1.txt", "rt");
    InPut_2_2 = fopen("InPut_2_2.txt", "rt");
    printf("InPut_1_1.txt & InPut_2_2.txt are opened\n");
    
    while(!feof(InPut_1_1)){
                        fscanf(InPut_1_1, "%s", &ID[i].Code_1);
                        printf("%s\t", ID[i].Code_1);
                        fscanf(InPut_2_2, "%s", &ID[i].Code_2);
                        printf("%s\n", ID[i].Code_2);
                        //printf("%s\t=?\t%s\n", ID[i].Code_1, ID[i].Code_2);
                        i++;
    }
    printf("Data is printed above\n\n");
    
    for(i=0; i<=10; i++){
             for(j=0; j<=10; j++){
                      if(ID[i].Code_1==ID[j].Code_2){
                       printf("%s\t=\t%s\n", ID[i].Code_1, ID[j].Code_2);
                      }
                      else{
                       printf("Code_1 & Code_2 don't match\n");
                      }
             }
    }
    
    system("pause");
    return 0;
}
AlexandrSN вне форума Ответить с цитированием
Старый 11.06.2009, 02:06   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

У вас строки заданы как char[]. Поэтому сравнивать так
Код:
if(ID[i].Code_1==ID[j].Code_2){
нельзя. Подключите string.h и используйте strcmp:
Код:
if(strcmp(ID[i].Code_1,ID[j].Code_2)==0){
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.06.2009, 03:13   #3
AlexandrSN
Пользователь
 
Регистрация: 23.03.2009
Сообщений: 14
По умолчанию

Sazary,

спосибо Вам =) Работает =D
AlexandrSN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как происходит Компиляция? ZhekON Свободное общение 21 22.04.2010 10:06
Что происходит с локальным сервером??? just me PHP 13 14.04.2009 14:01
что происходит при нажатии power bnv Компьютерное железо 5 09.03.2009 14:39
Почему так происходит? Zeraim Общие вопросы Delphi 1 05.05.2008 14:10