P
ppolyakova
Формулировка задания:
Имеются данные об изготовлении изделий рабочими участка: ФИО, количество изготовленных деталей, количество бракованных деталей. Рассчитать ведомость годных деталей для рабочего, задаваемого по запросу.
//файл заголовков TPlab2_3.h
#include <iostream>
using std::cin;
using std::cout;
#include <iomanip>
using std::setw;
using std::setprecision;
const int max_rab=100;
void vvod1(int n, char m1[][20]);
void vvod2(int n, int m2[]);
void vvod3(int n, int m3[]);
void vyvod(int n, char f[1][20], char m1[][20], int m2[], int m3[]);
char menu();
//файл кодов TPlab2_3.cpp
#include "stdafx.h"
#include "TPlab2_3.h"
int _tmain(int argc, _TCHAR* argv[])
{
char selector;
do
{
selector=menu();
}
while(selector!='0');
return 0;
}
char menu()
{
char ch;
static char fio[max_rab][20];
static char one[1][20];
static int vsego[max_rab];
static int brak[max_rab];
static int kol;
cout<<'\t'<<"MENU\n\n";
cout<<'\t'<<"1 Vvod dannyx\n\n";
cout<<'\t'<<"2 Vyvod rezultatov\n\n";
cout<<'\t'<<"0 Vyxod\n\n";
cout<<'\t'<<"Vash vybor: ";
cin>>ch;
switch(ch)
{
case '1': cout<<"Vvedite kolichestvo rabochix:";
cin>>kol;
vvod1(kol, fio);
vvod2(kol, vsego);
vvod3(kol, brak);
break;
case '2': vyvod(kol, one, fio, vsego, brak);
break;
case '0': break;
}
return (ch);
}
//файл кодов TPlab2_3f.cpp
#include "stdafx.h"
#include "TPlab2_3.h";
void vvod1(int n, char m1[][20])
{
for(int i=0; i<n; i++)
{
cout<<"Fio rabochego "<<i+1<<':';
cin>>m1;
}
return;
}
void vvod2(int n, int m2[])
{
for(int i=0; i<n; i++)
{
cout<<"Kolichestvo izgotov. detal "<<i+1<<':';
cin>>m2;
}
return;
}
void vvod3(int n, int m3[])
{
for(int i=0; i<n; i++)
{
cout<<"Kolichestvo brakovan. detal "<<i+1<<':';
cin>>m3;
}
return;
}
void vyvod(int n, char f[1][20], char m1[][20], int m2[], int m3[])
{
int godn;
int ch;
cout<<"FIO:";
cin>>f[1];
//cout<<"\t Fio\t izgot.det.-brak\n\n";
for(int i=0;i<n;i++)
if(m1==f[1]){
godn=(m2-m3);
cout<<'\t'<<m1<<'\n';
cout<<'\t'<<setw(8)<<setprecision(2)<<godn<<'\n';
}
else{
cout<<'\t'<<"Oshibka"<<'\n';
}
cout<<"Konec vyvoda";
}
Не работает последний цикл и следовательно, не выводится ответ. Помогите, пожалуйста, найти ошибку!
Имеются данные об изготовлении изделий рабочими участка: ФИО, количество изготовленных деталей, количество бракованных деталей. Рассчитать ведомость годных деталей для рабочего, задаваемого по запросу.
//файл заголовков TPlab2_3.h
#include <iostream>
using std::cin;
using std::cout;
#include <iomanip>
using std::setw;
using std::setprecision;
const int max_rab=100;
void vvod1(int n, char m1[][20]);
void vvod2(int n, int m2[]);
void vvod3(int n, int m3[]);
void vyvod(int n, char f[1][20], char m1[][20], int m2[], int m3[]);
char menu();
//файл кодов TPlab2_3.cpp
#include "stdafx.h"
#include "TPlab2_3.h"
int _tmain(int argc, _TCHAR* argv[])
{
char selector;
do
{
selector=menu();
}
while(selector!='0');
return 0;
}
char menu()
{
char ch;
static char fio[max_rab][20];
static char one[1][20];
static int vsego[max_rab];
static int brak[max_rab];
static int kol;
cout<<'\t'<<"MENU\n\n";
cout<<'\t'<<"1 Vvod dannyx\n\n";
cout<<'\t'<<"2 Vyvod rezultatov\n\n";
cout<<'\t'<<"0 Vyxod\n\n";
cout<<'\t'<<"Vash vybor: ";
cin>>ch;
switch(ch)
{
case '1': cout<<"Vvedite kolichestvo rabochix:";
cin>>kol;
vvod1(kol, fio);
vvod2(kol, vsego);
vvod3(kol, brak);
break;
case '2': vyvod(kol, one, fio, vsego, brak);
break;
case '0': break;
}
return (ch);
}
//файл кодов TPlab2_3f.cpp
#include "stdafx.h"
#include "TPlab2_3.h";
void vvod1(int n, char m1[][20])
{
for(int i=0; i<n; i++)
{
cout<<"Fio rabochego "<<i+1<<':';
cin>>m1;
}
return;
}
void vvod2(int n, int m2[])
{
for(int i=0; i<n; i++)
{
cout<<"Kolichestvo izgotov. detal "<<i+1<<':';
cin>>m2;
}
return;
}
void vvod3(int n, int m3[])
{
for(int i=0; i<n; i++)
{
cout<<"Kolichestvo brakovan. detal "<<i+1<<':';
cin>>m3;
}
return;
}
void vyvod(int n, char f[1][20], char m1[][20], int m2[], int m3[])
{
int godn;
int ch;
cout<<"FIO:";
cin>>f[1];
//cout<<"\t Fio\t izgot.det.-brak\n\n";
for(int i=0;i<n;i++)
if(m1==f[1]){
godn=(m2-m3);
cout<<'\t'<<m1<<'\n';
cout<<'\t'<<setw(8)<<setprecision(2)<<godn<<'\n';
}
else{
cout<<'\t'<<"Oshibka"<<'\n';
}
cout<<"Konec vyvoda";
}
Не работает последний цикл и следовательно, не выводится ответ. Помогите, пожалуйста, найти ошибку!