ПОМОГИТЕ ДОДЕЛАТЬ ЗАДАЧУ С использованием функции составить программму -выполнение которой начиналось бы с графической заставки с обязательной анимацией пейзажа или каких=то изображений -затем должен появиться текст из 2 любых слов а фамилией человека после этого: Сделать меню: 1-ввод фамилий 2-ввод названий предметов 3-генерация оценок с помощью случайных чисел 4-просмотр исодных данных 5-результат выполнения задания 6-выход Заданы 3 таблицы. 2 линейные таблмцы A,B. и прямоугольная таблица С.В линейной таблице А содержаться фамилии учеников в прямоугольной С их оценки по 10 предметам за 1 полугодие в линейной таблице B названия этих предметов фамилии учеников и названий предметов строковые данные Составить программу организующую -отделить ввод фамилий в таблице А -отделить ввод предметов в таблицу B -формирование оценок с помощью датчика случайных чисел по предметам от 2 до 5 -вывод в виде списка исходных данных где столбцы названия предметов строками фамилии учеников а графы содержат оценки учеников по указанному предмету -дополнительный пункт своего варианта использлвать динамические массивы выведите список учеников с предметами и оценками в порядке убывания суммы баллов по всем предметам помогите.......решить на вижел с++ вот код:
| Код |
#include "stdafx.h" #include <conio.h> #include <windows.h> #include <time.h> #define SSIZE 6 #define PCNT 10
typedef char MyString[SSIZE]; using namespace std;
void clrscr(void); void gotoxy(int , int); int GetRandom(int); void coutF(char *, int); //******************************** void main(){ int fam=0, pr=0, oc=0; srand( (unsigned)time( NULL ) ); MyString *A, *B=new MyString[PCNT]; int **C=new int*[PCNT], Asize; cout<<"Skoka uchenikov? => "; cin>>Asize; A=new MyString[Asize]; for(int i=0;i<PCNT;i++) C[i]=new int[Asize]; //имеем PCNT предметов и Asize учеников. В хорошем смысле слова имеем :) char ch='q'; while(ch!='6'){ clrscr(); ch='q'; cout<<"1. Vvod familiy\n2. Vvod predmetov\n3. Generaciya ocenok\n4. Prosmotr dannyh\n5. Rezultat\n6. BbIXOD"; while(ch<'1' || ch>'6') ch=getch();
switch(ch){ case '1':{ clrscr(); for(int i=0;i<Asize;i++){ cout<<"Familiya uchenika #"<<i+1<<" : "; cin>>A[i]; } cout<<"\nVvod familiy okonchen..."; fam=1; getch(); break; }//case'1' case '2':{ clrscr(); for(int i=0;i<PCNT;i++){ cout<<"Nazvanie "<<i+1<<"-go predmeta: "; cin>>B[i]; } cout<<"\nVvod predmetov okonchen..."; pr=1; getch(); break; }//case'2' case '3':{ clrscr(); cout<<"Generaciya ocenok nachata..."; for(int i=0; i<PCNT; i++) for(int j=0; j<Asize; j++) C[i][j]=GetRandom(3)+2; cout<<"\nGeneraciya ocenok zavershena..."; oc=1; getch(); break; }//case'3' case '4':{ clrscr(); cout<<"V stadii razrabotki..."; getch(); break; }//case'4' case '5':{ clrscr(); if(!fam)cout<<"Ne vveli familii!\n"; if(!oc)cout<<"Ne sgenerirovali ocenki!\n"; if(!pr)cout<<"Ne vveli predmety!\n"; if(fam+oc+pr!=3){ getch(); break; } int *Sum=new int[Asize]; memset(Sum, 0, sizeof(int)*Asize); for(int i=0; i<Asize; i++) for(int j=0; j<PCNT; j++) Sum[i]+=C[j][i]; int max, *index=new int[Asize]; for(int i=0; i<Asize; i++){ max=0; for(int j=0; j<Asize; j++) if(Sum[j]>Sum[max])max=j; index[i]=max; Sum[max]=0; } cout<<"+--------+------+------+------+------+------+------+------+------+------+------+"; cout<<"|********|"; for(int i=0;i<PCNT;i++){ coutF(B[i], 6); cout<<"|"; } cout<<"+--------+------+------+------+------+------+------+------+------+------+------+"; for(int i=0; i<Asize; i++){ cout<<"|"; coutF(A[index[i]], 8); cout<<"|"; for(int j=0; j<PCNT; j++) cout<<" "<<C[j][index[i]]<<" |"; } cout<<"+--------+------+------+------+------+------+------+------+------+------+------+"; delete []Sum; delete []index; getch(); break; }//case'5' }//switch } } //******************************** void coutF(char *S, int l){ for(int i=0; i<l; i++){ if(i+1>strlen(S))cout<<" "; else cout<<S[i]; } } void clrscr(void){ system("cls"); }
void gotoxy(int x, int y){ HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE); COORD coord={x, y}; SetConsoleCursorPosition(hConsole, coord); }
int GetRandom(int range){ return rand()%(range+1); }
|
помогите |