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

Программисты для вас - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа на С, необходимо графически отобразить сумму ряда http://www.cyberforum.ru/cpp-beginners/thread61428.html
программа нужна сегодня, если завтра утром не сдам, то выпрут из универа... нужно отобразить графически сумму ряда функции и обязательно должна быть возможность задавать различные точности в момент когда график уже выведен на экран сама функция и пример того что должно получиться в архиве заранее благодарен
C++ Ввести строку, вывести слова по алфавиту. Выручайте хлопцы, надо написать программу - Ввести строку, вывести слова по алфавиту.:help: http://www.cyberforum.ru/cpp-beginners/thread61417.html
Простая графика C++
Кто может напишите с помощью каких функций в C++ можно начертить линию (из заданной точки экрана в заданную) или простейшие геометрические фигуры(круг, квадрат и т.п.)
C++ Не знаю как написать прогу на С++? Напишите поиз
Написать функцию, которая получает в качестве параметра строку и определяет, является ли содержимое строки правильным восьмеричным числом. В случае положительного результата функция переводит это число в десятичную форму и возвращает его, в противном случае функция генерирует соответствующее сообщение и возвращает число -77777. В главной программе ввести с клавиатуры строку и, если она...
C++ Перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread61355.html
помогите разобраться с перегрузкой... в TcomboBox выбирается год... 1 и 2... их нужно сравнить.. выполнив при этом перегрузку оператора... как это осуществить? Добавлено через 58 минут вот класс: class TAvia { public: TAvia();
C++ Работа со стэком. Здраствуйте! В лицее задали такую вот задачу: написать программу реализации стэка. И поставили следующие условиня: 1. Программа должна быть написана на Borland C 3.1 2. Программа должна быть DOS приложением. И вот у меня появились такие вопросы: 1. Будет ли работать Borland C 3.1 на Windows Vista? 2. Как сделать программу DOS приложением. 3. Я больше по Pascal, в С слабо разбираюсь.... подробнее

Показать сообщение отдельно
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
05.11.2009, 19:06  [ТС]     Программисты для вас
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define STR_LEN 255
#define MAX_PRODUCTS 100
 
typedef struct {
        int day;
        int month;
        int year;
} Date_t;
 
typedef struct {
        int cat_id; /* номер по каталогу */
        char name[STR_LEN]; /* наименование */
        double weight; /* масса */
        double price; /* цена */
        Date_t date; /* дата выпуска */
} Product_t;
 
/* сравнение дат выпуска по возрастанию */
int cmpByDateAsc ( const void *first, const void *second ) {
        Date_t a = (*(Product_t *)first).date;
        Date_t b = (*(Product_t *)second).date;
        if ( a.year == b.year ) {
                if ( a.month == b.month ){
                        return (a.day - b.day);
                }
                else {
                        return (a.month - b.month);
                }
        }
        else {
                return (a.year - b.year);
        }
}
 
/* сравнение дат выпуска по убыванию */
int cmpByDateDesc ( const void *first, const void *second ) {
        return cmpByDateAsc(second, first);
}
 
/* вывод содержимого структуры Product_t */
void prnProduct(Product_t p){
        printf("Catalog id:\t\t%d\n", p.cat_id);
        printf("Name:\t\t\t%s\n", p.name);
        printf("Weight:\t\t\t%.3f\n", p.weight);
        printf("Price:\t\t\t%.2f\n", p.price);
        printf("Manufactured date:\t%02d.%02d.%4d\n", p.date.day, p.date.month, p.date.year);
}
 
/* ввод значений структуры Product_t с незатейливой проверкой данных */
Product_t getProduct(void){
        Product_t p;
        char *correct = "yes";
        char buf[STR_LEN];
        int good_date = 0;
        do {
                printf("Catalog id: ");
                fgets(buf, STR_LEN, stdin);
                p.cat_id = atoi(buf);
                printf("Name: ");
                fgets(buf, STR_LEN, stdin); /* на случай, если название из двух+ слов */
                buf[strlen(buf) - 1] = '\0'; /* удалить \n */
                strcpy(p.name, buf);
                printf("Weight: ");
                fgets(buf, STR_LEN, stdin);
                p.weight = atof(buf);
                printf("Price: ");
                fgets(buf, STR_LEN, stdin);
                p.price = atof(buf);
                do {
                        printf("Date (dd.mm.yyyy): ");
                        fgets(buf, STR_LEN, stdin);
                        if ( sscanf(buf, "%d.%d.%d", &p.date.day, &p.date.month, &p.date.year) == 3 )
                                good_date = ( p.date.day >= 1 && p.date.day <= 31 && p.date.month >= 1 &&
                                                        p.date.month <= 12 && p.date.year >= 1970 && p.date.year <= 2029 );
                        else
                                good_date = 0;
                } while ( !good_date );
                printf("\nConfirm values:\n");
                prnProduct(p);
                printf("It is correct? (yes/no): ");
                fgets(buf, STR_LEN, stdin);
                buf[strlen(buf) - 1] = 0;
        } while ( strcmp(buf, correct) );
        return p;
}
                
int main ( void ) {
        Product_t products[MAX_PRODUCTS];
        int i, count;
        char buf[STR_LEN];
        
        count = 0;
        while ( count < MAX_PRODUCTS ) {
                printf("\nProducts left: %d\nEnter a new one:\n", MAX_PRODUCTS - count);
                products[count] = getProduct();
                count++;
                printf("Continue? (yes/no): ");
                fgets(buf, STR_LEN, stdin);
                if ( strcmp(buf, "yes\n") != 0 )
                        break;
        }
        
        if ( !count ){
                printf("No products entered!\n");
                exit(1);
        }
        
        printf("Unsorted:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        qsort(products, count, sizeof(Product_t), cmpByDateAsc);
        printf("By date ascendant:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        qsort(products, count, sizeof(Product_t), cmpByDateDesc);
        printf("By date descendant:\n");
        printf(" #\tCat_id\tWeight\tPrice\tName\tManufactured date\n");
        for ( i = 0; i < count; i++ )
                printf("%3d\t%6d\t%6.3f\t%3.2f\t%s\t%02d.%02d.%4d\n", i, products[i].cat_id, products[i].weight, 
                        products[i].price, products[i].name, products[i].date.day, products[i].date.month, products[i].date.year);
        
        return 0;
}
Добавлено через 57 секунд
тут используются файлы а мы их не проходили еще помогите сделать хотябы через структуру только полегче код без всяких заворотов и проверок пожалуйста
 
Текущее время: 10:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru