Kontrollieren



  • Scheiße wird übrigens auch nach neuer Rechtschreibung mit "ß" geschrieben (wegen des langen Vokals davor)! Mich würdest du mit dem Programm also nicht erwischen! 😃

    EDIT: Womit kann man denn einen String in einem String suchen? War das nicht strstr()? Auf jeden Fall kannst du das VIEL einfacher haben... 🙂



  • _matze schrieb:

    Scheiße wird übrigens auch nach neuer Rechtschreibung mit "ß" geschrieben (wegen des langen Vokals davor)! Mich würdest du mit dem Programm also nicht erwischen! 😃

    EDIT: Womit kann man denn einen String in einem String suchen? War das nicht strstr()? Auf jeden Fall kannst du das VIEL einfacher haben... 🙂

    Wahrscheinlich aber ich habe es so gemacht und das mit dem 'ß' ist nur halb so schlimm



  • Hier, ist wirklich einfacher und dein Code schrumpft merklich:

    http://msdn.microsoft.com/de-de/library/z9da80kz(VS.80).aspx



  • Danke, aber in der Aufgabenstellung heisste es, dass ich jeden Buchstaben einzeln testen muss...S?c?h?e?i?s?s?e? und nicht einfach ganze wörter...aber danke ich werde es mir merken....👍



  • master od desaster schrieb:

    Danke, aber in der Aufgabenstellung heisste es, dass ich jeden Buchstaben einzeln testen muss...S?c?h?e?i?s?s?e? und nicht einfach ganze wörter...aber danke ich werde es mir merken....👍

    Oh, schade. Ich wollte dir gerade sagen, dass, wenn du sowieso schon den string-Header einbindest, du auch std::string und die find-Methode nehmen kannst... Seltsame Aufgabenstellung... 🙄



  • _matze schrieb:

    master od desaster schrieb:

    Danke, aber in der Aufgabenstellung heisste es, dass ich jeden Buchstaben einzeln testen muss...S?c?h?e?i?s?s?e? und nicht einfach ganze wörter...aber danke ich werde es mir merken....👍

    Oh, schade. Ich wollte dir gerade sagen, dass, wenn du sowieso schon den string-Header einbindest, du auch std::string und die find-Methode nehmen kannst... Seltsame Aufgabenstellung... 🙄

    Die aufgabenstellung ist so weil ich gerade dabei bin Programmiernen zu lernen...Und so sieht man wie es gehen würde, denke ich...



  • So hab mich jetzt registriert....

    08mmarte alias mαster od desαster



  • 08mmarte schrieb:

    So hab mich jetzt registriert....

    08mmarte alias mαster od desαster

    Sehr gut! 👍

    Die "Aufgabe" hast du dir also selbst gestellt, um die Basics zu lernen? Hmm, ich würde es eher so sehen, dass char-Arrays und strstr da abgebracht wären und mit std::string und find weitergemacht werden sollte, aber na ja... 🙂 Du kannst ja mal alle Methoden ausprobieren...



  • Werde ich machen sobald ich mich genügend auskenne



  • Hallo,

    _matze schrieb:

    Hmm, ich würde es eher so sehen, dass char-Arrays und strstr da abgebracht wären und mit std::string und find weitergemacht werden sollte, aber na ja..

    Aber doch nicht, wenn er C lernen will, wir sind schliesslich im ANSI-C-Forum 😉

    MfG,

    Probe-Nutzer



  • 08mmarte schrieb:

    Werde ich machen sobald ich mich genügend auskenne

    Ok, viel Erfolg! Und immer schön am Ball bleiben! 🙂



  • Wenn wir schon dabei sind...
    Ich habe hier ein kleineres Notenprogramm zuschreiben versucht...
    komme leider mit dem Gruppendurchschnitt nicht so zurecht wie ich gedacht habe...

    #include "stdafx.h"
    #include "stdlib.h"
    #include "string.h"
    #include <ctype.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int i, j, l = 1, k = 1; 
    	double Noten [4][4];
    
    	printf ("\nBitte Noten eingeben: ");
    
    		for (j = 0; j < 4; j++)
    		{
    			printf ("\nGruppe %d\n",l);
    			for (i = 0; i <  4; i++)
    			{
    			scanf ("%d", &Noten[i][j]);
    			}
    
    			l++;
    		}
    
    		printf ("\Statistik:\n");
    		for (j = 0; j < 4; j++)
    		{
    
    			printf ("\nGruppe %d:\n",k);
    			printf ("\nKleinster Wert    : ");
    			printf ("\nDurchschnitts Wert: %i", (Noten[j-3][1] + Noten[j-2][2] + Noten[j-1][3] + Noten[j][4])/4);
    			printf ("\nGr\x94sster Wert     : ");
    			printf ("\n");
    			k++;
    		}
    	return 0;
    }
    

    Ich schaffe es nicht, dass es mir den richtigen Durchschnitt anzeigt..

    mfg 08mmarte



  • Probe-Nutzer schrieb:

    Hallo,

    _matze schrieb:

    Hmm, ich würde es eher so sehen, dass char-Arrays und strstr da abgebracht wären und mit std::string und find weitergemacht werden sollte, aber na ja..

    Aber doch nicht, wenn er C lernen will, wir sind schliesslich im ANSI-C-Forum 😉

    MfG,

    Probe-Nutzer

    Upps! Hast ja Recht... 🤡



  • Ok, da ist ein ganzer Haufen von Fehlern drin! Ein paar Tipps:

    - Du legst ein double Array an (Noten), willst dann aber per scanf int Variablen ("%d") einlesen.

    - Das erste Element eines Arrays hat den Index 0, nicht 1!

    - In deiner letzten Schleife hat j im ersten Durchlauf den Wert 0. Du versuchst u.a., auf Noten[j-3][1] zuzugreifen. Wo willst du da lesen? Das ist im Speicher vor deinem Array, da darfst du nicht lesen!

    - Du rückst nicht richtig ein!

    Und der wichtigste Tipp: Benutze den Debugger! Nur so findest du schnell Fehler.



  • #include "stdafx.h"
    #include "stdlib.h"
    #include "string.h"
    #include "ctype.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int i, j, l = 1, k = 1, m; 
    	double Noten [5][4];
    	printf ("\nBitte Noten eingeben: ");
    
    		for (j = 0; j < 4; j++)
    			{
    				printf ("\nGruppe %d\n",l);
    					for (i = 0; i <  5; i++)
    						{
    							scanf ("%s", &Noten[i][j]);
    						}
    				l++;
    			}
    
    	printf ("\nStatistik:\n");
    		for (m = 0; m < 4; m++)
    			{
    
    				printf ("\nGruppe %d:\n",k);
    				printf ("\nKleinster Wert    : ");
    				printf ("\nDurchschnitts Wert: %i", (Noten[1][m+1] + Noten[2][m+1] + Noten[3][m+1] + Noten[4][m+1] + Noten[5][m+1])/5);
    				printf ("\nGr\x94sster Wert     : ");
    				printf ("\n");
    				k++;
    			}
    	return 0;
    }
    

    Hab mal das probiert wil aber auch nicht funktionieren....



  • Das ist nicht dein Ernst, oder?



  • wieso??...so krasse fehler??? 😞 ....sorry

    Der gedankenblitz will bei mir einfach nicht kommen...



  • - Warum versuchst du jetzt, mit scanf einen String ("%s") einzulesen? Lies die Doku, dann siehst du ganz schnell, wie du floats/doubles einlesen kannst.

    - Willst du wirklich den Durchschnitt von 4 Werten berechnen, indem du die Summe durch 5 teilst?

    - Beim Durchschnitt: nicht [1][m+1] usw., sondern [m][0] bis [m][3].



  • _matze schrieb:

    - Warum versuchst du jetzt, mit scanf einen String ("%s") einzulesen? Lies die Doku, dann siehst du ganz schnell, wie du floats/doubles einlesen kannst.

    - Willst du wirklich den Durchschnitt von 4 Werten berechnen, indem du die Summe durch 5 teilst?

    - Beim Durchschnitt: nicht [1][m+1] usw., sondern [m][0] bis [m][3].

    - Doku werde ich sofort lesen

    - Es sind fünf Werte, habe ausversehen zuwenige grnommen, nicht vier

    - Habe ich schon erledigt....

    mfg 08mmarte




Anmelden zum Antworten