Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef COD_H_INCLUDED
- #define COD_H_INCLUDED
- /// 1
- void VerificareLitera() {
- char c;
- printf("c = ");
- c = getchar();
- if(c >= 'A' && c <= 'Z')
- c -= ('A' - 'a');
- printf("%c\n", c);
- }
- /// 2
- void Operatie() {
- int a, b, rez, er = 0;
- char op;
- printf("operatie: ");
- scanf("%d %c %d", &a, &op, &b);
- //printf("\n%d %c %d", a, op, b);
- switch(op) {
- case '+': rez = a + b; break;
- case '-': rez = a - b; break;
- case '*': rez = a * b; break;
- case '/':
- if(a == 0) er = 1;
- else rez = a / b;
- break;
- case '%': rez = a % b; break;
- default: break;
- }
- if(er) printf("a trebuie sa fie nenul!\n");
- else printf("%d\n", rez);
- }
- /// 3
- /// A
- struct Candidat {
- int nr_legitimatie;
- char nume[64];
- int nota_mate, nota_info, nota_bac;
- double medie;
- char admis, buget;
- };
- /// B
- #define MedieAdmitere(nota_mate, nota_info, nota_bac) ((nota_mate + nota_info) * 0.4 + nota_bac * 0.2)
- /// C
- #define PragPromovabilitate 5
- /// D
- struct Candidat C[100];
- int n, neadmisi = 0;
- void AfisareCandidati() {
- int i;
- printf("\n");
- for(i = 0; i < n; i++) {
- printf("%d\t", C[i].nr_legitimatie);
- printf("%s\t", C[i].nume, 64, stdin);
- printf("%d %d %d\n", C[i].nota_mate, C[i].nota_info, C[i].nota_bac);
- }
- }
- void SwapCandidati(struct Candidat *a, struct Candidat *b) {
- struct Candidat aux;
- aux = *a;
- *a = *b;
- *b = aux;
- }
- void SortareCandidati(int dupaNume) {
- int i, j;
- for(i = 0; i < n - 1; i++) {
- for(j = i + 1; j < n; j++) {
- if((dupaNume && (strcmp(C[i].nume, C[j].nume) >= 0)) ||
- (!dupaNume && (C[i].medie < C[j].medie)))
- SwapCandidati(&C[i], &C[j]);
- }
- }
- }
- void CitireCandidati() {
- int i;
- printf("n = "); scanf("%d", &n);
- for(i = 0; i < n; i++) {
- printf("Numar legitimatie: ");
- scanf("%d", &C[i].nr_legitimatie);
- getchar();
- printf("Nume: ");
- fgets(C[i].nume, 64, stdin);
- C[i].nume[ strlen(C[i].nume) - 1 ] = '\0';
- printf("Nota mate: ");
- scanf("%d", &C[i].nota_mate);
- printf("Nota info: ");
- scanf("%d", &C[i].nota_info);
- printf("Nota bac: ");
- scanf("%d", &C[i].nota_bac);
- C[i].medie = MedieAdmitere(nota_mate, nota_info, nota_bac);
- C[i].admis = (medie > PragPromovabilitate) ? "Y" : "N";
- if(C[i].admis == "N") neadmisi++;
- }
- //AfisareCandidati();
- SortareCandidati(1);
- AfisareCandidati();
- }
- /// E
- void CompletareBuget() {
- int i;
- int bugetari = (n - neadmisi) * 3 / 4;
- SortareCandidati(0);
- for(i = 0; i < n; i++) {
- if(i < bugetari)
- C[i].buget = "Y";
- else if(C[i].admis == "Y")
- C[i].buget = "N";
- }
- SortareCandidati(1);
- AfisareCandidati();
- }
- /// F
- void AfisareCandidati2(int optiune) {
- int i, j;
- switch(optiune) {
- case 1:
- SortareCandidati(1);
- break;
- case 2:
- for(i = 0; i < n; i++)
- for(j = i + 1; j < n; j++)
- if(C[i].buget == "Y") {
- printf("%d\t", C[i].nr_legitimatie);
- printf("%s\t", C[i].nume, 64, stdin);
- printf("%d %d %d\n", C[i].nota_mate, C[i].nota_info, C[i].nota_bac);
- }
- break;
- case 3:
- for(i = 0; i < n; i++)
- for(j = i + 1; j < n; j++)
- if(C[i].buget == "N") {
- printf("%d\t", C[i].nr_legitimatie);
- printf("%s\t", C[i].nume, 64, stdin);
- printf("%d %d %d\n", C[i].nota_mate, C[i].nota_info, C[i].nota_bac);
- }
- break;
- case 4:
- SortareCandidati(0);
- for(i = 0; i < n; i++)
- for(j = i + 1; j < n; j++)
- if(C[i].admis == "N") {
- printf("%d\t", C[i].nr_legitimatie);
- printf("%s\t", C[i].nume, 64, stdin);
- printf("%d %d %d\n", C[i].nota_mate, C[i].nota_info, C[i].nota_bac);
- }
- break;
- default: break;
- }
- }
- /// 4
- #endif // COD_H_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement