הפלט הסופי
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C של Coddy. שיעור 24 מתוך 63.
אתגר
קלהשלם את תוכנית כלי הטקסט שלך על ידי שילוב כל התכונות שבנית בשיעורים הקודמים לפלט אחד מקיף. התוכנית שלך צריכה:
- לבקש מהמשתמש להזין משפט קצר באמצעות הדפסה של:
Enter a sentence:(ללא ירידת שורה בסוף: השתמש ב-printf("Enter a sentence: "), ולא ב-printf("Enter a sentence: \n")) - להכריז על מערך תווים בשם
sentenceובו 200 איברים, כדי לאחסן את הקלט - להשתמש ב-
scanfעם מציין הפורמט%sכדי לקרוא מילה אחת מהמשתמש - לאחסן את המילה המקורית במערך תווים נפרד לצורך הצגתה
- לחשב את מספר התווים הכולל באמצעות
strlen() - לספור את התנועות על ידי מעבר על כל תו ובדיקה אם הוא תואם לאחת התנועות (a, e, i, o, u), באותיות קטנות ובאותיות גדולות
- להמיר את המילה לאותיות גדולות באמצעות הפונקציה
toupper()בתוך לולאה - להציג את כל התוצאות בפורמט מסודר וברור, כאשר כל פריט מידע מופיע בשורה נפרדת
זכור לכלול את הכותרת <string.h> עבור פונקציות מחרוזת ואת הכותרת <ctype.h> עבור פונקציות להמרת תווים.
הפלט שלך צריך להציג את כל התוצאות בפורמט המדויק הבא:
Enter a sentence: Original: [word]
Characters: [count]
Vowels: [count]
Uppercase: [WORD]חשוב: אסור שיופיע מעבר שורה אחרי ההנחיה Enter a sentence: . המילה Original: מופיעה באותה שורה מיד לאחר קריאת הקלט.
לדוגמה, אם הקלט הוא:
Helloהפלט שלך צריך להיות:
Enter a sentence: Original: Hello
Characters: 5
Vowels: 2
Uppercase: HELLOהאתגר המסכם הזה משלב את כל תכונות עיבוד הטקסט שפיתחת לאורך הפרויקט: טיפול בקלט, ספירת תווים באמצעות strlen(), ספירת תנועות באמצעות לולאות והוראות תנאי, והמרה לאותיות גדולות באמצעות toupper(). התוכנית צריכה להציג סיכום ברור ומסודר של תוצאות ניתוח הטקסט.
נסו בעצמכם
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char sentence[200];
printf("Enter a sentence: ");
scanf("%s", sentence);
printf("You entered: %s\n", sentence);
int length = strlen(sentence);
printf("Character count: %d\n", length);
printf("Length: %d\n", length);
int vowel_count = 0;
for (int i = 0; i < length; i++) {
char c = sentence[i];
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||
c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U') {
vowel_count++;
}
}
printf("Vowel count: %d\n", vowel_count);
printf("Uppercase: ");
for (int i = 0; i < length; i++) {
printf("%c", toupper(sentence[i]));
}
printf("\n");
return 0;
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1יסודות המצביעים
מהו מצביע?הכרזה על מצביעיםאופרטור לקיחת הכתובת (&)אופרטור ביטול ההפניה (*)מצביעי NULLסיכום: יסודות המצביעים2מצביעים ומערכים
שמות מערכים כמצביעיםאיברי מערך ומצביעיםאריתמטיקה של מצביעיםהשוואת מצביעיםסיכום: מעבר על מערך באמצעות מצביעים5מצביעים ופונקציות
העברה לפי ערךהעברת מצביעים לפונקציותשינוי משתנים באמצעות מצביעיםדוגמה קלאסית: החלפההעברת מערכים לפונקציותחזרה: ארגומנטים של מצביעי פונקציה3מערכי תווים ומחרוזות
מחרוזות כמערכי charתו הסיום nullקלט מחרוזת באמצעות scanfשימוש ב־strlen()שימוש ב־strcpy()שימוש ב־strcat()שימוש ב־strcmp()סיכום: פונקציות מחרוזת בסיסיותתרגלו בעצמכם: קומפיילר C אונליין