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

Структура о веществе и сортировка - C++

Восстановить пароль Регистрация
 
RosyRose
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 23
24.08.2012, 16:46     Структура о веществе и сортировка #1
Пишу структуру, описывающую информацию о веществе: название, удельный вес и проводимость(проводник, полупроводник, изолятор). Написать функции ввода и вывода; для сортировки данных по любому из признаков.
Сделала с меню. Знаю что ошибка в выводе, при ее исправлении не работает.
Также не могу разобраться с сортировкой, пыталась написать сортировку по весу.

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
//main
#include <stdio.h>
#include <conio.h>
#include "function.h"
#define N 20
void main(void)
{
    int n;  
    struct Ves Title[N];
    char Key;
    do
    {
        printf("Input you choose:\n");
        printf("1-Input names \n");
        printf("2-Input ves  \n");
        printf("3-Input provodimost  \n");
        printf("4-output result \n");
             Key=getch();
     switch (Key)
     {
     case '1':   {  Input_Names(Title , n); break;}
     case '2':   {  Input_Option1(Title, n);break;}
     case '3':   {  Input_Option2(Title, n);break;}
     case '4':   {  Out(Title,n);break;}
     case '9':   {  return; }
     default:    {return;   }
                 void Out(Ves Title[]);
     }
    }
    while (getch()!='9');
}
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
50
51
52
53
54
55
56
//function
#include <stdio.h>
#include <conio.h>
struct Ves
{
    char Name[15];
    int Option[4];
};
 
//Функция ввода имён
void Input_Names(struct Ves Title[20], int &n)
{
int i=0;
    fflush(stdin);//Очистка буфера
    do
    { 
       printf ("Input %d name ",i);
       gets(Title[i].Name);   // Функция чтения строки
       i++;
    }while (!feof(stdin));//Во входном потоке не встретятся копии файла
    n=i;
}
 
void Input_Option1(struct Ves Title[], int n)
{
    int i=0,j;
    do 
    {
          printf ("Input specific weight for %s\n", Title[i].Name);
          fflush(stdin);
             scanf("%d",&Title[i].Option[0]);
           
    i++;
    }while (i<n);
}
 
 
void Input_Option2(struct Ves Title[], int n)
{
    int i=0,j;
    do 
    {
          printf ("Input conductivity for %s\n", Title[i].Name);
          fflush(stdin);
             scanf("%s",&Title[i].Option[1]);
        
    i++;
    }while (i<n);
}
 
void Out(struct Ves Title[], int n)
{
    for (int i=0;i<n;i++)
         printf ("%10s%4d%10s%4d\n",Title[i].Name,Title[i].Option[0],Title[i].Option[1],Title[i].Option[2]);
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 16:46     Структура о веществе и сортировка
Посмотрите здесь:

C++ Запись и чтение из файла. Структура. Сортировка
C++ Прокомментируйте мне каждую строчку программы. Структура, сортировка, массив, вывод
C++ Помощь по задаче(структура, двойная сортировка)
C++ Структура "экзамен". Сортировка массива структур по одному из полей
C++ Структура Human (хранение, сортировка)
C++ Структура "Студент", выбор по условию, сортировка
Структура "Студент". Сортировка по среднему баллу C++
C++ Сортировка текстового файла. Структура "Студент"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
25.08.2012, 15:22     Структура о веществе и сортировка #2
Передавайте структуру ссылкой. Тогда структура будет меняться. А то получается, что внутри функции вы изменяете структуру, но "наружу" она выходит пустая.
Ссылка - & (переменная).
Yandex
Объявления
25.08.2012, 15:22     Структура о веществе и сортировка
Ответ Создать тему
Опции темы

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