Вывести таблицей фамилию, год рождения, оценку за первую и вторую сессию - C (СИ)
Формулировка задачи:
Здраствуйте,
в програме нужно вывести таблицей с фамилию, год рожд, оценка за 1 сесию и вторую
вот мой код:
нужно чтобы было примерно так:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 3
#define BAL 3
struct stud {
char fam[80 + 1];
char vik[80 + 1];
}
part1[N];
struct sesion {
int ses1;
int ses2;
}
part2[BAL];
main()
{
int i, j, avg;
system("cls");
srand(time(NULL));
for(i = 1; i <= N; i++)
{
printf("vvedit prizvuwe %d studenta:\n", i);
scanf("%s", &part1[i].fam);
printf("vvedit rik narodchenny %d studenta:\n", i);
scanf("%s", &part1[i].vik);
}
printf("\n"); system("pause");
for(i = 1; i <= N; i++)
{
for(j = 1; j <= BAL; j++)
{
printf("vvedit ocinku %d studenta 1 sesii: ", j, i);
scanf("%d", &part2[j].ses1);
}
}
for(i = 1; i <= N; i++)
{
for(j = 1; j <= BAL; j++)
{
printf("vvedit ocinku %d studenta 2 sesii: ", j, i);
scanf("%d", &part2[j].ses2);
}
}
printf("---------------------------------------------------------------\n");\
printf("| PRIZVUWE | DATA NAR | OCINKU ZA 1 SESI}0 | OCINKU ZA 2 SESI}0 |\n");
printf("---------------------------------------------------------------\n");
for(i = 1; i <= N; i++)
{
for(j = 1; j <= BAL; j++)
{
printf("%s\t%s\t%d\t%d\n", part1[i].fam, part1[i].vik,part2[j].ses1, part2[j].ses2);
}
}
getch();
return 0;
}Решение задачи: «Вывести таблицей фамилию, год рождения, оценку за первую и вторую сессию»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define STUD 2
#define PRED 1
struct stud {
char fam[80 + 1];
char vik[80 + 1];
int print;
}
part1[STUD + 1];
struct sesion {
int ses1[PRED];
int ses2[PRED];
}
part2[STUD];
void printCheck(int ball, int i)
{
if( (ball <= 2) && (part1[i].print != 1) )
{
part1[i].print = 1;
}
}
main()
{
int i, j, cnt = 0;
system("cls");
for(i = 1; i <= STUD; i++)
{
printf("vvedit prizvuwe %d studenta:\n", i);
scanf("%s", part1[i].fam);
printf("vvedit rik narodchenny %d studenta:\n", i);
scanf("%s", part1[i].vik);
}
printf("\n"); system("pause");
for(i = 1; i <= STUD; i++)
{
for(j = 1; j <= PRED; j++)
{
printf("Vvedit %d ocinku dl9 studenta %s za 1 sesiyu: ", j, part1[i].fam);
scanf("%d", &part2[i].ses1[j-1]);
printCheck(part2[i].ses1[j-1], i);
}
}
for(i = 1; i <= STUD; i++)
{
for(j = 1; j <= PRED; j++)
{
printf("Vvedit %d ocinku dl9 studenta %s za 2 sesiyu: ", j, part1[i].fam);
scanf("%d", &part2[i].ses2[j-1]);
printCheck(part2[i].ses2[j-1], i);
}
}
printf("---------------------------------------------------------------\n");\
printf("| PRIZVUWE | DATA NAR | OCINKU ZA 1 SESI}0 | OCINKU ZA 2 SESI}0 |\n");
printf("---------------------------------------------------------------\n");
for(i = 1; i <= STUD; i++)
{
if(part1[i].print)
{
printf("%s\t %s\t", part1[i].fam, part1[i].vik);
for(j = 1; j <= PRED; j++)
{
printf("%d;",part2[i].ses1[j-1]);
}
printf("\t\t\t");
for(j = 1; j <= PRED; j++)
{
printf("%d;",part2[i].ses2[j-1]);
}
printf("\n");
cnt++;
}
}
if(cnt)
printf("\nKilkist studentiv v jakuh o4inka <= 2: %d\n", cnt);
else
printf("\nStudentu v jakuh o4inka <= 2 vidsutni!\n");
getch();
return 0;
}