Всё бы ничего, но во втором случае выводится мусор вместо информации
написано на С++ что не так?
#include
#include
using namespace std;
struct Rad
{
float time;
string sity;
int doz;
int tp;
};
int main()
{
int i;
Rad doz[2]; /* Îáúåêò ñòðóêòóðû*/
for (int i=0;i<2;i++)
{
cout<<"VVedite vremya\n";
cin>>doz[i].time;
cout<<" Vvedite gorod";
cin>>doz[i].sity;
cout<<"Vvedite pokazaniya dozimetra\n";
cin>>doz[i].doz;
cout<<"vvedite pokazaniya datchika temperatur\n";
cin>>doz[i].tp;
cout<<"vyvod na ekran"<<;
for(int i=0; i<2;i++)
{
cout<<" time of d"<<i+1<<' '<< d[i].time<<endl;
cout<<"sity of d"<<i+1<<' '<<d[i].sity <<endl;
cout<<"rad of d"<<i+1<<' '<<d[i].doz <<endl;
cout<<"tp of d"<<i+1<<' '<<d[i].tp <<endl;
}
system("pause");
return 0;
}
C/C++
Мусор вместо вывода
у тебя два цикла по i вложены друг в друга
работает первая итерация внешнего цикла (i = 0), читается первый элемент doz, второй остаётся неинициализированным
запускается внутренний цикл, выводит оба элемента doz, как первый введённый, так и второй, в котором мусор
после внутреннего цикла программа завершается (return 0), не дав внешнему циклу перейти на следующую итерацию (i = 1)
вероятно, ты хотел закрыть тело внешнего цикла не там, где оно закрывается сейчас (в конце main), а перед выводом
ты в коде отступы используешь?
работает первая итерация внешнего цикла (i = 0), читается первый элемент doz, второй остаётся неинициализированным
запускается внутренний цикл, выводит оба элемента doz, как первый введённый, так и второй, в котором мусор
после внутреннего цикла программа завершается (return 0), не дав внешнему циклу перейти на следующую итерацию (i = 1)
вероятно, ты хотел закрыть тело внешнего цикла не там, где оно закрывается сейчас (в конце main), а перед выводом
ты в коде отступы используешь?
#include <iostream>
using namespace std;
struct Rad{
float time;
string sity;
int doz;
int tp;
};
int main(){
setlocale(LC_ALL, "Russian");
Rad doz[2];
for(int i = 0; i < 2; ++i){
cout << "Введите время: ";
cin >> doz[i].time;
cout << "Введите город: ";
cin >> doz[i].sity;
cout << "Введите показания дозиметра: ";
cin >> doz[i].doz;
cout << "Введите показания датчика температур: ";
cin >> doz[i].tp;
}
cout << "Вывод на экран" << endl;
for(int i = 0; i < 2; ++i){
cout << "time \tof doz" << i + 1 << ' ' << doz[i].time << endl;
cout << "sity \tof doz" << i + 1 << ' ' << doz[i].sity << endl;
cout << "rad \tof doz" << i + 1 << ' ' << doz[i].doz << endl;
cout << "tp \tof doz" << i + 1 << ' ' << doz[i].tp << endl;
}
cin.ignore();
cin.get();
return 0;
}
using namespace std;
struct Rad{
float time;
string sity;
int doz;
int tp;
};
int main(){
setlocale(LC_ALL, "Russian");
Rad doz[2];
for(int i = 0; i < 2; ++i){
cout << "Введите время: ";
cin >> doz[i].time;
cout << "Введите город: ";
cin >> doz[i].sity;
cout << "Введите показания дозиметра: ";
cin >> doz[i].doz;
cout << "Введите показания датчика температур: ";
cin >> doz[i].tp;
}
cout << "Вывод на экран" << endl;
for(int i = 0; i < 2; ++i){
cout << "time \tof doz" << i + 1 << ' ' << doz[i].time << endl;
cout << "sity \tof doz" << i + 1 << ' ' << doz[i].sity << endl;
cout << "rad \tof doz" << i + 1 << ' ' << doz[i].doz << endl;
cout << "tp \tof doz" << i + 1 << ' ' << doz[i].tp << endl;
}
cin.ignore();
cin.get();
return 0;
}
Участковый заходил с перфокартой?
Похожие вопросы
- Почему в С++ в отличии от других языков команда ввода-вывода использует << вместо стандартных ();?
- Откуда мусор в массиве? (Си)
- Текст вывода не меняется с++
- Откуда взялся мусор в динамическом массиве char?
- Создание таблицы в консоли вывода программы. С++
- Перегрузка операторов ввода-вывода для файловых потоков
- Неправильный вывод программы C++
- Передача данных в дочернюю программу и вывод из неё
- C++ как происходит вывод?
- Сделать вывод результата в таблице. С++.