Update 'du6/program.c'
This commit is contained in:
parent
aa1d0cb61c
commit
d3560cecad
@ -5,68 +5,68 @@
|
|||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
||||||
char base[200][30];
|
char base[200][30]; // Dvojrozmerné pole pre ukladanie prihlášok
|
||||||
char string[30];
|
char string[30]; // Pole pre načítanie vstupu
|
||||||
int stop = 0;
|
int stop = 0; // Premenná pre kontrolu vstupu
|
||||||
int counter = 0;
|
int counter = 0; // Počet prijatých študentov
|
||||||
int a = 0;
|
int a = 0; // Počet prihlášok
|
||||||
|
|
||||||
memset(base, 0, sizeof(base));
|
memset(base, 0, sizeof(base)); // Nulovanie dvojrozmerného poľa
|
||||||
memset(string, 0, 30);
|
memset(string, 0, 30);
|
||||||
|
|
||||||
char *r;
|
char *r;
|
||||||
r = fgets(string, 1000, stdin);
|
r = fgets(string, 1000, stdin); // Načítanie prvého riadku zo štandardného vstupu
|
||||||
if (r == NULL)
|
if (r == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
sscanf(string, "%d", &counter);
|
sscanf(string, "%d", &counter); // Načítanie počtu prijatých študentov
|
||||||
|
|
||||||
if(strlen(r) == 1 || counter < 1) {
|
if(strlen(r) == 1 || counter < 1) { // Kontrola správnosti vstupu
|
||||||
puts("Nespravny vstup");
|
puts("Nespravny vstup");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int b = 0; b < 30; b++) {
|
for (int b = 0; b < 30; b++) { // Skontrolujte, či prvý riadok obsahuje nejaké abecedné znaky
|
||||||
if (isalpha(r[b])) {
|
if (isalpha(r[b])) { // Ak je písmeno, nastavíme stop na 1
|
||||||
stop = 1;
|
stop = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stop != 0) {
|
if (stop != 0) { // Ak bol zistený neplatný vstup, vypíšeme chybu a ukončíme program
|
||||||
puts("Nespravny vstup");
|
puts("Nespravny vstup");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
while (strlen(r) > 1) {
|
while (strlen(r) > 1) { // Načítavanie prihlášok zo štandardného vstupu
|
||||||
memset(string, 0, 30);
|
memset(string, 0, 30);
|
||||||
r = fgets(string, 30, stdin);
|
r = fgets(string, 30, stdin); // Načítanie ďalšieho riadku zo štandardného vstupu
|
||||||
if (r == NULL)
|
if (r == NULL)
|
||||||
break;
|
break;
|
||||||
stop = 0;
|
stop = 0;
|
||||||
for (int c = 0; c < 200; c++) {
|
for (int c = 0; c < 200; c++) { // Kontrola, či prihláška už nie je v zozname
|
||||||
|
|
||||||
if (strcmp(base[c], string) == 0) {
|
if (strcmp(base[c], string) == 0) { // Ak je, nastavíme stop na 1 a ukončíme cyklus
|
||||||
stop = 1;
|
stop = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stop == 0 && strlen(r) > 1) {
|
if (stop == 0 && strlen(r) > 1) { // Ak prihláška nie je v zozname a nie je prázdna, uložíme ju do poľa
|
||||||
strcpy(base[a], r);
|
strcpy(base[a], r);
|
||||||
a++;
|
a++;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (a == 0) {
|
if (a == 0) { // ak je základné pole prázdne, vypíše chybové hlásenie a vráti 0
|
||||||
puts("Ziadne prihlasky");
|
puts("Ziadne prihlasky");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int d = 0; d < a; d++) {
|
for (int d = 0; d < a; d++) { // Zoradiť základné pole abecedne
|
||||||
for (int f = 0; f < a; f++) {
|
for (int f = 0; f < a; f++) {
|
||||||
if (strcmp(base[d], base[f]) < 0) {
|
if (strcmp(base[d], base[f]) < 0) {
|
||||||
char buffer[30];
|
char buffer[30];
|
||||||
@ -78,7 +78,7 @@ int main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
puts("Prijati studenti:");
|
puts("Prijati studenti:"); // vytlačí prijatých študentov a ak sa dosiahne hodnota počítadla
|
||||||
|
|
||||||
for (int j = 0; j < a; j++) {
|
for (int j = 0; j < a; j++) {
|
||||||
if (j == counter) {
|
if (j == counter) {
|
||||||
@ -87,4 +87,4 @@ int main() {
|
|||||||
printf("%s", base[j]);
|
printf("%s", base[j]);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
} //Тайвань крутышка ))
|
||||||
Loading…
Reference in New Issue
Block a user