Huu hapa ni programu ya C inayokidhi mahitaji uliyotoa:

Computer Science

ScanSolve AI Answer

Huu hapa ni programu ya C inayokidhi mahitaji uliyotoa:

#include <stdio.h> // Inajumuisha maktaba ya kawaida ya I/O kwa kazi kama printf na scanf

int main() {
    int mark;   // Kigezo cha kuhifadhi alama ya mwanafunzi
    char grade; // Kigezo cha kuhifadhi daraja lililopewa

    // Hatua ya 1: Kuomba na kusoma alama ya mwanafunzi
    printf("Ingiza alama ya mwanafunzi (0-100): ");
    scanf("%d", &mark);

    // Hatua ya 2: Kushughulikia ingizo batili (alama chini ya 0 au zaidi ya 100)
    if (mark < 0 || mark > 100) {
        printf("Kosa: Alama batili. Tafadhali ingiza alama kati ya 0 na 100.\n");
        return 1; // Toka na msimbo wa kosa
    }

    // Hatua ya 3: Kutumia muundo wa udhibiti wa switch-case kugawa daraja
    // Tunatumia mark / 10 ili kurahisisha kesi za switch kwa safu za alama.
    switch (mark / 10) {
        case 10: // Kwa alama 100
        case 9:  // Kwa alama 90-99
            grade = 'A';
            break;
        case 8:  // Kwa alama 80-89
            grade = 'B';
            break;
        case 7:  // Kwa alama 70-79
            grade = 'C';
            break;
        case 6:  // Kwa alama 60-69
            grade = 'D';
            break;
        default: // Kwa alama chini ya 60 (0-59)
            grade = 'F';
            break;
    }

    // Hatua ya 4: Kuchapisha daraja lililopatikana
    printf("Daraja la mwanafunzi ni: %c\n", grade);

    return 0; // Toka kwa mafanikio
}

Maelezo ya Programu:

  • #include <stdio.h>: Hii inajumuisha maktaba ya kawaida ya I/O (Input/Output) ambayo inatoa kazi kama printf() kwa kuchapisha matokeo na scanf() kwa kusoma ingizo kutoka kwa mtumiaji.
  • int main(): Hii ndiyo kazi kuu ambapo utekelezaji wa programu huanza.
  • int mark; char grade;: Hapa tunatangaza vigezo viwili: mark (alama) ya aina ya int (nambari kamili) na grade (daraja) ya aina ya char (herufi).
  • printf("Ingiza alama ya mwanafunzi (0-100): ");: Huu mstari unamwomba mtumiaji kuingiza alama.
  • scanf("%d", &mark);: Huu mstari unasoma nambari kamili iliyoingizwa na mtumiaji na kuihifadhi kwenye kigezo mark.
  • if (mark < 0 || mark > 100): Hii ni kauli ya if inayochunguza kama alama iliyoingizwa ni batili (chini ya 0 au zaidi ya 100). Ikiwa ni batili, inachapisha ujumbe wa kosa na programu inatoka.
  • switch (mark / 10): Hapa tunatumia kauli ya switch. Ili kushughulikia safu za alama, tunagawanya mark kwa 10. Kwa mfano, alama 95 inakuwa 9, alama 82 inakuwa 8, n.k.
    • case 10: case 9:: Hizi kesi zinashughulikia alama 90-100 (ambapo mark / 10 itakuwa 9 au 10), zikiwapa daraja 'A'.
    • case 8:: Inashughulikia alama 80-89, ikitoa daraja 'B'.
    • case 7:: Inashughulikia alama 70-79, ikitoa daraja 'C'.
    • case 6:: Inashughulikia alama 60-69, ikitoa daraja 'D'.
    • default:: Hii inashughulikia kesi zote zilizobaki (alama chini ya 60), ikitoa daraja 'F'.
    • break;: Inatumika kutoka kwenye kauli ya switch baada ya kesi inayolingana kupatikana.
  • printf("Daraja la mwanafunzi ni: %c\n", grade);: Huu mstari unachapisha daraja la mwisho lililopewa.
  • return 0;: Inaashiria kwamba programu imetekelezwa kwa mafanikio.
#include <stdio.h>

int main() {
    int mark;
    char grade;

    printf("Ingiza alama ya mwanafunzi (0-100): ");
    scanf("%d", &mark);

    if (mark < 0 || mark > 100) {
        printf("Kosa: Alama batili. Tafadhali ingiza alama kati ya 0 na 100.\n");
        return 1;
    }

    switch (mark / 10) {
        case 10:
        case 9:
            grade = 'A';
            break;
        case 8:
            grade = 'B';
            break;
        case 7:
            grade = 'C';
            break;
        case 6:
            grade = 'D';
            break;
        default:
            grade = 'F';
            break;
    }

    printf("Daraja la mwanafunzi ni: %c\n", grade);

    return 0;
}
Was this helpful?

Still stuck on this one?

Ask a follow-up, and the answer starts from this question.

Got a different question?Ask your own question