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

Не выводит структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объединения http://www.cyberforum.ru/cpp-beginners/thread716307.html
union MyUnion { int int_num; long long ll_num; }; int main() { MyUnion uni; uni.int_num = INT_MAX;
C++ Задачи с массивом и на символьные переменные! Друзья,помогите пожалуйста студенту! Очень нужно решить эти задания! Буду очень благодарен! (сам ничего не понимаю) Изучали 1 пару только,все поверхностно... 1. Найти количество элементов в массиве, имеющих значение выше заданного 2. Вывести символ на экран, если он является печатаемым и видимым 3. Перевернуть каждое четное слово в строке http://www.cyberforum.ru/cpp-beginners/thread716305.html
Инициализация указателей C++
Добрый вечер, объясните пожалуйста, что значит присвоение начальных значений указателям, как например в данном случае: float *fPtr = 0; char *color="white"; если я после этих строк хочу вывести на экран адрес объекта, на который указывает указатель color , у меня выводит строку "white", я не совсем понимаю как это работает
Множества точек на плоскости C++
Даны 2 множества точек на плоскости. Выбрать 3 различные точки первого множества так , что бы треугольник с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь. Помогите с решением пожалуйста ...
C++ Неправильно считает количество столбцов, не содержащих ни одного нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread716292.html
#include "stdafx.h" #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> #include <ctime> int rnd( int range_min, int range_max ) { return (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min; }
C++ Работа с классами (описать класс) Описать класс Студент. Класс должен иметь минимум 3 поля и 5 методов для работы с полями. Добавлено через 3 минуты Помогите пожалуйста подробнее

Показать сообщение отдельно
AndXor
0 / 0 / 0
Регистрация: 07.04.2010
Сообщений: 18
02.12.2012, 15:23     Не выводит структуры
Народ такая проблема, не могу вывести нормально структуры ;(
И выводе списка с условием(функция Resc) если выводить просто if (abit[i].sumball>220) то он нормально выводит и никаких проблем не возникает. Если же выводить if ((abit[i].sumball>220) && (abit[i].city="Moscow")) то он ничего не выводит ;( Даже если оставить просто условие с городом то он тоже ничего не выведет, в чём может быть проблема?
Разработка в Visual C++ 6.0
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
134
135
136
137
138
//#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
using namespace std;
 
FILE *fl;
typedef struct 
{
    char fio[50];
    char city[20];
    int sumball;
} TAbityrient;
 
TAbityrient abit[30];
char filename[20];
int nst=0;
 
int Menu();
void Nnf();
void Newf();
void Spisok();
void Opf();
void Resc();
void Resf();
 
int main()
{
    while (true){
        switch (Menu())
        {
        case 1: Nnf(); break;
        case 2: Newf(); break;
        case 3: Spisok(); break;
        case 4: Opf(); break;
        case 5: Resc(); break;
        case 6: Resf(); break;
        case 7: return 0;
        default:
            puts("Ne pravilno vibran punkt");
        }
        puts("Press any key to continue");
        getch();
        system("cls");
    }
}
 
int Menu(){
    cout<<"Enter:"<<endl;
    cout<<"1. Enter FileName"<<endl;
    cout<<"2. New File"<<endl;
    cout<<"3. Enter list"<<endl;
    cout<<"4. Open File"<<endl;
    cout<<"5. Print result"<<endl;
    cout<<"6. Write to File"<<endl;
    cout<<"7. Exit"<<endl;
    int i;
    cin>>i;
    return i;
}
 
void Nnf(){
    cout<<"Enter FileName"<<endl;
    cin>>filename;
}
 
void Newf(){
    if ((fl=fopen(filename,"wb"))==NULL){
        cout<<"Error Creating"<<endl;
        exit(1);
    }
    cout<<"OK"<<endl;
    fclose(fl);
}
 
void Spisok(){
    if ((fl=fopen(filename,"rb+"))==NULL){
        cout<<"Error Creating"<<endl;
        exit(1);
    }
    cout<<"Enter the number of students"<<endl;
    cin>>nst;
    for(int i=0; i<nst; i++){
        cout<<"Enter Name"<<endl;
        cin>>abit[i].fio;
        cout<<"Enter City"<<endl;
        cin>>abit[i].city;
        cout<<"Enter the total score"<<endl;
        cin>>abit[i].sumball;
        fwrite(&abit[i],sizeof(TAbityrient),1,fl);
    }
    fclose(fl);
}
 
void Opf(){
    if ((fl=fopen(filename,"rb"))==NULL){
        cout<<"Erroe Opening"<<endl;
        exit(1);
    }
    nst=0;
    TAbityrient std;
    while (true){
        int nwrt=fread(&std,sizeof(TAbityrient),1,fl);
        if (nwrt!=1) break;
        abit[nst]=std;
        cout<<abit[nst].fio<<" "<<abit[nst].city<<" "<<abit[nst].sumball<<endl;
        nst++;
    }
    fclose(fl);
}
 
void Resc(){
    for(int i=0; i<nst; i++)
        if (abit[i].sumball>220)  cout<<abit[i].fio<<" "<<abit[i].city<<" "<<abit[i].sumball<< endl;
}
 
void Resf(){
    char filenamet[30];
    FILE *ft;
    cout<<"Enter FileName"<<endl;
    cin>>filenamet;
    if ((ft=fopen(filenamet,"w"))==NULL){
        cout<<"Error Creating";
        exit(1);
    }
    char s[80];
    for(int i=0; i<nst; i++)
        if ((abit[i].sumball>220)&&(abit[i].city=="Minsk")){
            strcpy(s,abit[i].fio);
            strcpy(s,abit[i].city);
            strcat(s,"\n");
            fputs(s,ft);
        }
        fclose(ft);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru