Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2015, 17:36   #1
alinka---
 
Регистрация: 22.11.2015
Сообщений: 8
По умолчанию Программа на C++ для работы со структурой. Помогите найти ошибку: вместо значения, которое вводит пользователь, выводит мусор

почему в typePlane вместо значения, которое вводит пользователь, выводит какое-то большое значение из цифр и букв?
Код:
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
using namespace std;
struct types
{
    char name[10];
	int place;
	int price;
	int monday; 
	int tuesday; 
	int wednesday; 
	int thursday; 
	int friday; 
	int saturday; 
	int sunday; 
};
struct flight
{
	char name[10];
	types type[5];
	int ntype;
};
struct richtung
{
	char name [15];
	flight reis[5];
	int nflight;
};
richtung city[5];
int n;

void input()
{
	int nflight, ntype;
    char answer_richt;     //параметр закінчення введення даних про напрям
    char answer_pln;       //параметр завершення введення даних про рейси
    char answer_tp;
    int i = 0;        //початкова кількість напрямів
	do{
		cout << "enter richtung: ";
		cin >> city[i].name;
		int j = 0;
		do{
			cout << "flight number: ";
			cin >>city[i].reis[j].name;
			int k = 0;
			do{
				cout << "type plane: ";
				cin >> city[i].reis[j].type[k].name;
				cout << "number place: ";
				cin >> city[i].reis[j].type[k].place;
				cout << "price: ";
				cin >> city[i].reis[j].type[k].price;
				cout << "flight days: ";
				cout << "Monday(0/1): "; cin >> city[i].reis[j].type[k].monday; cin.ignore();
				cout << "Tuesday(0/1): "; cin >> city[i].reis[j].type[k].tuesday; cin.ignore();
				cout << "Wednesday(0/1): "; cin >> city[i].reis[j].type[k].wednesday; cin.ignore();
				cout << "Thursday(0/1): "; cin >> city[i].reis[j].type[k].thursday; cin.ignore();
				cout << "Friday(0/1): "; cin >>city[i].reis[j].type[k].friday; cin.ignore();
				cout << "Saturday(0/1): "; cin >> city[i].reis[j].type[k].saturday; cin.ignore();
				cout << "Sunday(0/1): "; cin >> city[i].reis[j].type[k].sunday; cin.ignore();
				k++;
				cout << "any type else (j/n)" << endl;
					answer_tp = getch();
			} while (answer_tp != 'n');
			city[i].reis[j].ntype = k;
		    j++;
			cout << "any flight else? (j/n)" << endl;
			answer_pln = getch();
		} while (answer_pln != 'n');
		city[i].nflight = j;                //кількість рейсів
		cout << "continue input? (j/n)" << endl;
		answer_richt = getch();
		i++;
	} while (answer_richt != 'n');
	n = i;
}
void output()
{
	for (int i = 0; i < n; i++)
	{
		cout << "***************************************************" << endl;
		cout << "richtung: " << city[i].name << endl;
		cout << "***************************************************" << endl;
		cout << "flightNumber --------type plane-----number place----------price----------" << endl;
		for (int j = 0; j <city[i].nflight; j++)
		{
			for (int k = 0; k < city[i].reis[j].ntype; k++)
			{
				
				cout << setw(9) << city[i].reis[j].name << setw(19) << city[i].reis[j].type << setw(17) 
                                        << city[i].reis[j].type[k].place << setw(17) << city[i].reis[j].type[k].price << endl;
				cout << "days: ";
				if (city[i].reis[j].type[k].monday == 1) {
					cout << "monday ";
				}
				if (city[i].reis[j].type[k].tuesday == 1) {
					cout << "tuesday ";
				}
				if (city[i].reis[j].type[k].wednesday == 1) {
					cout << "wednesday ";
				}
				if (city[i].reis[j].type[k].thursday == 1) {
					cout << "thursday ";
				}
				if (city[i].reis[j].type[k].friday == 1) {
					cout << "friday ";
				}
				if (city[i].reis[j].type[k].saturday == 1) {
					cout << "saturday ";
				}
				if (city[i].reis[j].type[k].sunday == 1) {
					cout << "sunday ";
				}
				cout << endl;
			}
			
			cout << "----------------------------------------------------" << endl;
		}
	}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор
Изображения
Тип файла: jpg Безымянный.jpg (13.8 Кб, 122 просмотров)

Последний раз редактировалось Stilet; 18.12.2015 в 18:37.
alinka--- вне форума Ответить с цитированием
Старый 18.12.2015, 17:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

извините, я в коде на С++ разбираюсь, как чукча в апельсинах,
но мне непонятно, где у Вас код main ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.12.2015, 18:38   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
в typePlane
Куда куда??
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку неправильно выводит номер первого максимального элемента и элем BTS Общие вопросы C/C++ 1 10.04.2015 20:42
Программа выводит в текстовой файл мусор! elaxblackfox Visual C++ 14 30.11.2014 22:05
Вместо русского текста символы - после переустановки Windows в файлах мусор вместо русских букв. МАРИННН Windows 14 13.10.2013 08:53
Заполнение массива. Первый элемент вводит пользователь, а дальше рассчитывает программа НаташенькаRu Помощь студентам 8 25.10.2010 21:03