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

Работа со структурами в Visual C++ - C++

Восстановить пароль Регистрация
 
Natalie_secret
Сообщений: n/a
25.03.2012, 23:44     Работа со структурами в Visual C++ #1
Всем доброго времени суток! Возникли небольшие трудности в работе со структурами. Буду весьма благодарна знатокам в этом деле. Задание выглядит таким образом:

Информация о компьютере включает следующее: Процессор, RAM, HDD, Видеокарта, Монитор. Осуществить поиск компьютеров подходящей конфигурации.

Мне сделать это нужно в CLR и в MFC. Кое-какой код имеется:

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
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <cstdio>
#include <conio.h>
using namespace System;
using namespace std;
 
struct computer { int proc;
    char model [20];};
 
 
int main(array<System::String ^> ^args)
   {struct computer pibm[10];
       int i, j, k, priz, proc;       /* убрав здесь proc прога выдаст ошибку о не объявленной переменной */
         for ( i=0; i<10; i++)
             { printf ("Vvedite svedeniya o PEVM %d i priznak (0-konec\n drugaya cifra- prodolzhenie)\n", i);
               printf ("model' PEVM - ");
                scanf ("%S", &pibm[i].model);
               printf ( "Processor - ");
                scanf ("%d", &pibm[i].proc);
               
               printf ("priznak - ");
                scanf ("%d", &priz ); 
                   k=i;
               if (!priz) break; }
         
/* Здесь !priz - операция отрицания priz; break - выход из цикла for, если priz=0 */
 
         for (i=0; i<10; i++) 
         { printf ( "\nO kakoj PEVM Vy hotite poluchit' svedeniya?\n (Vvedite nomer ot 0 do 9)\n" );
            scanf ( "%d",&j );
                if (j>k)
                { printf ("Net svedenij ob `etoj P`EVM \n");
                    continue; }
           printf ("personal'naya PEVM - %S \n", pibm[j].model);
           printf ( "Processor - %d \n", &proc);                  /* почему-то не хочет работать с pibm[j].proc */
            
           printf ("priznak - " );
            scanf ( "%d", &priz);
           if (!priz) break; }
   _getch();
 
/* Ввод сведений о ПЭВМ и занесение в массив pibm записей типа computer (первый цикл for); вывод на экран сведений о ПЭВМ (второй цикл for) */
 
return 0; }
Предупреждаю сразу, ввела только процессор для проверки работоспособности проги. Заранее спасибо за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 23:44     Работа со структурами в Visual C++
Посмотрите здесь:

Работа со структурами C++
C++ Работа со структурами
работа со структурами C++
Работа с структурами C++
C++ Работа со структурами
Visual c++. Работа с бинарными файлами и структурами C++
C++ Работа со структурами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,601
Записей в блоге: 17
26.03.2012, 01:10     Работа со структурами в Visual C++ #2
Исправлено
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
#include <iostream>
#include <string.h>
#include <cstdio>
#include <conio.h>
using namespace std;
using namespace System;
 
struct computer 
  { 
   int proc;
   char model [20];
  };
 
int main(array<System::String ^> ^args)
{
computer pibm[10]; // !!!!! Можно без struct
int i, j, k, priz;  
for ( i=0; i<10; i++)
   { 
   printf ("Vvedite svedeniya o PEVM %d i priznak (0-konec\n drugaya cifra- prodolzhenie)\n", i);
   printf ("model' PEVM - ");
       scanf ("%S",pibm[i].model);  // !!!!! Если char[] то & не надо при сканировании
   printf ( "Processor - ");
       scanf ("%i", &pibm[i].proc);  // !!!!! 
   printf ("priznak - ");
        scanf ("%d", &priz ); 
   k=i;
   if (!priz) break; 
   }                
for (i=0; i<10; i++) 
   {
   printf ( "\nO kakoj PEVM Vy hotite poluchit' svedeniya?\n (Vvedite nomer ot 0 do 9)\n" );
     scanf ( "%d",&j );
   if (j>k) { printf ("Net svedenij ob `etoj P`EVM \n");continue; }
 
   printf ("personal'naya PEVM - %S \n", &pibm[j].model); // !!!! Наоборот надо & выводе
   printf ( "Processor - %d \n", pibm[j].proc);     // !!!!!  
   printf ("priznak - " );  scanf ( "%d", &priz);
   if (!priz) break; 
   }
 _getch();
return 0;
}
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
26.03.2012, 01:46     Работа со структурами в Visual C++ #3
Цитата Сообщение от Natalie_secret Посмотреть сообщение
if (!priz) break; }
/* Здесь !priz - операция отрицания priz; break - выход из цикла for, если priz=0 */
комментарий пишут над строкой или на ней но никак не ниже
и проще было написать так тогда не нужен комментарий
C++
1
if (priz==0) break;
из строки понятно что если цена 0 то вываливаемся

Добавлено через 4 минуты
Цитата Сообщение от Natalie_secret Посмотреть сообщение
printf ( "Processor - %d \n", &proc); /* почему-то не хочет работать с pibm[j].proc */
вот здесь ты выводишь адрес переменной а не значение
что значит не хочет не компилит? какая ошибка? не правильный результат

Добавлено через 6 минут
зачем ты их подключила???
ни потоками ни строками не пользуешься??

Цитата Сообщение от Natalie_secret Посмотреть сообщение
#include <iostream>
#include <string.h>
Yandex
Объявления
26.03.2012, 01:46     Работа со структурами в Visual C++
Ответ Создать тему
Опции темы

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