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

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

Войти
Регистрация
Восстановить пароль
 
Natalie_secret
Сообщений: n/a
#1

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

25.03.2012, 23:44. Просмотров 542. Ответов 2
Метки нет (Все метки)

Всем доброго времени суток! Возникли небольшие трудности в работе со структурами. Буду весьма благодарна знатокам в этом деле. Задание выглядит таким образом:

Информация о компьютере включает следующее: Процессор, 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++ Работа со структурами
Работа со структурами C++
C++ Работа со структурами
C++ Работа со структурами
Работа со структурами C++
Visual c++. Работа с бинарными файлами и структурами C++
Работа со структурами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,040
Записей в блоге: 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
Модератор
6507 / 4973 / 459
Регистрация: 14.02.2011
Сообщений: 16,475
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++
Ответ Создать тему
Опции темы

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