fork download
  1. #include <stdio.h>
  2. #pragma warning(disable : 4996)
  3. const int MAXSTR = 10; // Stringlaenge
  4.  
  5. // 2. Funktionsprototyping
  6. void begruessung(void);
  7. void ausgabe(int);
  8. int verarbeitung(char []);
  9. void eingabe(char[], int);
  10.  
  11. int main(void)
  12. {
  13. char str[MAXSTR];
  14. const char str2[] = "Teststring"; // in C: 0-terminierter String
  15. int i = 0; // Laufvariable
  16. int anzZahlen = 0;
  17. int anzGrossBuchstaben = 0;
  18.  
  19. begruessung(); // 1. Funktionsaufruf
  20. eingabe(str, MAXSTR);
  21. anzZahlen = verarbeitung(str); // 1. Funktionsaufruf mit Rückgabewert
  22. ausgabe(anzZahlen); // 1. Funktionsaufruf mit Parameter
  23. ausgabe(10); // bei cbv auch eine Konstante als Übergabeparameter
  24.  
  25. fflush(stdin); // Tastaturpuffer löschen
  26. getchar(); // Warte auf Enter-Taste
  27. }
  28.  
  29. // 3. Funktionsdefinition
  30. void begruessung(void)
  31. {
  32. printf("\t\tWORD COUNT PROGRAMM Version 0.0\n");
  33. printf("\tZaehlt die Anzanl der Zahlen\n\n");
  34. }
  35.  
  36. void ausgabe(int aus) // Prameterübergabe: call by value (cbv)
  37. {
  38. printf("Anzahl Zahlen= %d\n", aus);
  39. }
  40.  
  41. int verarbeitung(char str[])
  42. {
  43. int i = 0;
  44. int anzZahlen = 0;
  45.  
  46. // siehe ASCII-Tabelle: https://d...content-available-to-author-only...a.org/wiki/American_Standard_Code_for_Information_Interchange#ASCII-Tabelle
  47. while (str[i] != 0) // Integer 0 entspricht char '\0'
  48. {
  49. //if (str[i] >= '0' && str[i] <= '9') // Zeichen aus ASCII-Tabelle
  50. //if (str[i] >= 48 && str[i] <= 57) // Dezimale-Werte aus ASCII-Tabelle
  51. //if (str[i] >= 060 && str[i] <= 071) // Oktal-Werte mit führender 0
  52. if (str[i] >= 0x30 && str[i] <= 0x39) // Hex-Werte
  53. anzZahlen++;
  54. i++; // Laufvariable erhöhen
  55. }
  56. return anzZahlen;
  57. }
  58.  
  59. void eingabe(char feld[], int max)
  60. {
  61. printf("Geben Sie einen String ein: ");
  62. //scanf("%s", feld);
  63. fgets(feld, max, stdin);
  64. }
Success #stdin #stdout 0s 9432KB
stdin
1223
stdout
		WORD COUNT PROGRAMM Version 0.0
	Zaehlt die Anzanl der Zahlen

Geben Sie einen String ein: Anzahl Zahlen= 4
Anzahl Zahlen= 10